From f72701337385080bb36e47da7f2929b08fa7cfff Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Tue, 4 Feb 2025 18:10:24 +0000 Subject: [PATCH] Solidified Code updated --- .../berry_animate/solidified_animate_0.h | 7 + .../berry_animate/solidified_animate_1_core.h | 825 + .../solidified_animate_2_animate_effects.h | 785 + .../solidified_animate_9_module.h | 1496 ++ .../solidified_leds_frame_be_methods.h | 178 + .../solidified_Matter_0_Inspect.h | 495 + .../berry_matter/solidified_Matter_Base38.h | 145 + .../solidified_Matter_Commissioning_Context.h | 1845 +++ .../solidified_Matter_Commissioning_Data.h | 829 + .../solidified_Matter_Control_Message.h | 215 + .../solidified_Matter_EventHandler.h | 1158 ++ .../solidified_Matter_Expirable.h | 734 + .../berry_matter/solidified_Matter_Fabric.h | 1852 +++ .../solidified_Matter_HTTP_async.h | 1096 ++ .../solidified_Matter_HTTP_remote.h | 1261 ++ .../berry_matter/solidified_Matter_IM.h | 3196 ++++ .../berry_matter/solidified_Matter_IM_Data.h | 3631 +++++ .../solidified_Matter_IM_Message.h | 1904 +++ .../solidified_Matter_IM_Subscription.h | 1039 ++ .../berry_matter/solidified_Matter_Message.h | 1152 ++ .../solidified_Matter_MessageHandler.h | 712 + .../berry_matter/solidified_Matter_Module.h | 90 + .../berry_matter/solidified_Matter_Path_0.h | 248 + .../solidified_Matter_Path_1_EventGenerator.h | 328 + .../solidified_Matter_Path_1_PathGenerator.h | 688 + .../berry_matter/solidified_Matter_Plugin_0.h | 1451 ++ .../solidified_Matter_Plugin_1_Aggregator.h | 220 + .../solidified_Matter_Plugin_1_Device.h | 1541 ++ .../solidified_Matter_Plugin_1_Root.h | 2164 +++ .../solidified_Matter_Plugin_2_Fan.h | 493 + .../solidified_Matter_Plugin_2_Light0.h | 757 + .../solidified_Matter_Plugin_2_Sensor.h | 410 + ...ified_Matter_Plugin_2_Sensor_Air_Quality.h | 840 + ...olidified_Matter_Plugin_2_Sensor_Boolean.h | 339 + ...Matter_Plugin_2_Sensor_GenericSwitch_Btn.h | 407 + .../solidified_Matter_Plugin_2_Shutter.h | 662 + .../solidified_Matter_Plugin_3_Light1.h | 830 + .../solidified_Matter_Plugin_3_OnOff.h | 29 + ...olidified_Matter_Plugin_3_Sensor_Contact.h | 229 + .../solidified_Matter_Plugin_3_Sensor_Flow.h | 230 + ...lidified_Matter_Plugin_3_Sensor_Humidity.h | 238 + ...ified_Matter_Plugin_3_Sensor_Illuminance.h | 239 + ...idified_Matter_Plugin_3_Sensor_Occupancy.h | 249 + .../solidified_Matter_Plugin_3_Sensor_OnOff.h | 170 + ...lidified_Matter_Plugin_3_Sensor_Pressure.h | 229 + .../solidified_Matter_Plugin_3_Sensor_Rain.h | 229 + .../solidified_Matter_Plugin_3_Sensor_Temp.h | 274 + ...idified_Matter_Plugin_3_Sensor_Waterleak.h | 229 + .../solidified_Matter_Plugin_3_ShutterTilt.h | 435 + .../solidified_Matter_Plugin_4_Light2.h | 699 + .../solidified_Matter_Plugin_4_Light3.h | 954 ++ ...solidified_Matter_Plugin_8_Bridge_Light0.h | 25 + ...solidified_Matter_Plugin_8_Bridge_Light1.h | 55 + ...solidified_Matter_Plugin_8_Bridge_Light2.h | 55 + ...solidified_Matter_Plugin_8_Bridge_Light3.h | 55 + .../solidified_Matter_Plugin_8_Bridge_OnOff.h | 75 + ...atter_Plugin_8_Bridge_Sensor_Air_Quality.h | 26 + ...ed_Matter_Plugin_8_Bridge_Sensor_Contact.h | 26 + ...ified_Matter_Plugin_8_Bridge_Sensor_Flow.h | 24 + ...d_Matter_Plugin_8_Bridge_Sensor_Humidity.h | 24 + ...atter_Plugin_8_Bridge_Sensor_Illuminance.h | 24 + ..._Matter_Plugin_8_Bridge_Sensor_Occupancy.h | 26 + ...d_Matter_Plugin_8_Bridge_Sensor_Pressure.h | 24 + ...ified_Matter_Plugin_8_Bridge_Sensor_Rain.h | 26 + ...ified_Matter_Plugin_8_Bridge_Sensor_Temp.h | 24 + ..._Matter_Plugin_8_Bridge_Sensor_Waterleak.h | 26 + .../solidified_Matter_Plugin_9_Virt_Fan.h | 27 + .../solidified_Matter_Plugin_9_Virt_Light0.h | 27 + .../solidified_Matter_Plugin_9_Virt_Light1.h | 27 + .../solidified_Matter_Plugin_9_Virt_Light2.h | 27 + .../solidified_Matter_Plugin_9_Virt_Light3.h | 27 + .../solidified_Matter_Plugin_9_Virt_OnOff.h | 27 + ..._Matter_Plugin_9_Virt_Sensor_Air_Quality.h | 27 + ...fied_Matter_Plugin_9_Virt_Sensor_Contact.h | 27 + ...idified_Matter_Plugin_9_Virt_Sensor_Flow.h | 27 + ...ied_Matter_Plugin_9_Virt_Sensor_Humidity.h | 27 + ..._Matter_Plugin_9_Virt_Sensor_Illuminance.h | 27 + ...ed_Matter_Plugin_9_Virt_Sensor_Occupancy.h | 27 + ...ied_Matter_Plugin_9_Virt_Sensor_Pressure.h | 27 + ...idified_Matter_Plugin_9_Virt_Sensor_Rain.h | 27 + ...idified_Matter_Plugin_9_Virt_Sensor_Temp.h | 27 + ...ed_Matter_Plugin_9_Virt_Sensor_Waterleak.h | 27 + ...lidified_Matter_Plugin_9_Zigbee_Humidity.h | 58 + ...solidified_Matter_Plugin_9_Zigbee_Light0.h | 58 + ...solidified_Matter_Plugin_9_Zigbee_Light1.h | 57 + ...solidified_Matter_Plugin_9_Zigbee_Light2.h | 57 + ...idified_Matter_Plugin_9_Zigbee_Occupancy.h | 58 + ...lidified_Matter_Plugin_9_Zigbee_Pressure.h | 58 + ...ified_Matter_Plugin_9_Zigbee_Temperature.h | 58 + .../solidified_Matter_Plugin_z_All.h | 7 + .../berry_matter/solidified_Matter_Profiler.h | 295 + .../berry_matter/solidified_Matter_Session.h | 1792 ++ .../solidified_Matter_Session_Store.h | 1305 ++ .../solidified_Matter_TCP_async.h | 841 + .../berry_matter/solidified_Matter_TLV.h | 3467 ++++ .../solidified_Matter_UDPServer.h | 820 + .../berry_matter/solidified_Matter_UI.h | 3182 ++++ .../solidified_Matter_z_Autoconf.h | 728 + .../solidified_Matter_z_Commissioning.h | 1973 +++ .../berry_matter/solidified_Matter_z_Zigbee.h | 537 + .../solidified_Matter_zz_Device.h | 3452 ++++ .../solidified_Matter_zzz_TLV_test.h | 7 + .../solidify/berry_matter/solidified_matter.h | 7 + .../berry_tasmota/solidified_AXP192.h | 923 ++ .../berry_tasmota/solidified_AXP202.h | 853 + .../berry_tasmota/solidified_AXP2102.h | 878 + .../solidify/berry_tasmota/solidified_Wire.h | 105 + .../solidified_autoconf_module.h | 1357 ++ .../solidified_crypto_pbkdf2_hmac_sha256.h | 203 + .../solidified_crypto_spake2p_matter.h | 638 + .../berry_tasmota/solidified_driver_class.h | 96 + .../solidify/berry_tasmota/solidified_dyn.h | 149 + .../berry_tasmota/solidified_energy.h | 749 + .../berry_tasmota/solidified_hue_bridge.h | 674 + .../berry_tasmota/solidified_i2c_driver.h | 564 + .../berry_tasmota/solidified_i2c_ft3663.h | 248 + .../solidify/berry_tasmota/solidified_leds.h | 2384 +++ .../berry_tasmota/solidified_lv_tasmota.h | 531 + .../solidified_lv_tasmota_widgets.h | 1647 ++ .../solidify/berry_tasmota/solidified_mqtt.h | 558 + .../berry_tasmota/solidified_partition_core.h | 2279 +++ .../solidified_partition_core_shelly.h | 7 + .../berry_tasmota/solidified_persist.h | 721 + .../berry_tasmota/solidified_python_compat.h | 59 + .../berry_tasmota/solidified_rule_matcher.h | 1483 ++ .../solidify/berry_tasmota/solidified_tapp.h | 170 + .../berry_tasmota/solidified_tasmota_class.h | 2738 ++++ .../berry_tasmota/solidified_test_crypto.h | 7 + .../berry_tasmota/solidified_trigger_class.h | 203 + .../solidify/berry_tasmota/solidified_uuid.h | 76 + .../solidified_webserver_async.h | 1761 ++ .../berry_tasmota/solidified_zigbee.h | 61 + .../solidified_zigbee_zb_coord.h | 259 + .../solidified_zigbee_zcl_attribute.h | 859 + .../solidified_zigbee_zcl_frame.h | 220 + .../src/solidify/berry_lvgl/solidified_lv.h | 59 + .../berry_lvgl/solidified_lvgl_extra.h | 687 + .../berry_lvgl/solidified_lvgl_glob.h | 1189 ++ .../berry_haspmota/solidified_lv_0_module.h | 7 + .../solidified_lv_1_constants.h | 7 + .../berry_haspmota/solidified_lv_haspmota.h | 13486 ++++++++++++++++ 141 files changed, 99115 insertions(+) create mode 100644 lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_0.h create mode 100644 lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_1_core.h create mode 100644 lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_2_animate_effects.h create mode 100644 lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_9_module.h create mode 100644 lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_leds_frame_be_methods.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_0_Inspect.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Base38.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Context.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Data.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Control_Message.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_EventHandler.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Expirable.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Fabric.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_async.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_remote.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Data.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Message.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Subscription.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Message.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_MessageHandler.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Module.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_EventGenerator.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_PathGenerator.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Aggregator.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Device.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Root.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Fan.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Light0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Air_Quality.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Boolean.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_GenericSwitch_Btn.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Shutter.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Light1.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_OnOff.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Contact.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Flow.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Humidity.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Illuminance.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Occupancy.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_OnOff.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Pressure.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Rain.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Temp.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Waterleak.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_ShutterTilt.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light2.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light3.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light1.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light2.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light3.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_OnOff.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Air_Quality.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Contact.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Flow.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Humidity.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Illuminance.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Occupancy.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Pressure.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Rain.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Temp.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Waterleak.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Fan.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light1.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light2.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light3.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_OnOff.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Air_Quality.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Rain.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Humidity.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light0.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light1.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light2.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Occupancy.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Pressure.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Temperature.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_z_All.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Profiler.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session_Store.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TCP_async.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TLV.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UDPServer.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UI.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Autoconf.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Commissioning.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Zigbee.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zz_Device.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zzz_TLV_test.h create mode 100644 lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_matter.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP192.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP202.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP2102.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_Wire.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_autoconf_module.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_pbkdf2_hmac_sha256.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_spake2p_matter.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_driver_class.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_dyn.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_energy.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_hue_bridge.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_driver.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_ft3663.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_leds.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota_widgets.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_mqtt.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core_shelly.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_persist.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_python_compat.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_rule_matcher.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tapp.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tasmota_class.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_test_crypto.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_trigger_class.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_uuid.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_webserver_async.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zb_coord.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_attribute.h create mode 100644 lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_frame.h create mode 100644 lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lv.h create mode 100644 lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_extra.h create mode 100644 lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_glob.h create mode 100644 lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_0_module.h create mode 100644 lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_1_constants.h create mode 100644 lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_haspmota.h diff --git a/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_0.h b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_0.h new file mode 100644 index 000000000..a0a262928 --- /dev/null +++ b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_0.h @@ -0,0 +1,7 @@ +/* Solidification of animate_0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_1_core.h b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_1_core.h new file mode 100644 index 000000000..eee5e9752 --- /dev/null +++ b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_1_core.h @@ -0,0 +1,825 @@ +/* Solidification of animate_1_core.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Animate_core' ktab size: 52, total: 104 (saved 416 bytes) +static const bvalue be_ktab_class_Animate_core[52] = { + /* K0 */ be_nested_str_weak(stop), + /* K1 */ be_nested_str_weak(strip), + /* K2 */ be_nested_str_weak(clear), + /* K3 */ be_nested_str_weak(set_bri), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(scale_uint), + /* K6 */ be_nested_str_weak(bri), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(painters), + /* K9 */ be_nested_str_weak(remove), + /* K10 */ be_nested_str_weak(find), + /* K11 */ be_nested_str_weak(running), + /* K12 */ be_nested_str_weak(animators), + /* K13 */ be_const_int(1), + /* K14 */ be_nested_str_weak(remove_fast_loop), + /* K15 */ be_nested_str_weak(fast_loop_cb), + /* K16 */ be_nested_str_weak(set_strip_bri), + /* K17 */ be_nested_str_weak(push), + /* K18 */ be_nested_str_weak(time_reached), + /* K19 */ be_nested_str_weak(fast_loop_next), + /* K20 */ be_nested_str_weak(can_show), + /* K21 */ be_nested_str_weak(frame), + /* K22 */ be_nested_str_weak(fill_pixels), + /* K23 */ be_nested_str_weak(back_color), + /* K24 */ be_nested_str_weak(millis), + /* K25 */ be_nested_str_weak(FAST_LOOP_MIN), + /* K26 */ be_nested_str_weak(animate), + /* K27 */ be_nested_str_weak(layer), + /* K28 */ be_const_int(-16777216), + /* K29 */ be_nested_str_weak(paint), + /* K30 */ be_nested_str_weak(blend_pixels), + /* K31 */ be_nested_str_weak(obj), + /* K32 */ be_nested_str_weak(mth), + /* K33 */ be_nested_str_weak(paste_pixels), + /* K34 */ be_nested_str_weak(pixels_buffer), + /* K35 */ be_nested_str_weak(get_bri), + /* K36 */ be_nested_str_weak(get_gamma), + /* K37 */ be_nested_str_weak(dirty), + /* K38 */ be_nested_str_weak(show), + /* K39 */ be_nested_str_weak(global), + /* K40 */ be_nested_str_weak(_cur_anim), + /* K41 */ be_nested_str_weak(pixel_count), + /* K42 */ be_nested_str_weak(set_current), + /* K43 */ be_nested_str_weak(set_cb), + /* K44 */ be_nested_str_weak(set_back_color), + /* K45 */ be_nested_str_weak(add_animator), + /* K46 */ be_nested_str_weak(get_animate), + /* K47 */ be_nested_str_weak(introspect), + /* K48 */ be_nested_str_weak(instance), + /* K49 */ be_nested_str_weak(set_animate), + /* K50 */ be_nested_str_weak(start), + /* K51 */ be_nested_str_weak(add_fast_loop), +}; + + +extern const bclass be_class_Animate_core; + +/******************************************************************** +** Solidified function: clear +********************************************************************/ +be_local_closure(class_Animate_core_clear, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(clear), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040302, // 0003 GETMET R1 R1 K2 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_strip_bri +********************************************************************/ +be_local_closure(class_Animate_core_set_strip_bri, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(set_strip_bri), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040303, // 0001 GETMET R1 R1 K3 + 0xB80E0800, // 0002 GETNGBL R3 K4 + 0x8C0C0705, // 0003 GETMET R3 R3 K5 + 0x88140106, // 0004 GETMBR R5 R0 K6 + 0x58180007, // 0005 LDCONST R6 K7 + 0x541E0063, // 0006 LDINT R7 100 + 0x58200007, // 0007 LDCONST R8 K7 + 0x542600FE, // 0008 LDINT R9 255 + 0x7C0C0C00, // 0009 CALL R3 6 + 0x7C040400, // 000A CALL R1 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_painter +********************************************************************/ +be_local_closure(class_Animate_core_remove_painter, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(remove_painter), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88080108, // 0000 GETMBR R2 R0 K8 + 0x4C0C0000, // 0001 LDNIL R3 + 0x200C0203, // 0002 NE R3 R1 R3 + 0x780E0005, // 0003 JMPF R3 #000A + 0x8C0C0509, // 0004 GETMET R3 R2 K9 + 0x8C14050A, // 0005 GETMET R5 R2 K10 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x7C140400, // 0007 CALL R5 2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x70020001, // 0009 JMP #000C + 0x8C0C0502, // 000A GETMET R3 R2 K2 + 0x7C0C0200, // 000B CALL R3 1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: stop +********************************************************************/ +be_local_closure(class_Animate_core_stop, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(stop), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x90021601, // 0001 SETMBR R0 K11 R1 + 0x8804010C, // 0002 GETMBR R1 R0 K12 + 0x58080007, // 0003 LDCONST R2 K7 + 0x600C000C, // 0004 GETGBL R3 G12 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C0C0200, // 0006 CALL R3 1 + 0x140C0403, // 0007 LT R3 R2 R3 + 0x780E0004, // 0008 JMPF R3 #000E + 0x940C0202, // 0009 GETIDX R3 R1 R2 + 0x8C0C0700, // 000A GETMET R3 R3 K0 + 0x7C0C0200, // 000B CALL R3 1 + 0x0008050D, // 000C ADD R2 R2 K13 + 0x7001FFF5, // 000D JMP #0004 + 0xB80E0800, // 000E GETNGBL R3 K4 + 0x8C0C070E, // 000F GETMET R3 R3 K14 + 0x8814010F, // 0010 GETMBR R5 R0 K15 + 0x7C0C0400, // 0011 CALL R3 2 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bri +********************************************************************/ +be_local_closure(class_Animate_core_get_bri, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(get_bri), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88080106, // 0000 GETMBR R2 R0 K6 + 0x80040400, // 0001 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_bri +********************************************************************/ +be_local_closure(class_Animate_core_set_bri, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(set_bri), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x8C080110, // 0001 GETMET R2 R0 K16 + 0x7C080200, // 0002 CALL R2 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_painter +********************************************************************/ +be_local_closure(class_Animate_core_add_painter, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(add_painter), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080108, // 0000 GETMBR R2 R0 K8 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C080403, // 0005 EQ R2 R2 R3 + 0x780A0003, // 0006 JMPF R2 #000B + 0x88080108, // 0007 GETMBR R2 R0 K8 + 0x8C080511, // 0008 GETMET R2 R2 K17 + 0x5C100200, // 0009 MOVE R4 R1 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fast_loop +********************************************************************/ +be_local_closure(class_Animate_core_fast_loop, /* name */ + be_nested_proto( + 13, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(fast_loop), + &be_const_str_solidified, + ( &(const binstruction[84]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x78060050, // 0001 JMPF R1 #0053 + 0xB8060800, // 0002 GETNGBL R1 K4 + 0x8C040312, // 0003 GETMET R1 R1 K18 + 0x880C0113, // 0004 GETMBR R3 R0 K19 + 0x7C040400, // 0005 CALL R1 2 + 0x7806004B, // 0006 JMPF R1 #0053 + 0x88040101, // 0007 GETMBR R1 R0 K1 + 0x8C040314, // 0008 GETMET R1 R1 K20 + 0x7C040200, // 0009 CALL R1 1 + 0x78060047, // 000A JMPF R1 #0053 + 0x88040115, // 000B GETMBR R1 R0 K21 + 0x8C040316, // 000C GETMET R1 R1 K22 + 0x880C0117, // 000D GETMBR R3 R0 K23 + 0x7C040400, // 000E CALL R1 2 + 0x58040007, // 000F LDCONST R1 K7 + 0xB80A0800, // 0010 GETNGBL R2 K4 + 0x8C080518, // 0011 GETMET R2 R2 K24 + 0x7C080200, // 0012 CALL R2 1 + 0x880C0119, // 0013 GETMBR R3 R0 K25 + 0x000C0403, // 0014 ADD R3 R2 R3 + 0x90022603, // 0015 SETMBR R0 K19 R3 + 0x600C000C, // 0016 GETGBL R3 G12 + 0x8810010C, // 0017 GETMBR R4 R0 K12 + 0x7C0C0200, // 0018 CALL R3 1 + 0x140C0203, // 0019 LT R3 R1 R3 + 0x780E0006, // 001A JMPF R3 #0022 + 0x880C010C, // 001B GETMBR R3 R0 K12 + 0x940C0601, // 001C GETIDX R3 R3 R1 + 0x8C0C071A, // 001D GETMET R3 R3 K26 + 0x5C140400, // 001E MOVE R5 R2 + 0x7C0C0400, // 001F CALL R3 2 + 0x0004030D, // 0020 ADD R1 R1 K13 + 0x7001FFF3, // 0021 JMP #0016 + 0x58040007, // 0022 LDCONST R1 K7 + 0x880C0115, // 0023 GETMBR R3 R0 K21 + 0x8810011B, // 0024 GETMBR R4 R0 K27 + 0x6014000C, // 0025 GETGBL R5 G12 + 0x88180108, // 0026 GETMBR R6 R0 K8 + 0x7C140200, // 0027 CALL R5 1 + 0x14140205, // 0028 LT R5 R1 R5 + 0x7816000D, // 0029 JMPF R5 #0038 + 0x8C140916, // 002A GETMET R5 R4 K22 + 0x581C001C, // 002B LDCONST R7 K28 + 0x7C140400, // 002C CALL R5 2 + 0x88140108, // 002D GETMBR R5 R0 K8 + 0x94140A01, // 002E GETIDX R5 R5 R1 + 0x8C140B1D, // 002F GETMET R5 R5 K29 + 0x5C1C0800, // 0030 MOVE R7 R4 + 0x7C140400, // 0031 CALL R5 2 + 0x78160002, // 0032 JMPF R5 #0036 + 0x8C14071E, // 0033 GETMET R5 R3 K30 + 0x5C1C0800, // 0034 MOVE R7 R4 + 0x7C140400, // 0035 CALL R5 2 + 0x0004030D, // 0036 ADD R1 R1 K13 + 0x7001FFEC, // 0037 JMP #0025 + 0x8814011F, // 0038 GETMBR R5 R0 K31 + 0x88180120, // 0039 GETMBR R6 R0 K32 + 0x78160003, // 003A JMPF R5 #003F + 0x781A0002, // 003B JMPF R6 #003F + 0x5C1C0C00, // 003C MOVE R7 R6 + 0x5C200A00, // 003D MOVE R8 R5 + 0x7C1C0200, // 003E CALL R7 1 + 0x8C1C011A, // 003F GETMET R7 R0 K26 + 0x7C1C0200, // 0040 CALL R7 1 + 0x881C0115, // 0041 GETMBR R7 R0 K21 + 0x8C1C0F21, // 0042 GETMET R7 R7 K33 + 0x88240101, // 0043 GETMBR R9 R0 K1 + 0x8C241322, // 0044 GETMET R9 R9 K34 + 0x7C240200, // 0045 CALL R9 1 + 0x88280101, // 0046 GETMBR R10 R0 K1 + 0x8C281523, // 0047 GETMET R10 R10 K35 + 0x7C280200, // 0048 CALL R10 1 + 0x882C0101, // 0049 GETMBR R11 R0 K1 + 0x8C2C1724, // 004A GETMET R11 R11 K36 + 0x7C2C0200, // 004B CALL R11 1 + 0x7C1C0800, // 004C CALL R7 4 + 0x881C0101, // 004D GETMBR R7 R0 K1 + 0x8C1C0F25, // 004E GETMET R7 R7 K37 + 0x7C1C0200, // 004F CALL R7 1 + 0x881C0101, // 0050 GETMBR R7 R0 K1 + 0x8C1C0F26, // 0051 GETMET R7 R7 K38 + 0x7C1C0200, // 0052 CALL R7 1 + 0x80000000, // 0053 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_animator +********************************************************************/ +be_local_closure(class_Animate_core_remove_animator, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(remove_animator), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8808010C, // 0000 GETMBR R2 R0 K12 + 0x4C0C0000, // 0001 LDNIL R3 + 0x200C0203, // 0002 NE R3 R1 R3 + 0x780E0005, // 0003 JMPF R3 #000A + 0x8C0C0509, // 0004 GETMET R3 R2 K9 + 0x8C14050A, // 0005 GETMET R5 R2 K10 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x7C140400, // 0007 CALL R5 2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x70020001, // 0009 JMP #000C + 0x8C0C0502, // 000A GETMET R3 R2 K2 + 0x7C0C0200, // 000B CALL R3 1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: animate +********************************************************************/ +be_local_closure(class_Animate_core_animate, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(animate), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_current +********************************************************************/ +be_local_closure(class_Animate_core_set_current, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(set_current), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0xB8064E00, // 0000 GETNGBL R1 K39 + 0x90065000, // 0001 SETMBR R1 K40 R0 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_core_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(fast_loop), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0xA40E3400, // 0000 IMPORT R3 K26 + 0x90020201, // 0001 SETMBR R0 K1 R1 + 0x4C100000, // 0002 LDNIL R4 + 0x1C100404, // 0003 EQ R4 R2 R4 + 0x78120000, // 0004 JMPF R4 #0006 + 0x540A0031, // 0005 LDINT R2 50 + 0x90020C02, // 0006 SETMBR R0 K6 R2 + 0x8C100110, // 0007 GETMET R4 R0 K16 + 0x7C100200, // 0008 CALL R4 1 + 0x50100000, // 0009 LDBOOL R4 0 0 + 0x90021604, // 000A SETMBR R0 K11 R4 + 0x8C100329, // 000B GETMET R4 R1 K41 + 0x7C100200, // 000C CALL R4 1 + 0x90025204, // 000D SETMBR R0 K41 R4 + 0x60100012, // 000E GETGBL R4 G18 + 0x7C100000, // 000F CALL R4 0 + 0x90021804, // 0010 SETMBR R0 K12 R4 + 0x60100012, // 0011 GETGBL R4 G18 + 0x7C100000, // 0012 CALL R4 0 + 0x90021004, // 0013 SETMBR R0 K8 R4 + 0x8C100102, // 0014 GETMET R4 R0 K2 + 0x7C100200, // 0015 CALL R4 1 + 0x8C100715, // 0016 GETMET R4 R3 K21 + 0x88180129, // 0017 GETMBR R6 R0 K41 + 0x7C100400, // 0018 CALL R4 2 + 0x90022A04, // 0019 SETMBR R0 K21 R4 + 0x8C100715, // 001A GETMET R4 R3 K21 + 0x88180129, // 001B GETMBR R6 R0 K41 + 0x7C100400, // 001C CALL R4 2 + 0x90023604, // 001D SETMBR R0 K27 R4 + 0x84100000, // 001E CLOSURE R4 P0 + 0x90021E04, // 001F SETMBR R0 K15 R4 + 0x90022F07, // 0020 SETMBR R0 K23 K7 + 0x8C10012A, // 0021 GETMET R4 R0 K42 + 0x7C100200, // 0022 CALL R4 1 + 0xA0000000, // 0023 CLOSE R0 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_cb +********************************************************************/ +be_local_closure(class_Animate_core_set_cb, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(set_cb), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x90023E01, // 0000 SETMBR R0 K31 R1 + 0x90024002, // 0001 SETMBR R0 K32 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_back_color +********************************************************************/ +be_local_closure(class_Animate_core_set_back_color, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(set_back_color), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90022E01, // 0000 SETMBR R0 K23 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_background_animator +********************************************************************/ +be_local_closure(class_Animate_core_add_background_animator, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(add_background_animator), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C08032B, // 0000 GETMET R2 R1 K43 + 0x5C100000, // 0001 MOVE R4 R0 + 0x8814012C, // 0002 GETMBR R5 R0 K44 + 0x7C080600, // 0003 CALL R2 3 + 0x8C08012D, // 0004 GETMET R2 R0 K45 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C080400, // 0006 CALL R2 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_animator +********************************************************************/ +be_local_closure(class_Animate_core_add_animator, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(add_animator), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8808010C, // 0000 GETMBR R2 R0 K12 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C080403, // 0005 EQ R2 R2 R3 + 0x780A0003, // 0006 JMPF R2 #000B + 0x8808010C, // 0007 GETMBR R2 R0 K12 + 0x8C080511, // 0008 GETMET R2 R2 K17 + 0x5C100200, // 0009 MOVE R4 R1 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove +********************************************************************/ +be_local_closure(class_Animate_core_remove, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(remove), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C040102, // 0000 GETMET R1 R0 K2 + 0x7C040200, // 0001 CALL R1 1 + 0xB8060800, // 0002 GETNGBL R1 K4 + 0x8C04030E, // 0003 GETMET R1 R1 K14 + 0x880C010F, // 0004 GETMBR R3 R0 K15 + 0x7C040400, // 0005 CALL R1 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Animate_core_start, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_core, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C04032E, // 0001 GETMET R1 R1 K46 + 0x7C040200, // 0002 CALL R1 1 + 0xA40A5E00, // 0003 IMPORT R2 K47 + 0x4C0C0000, // 0004 LDNIL R3 + 0x200C0203, // 0005 NE R3 R1 R3 + 0x780E0008, // 0006 JMPF R3 #0010 + 0x600C0004, // 0007 GETGBL R3 G4 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C0C0200, // 0009 CALL R3 1 + 0x1C0C0730, // 000A EQ R3 R3 K48 + 0x780E0003, // 000B JMPF R3 #0010 + 0x200C0200, // 000C NE R3 R1 R0 + 0x780E0001, // 000D JMPF R3 #0010 + 0x8C0C0300, // 000E GETMET R3 R1 K0 + 0x7C0C0200, // 000F CALL R3 1 + 0x880C0101, // 0010 GETMBR R3 R0 K1 + 0x8C0C0731, // 0011 GETMET R3 R3 K49 + 0x5C140000, // 0012 MOVE R5 R0 + 0x7C0C0400, // 0013 CALL R3 2 + 0x500C0200, // 0014 LDBOOL R3 1 0 + 0x90021603, // 0015 SETMBR R0 K11 R3 + 0x880C010C, // 0016 GETMBR R3 R0 K12 + 0x58100007, // 0017 LDCONST R4 K7 + 0x6014000C, // 0018 GETGBL R5 G12 + 0x5C180600, // 0019 MOVE R6 R3 + 0x7C140200, // 001A CALL R5 1 + 0x14140805, // 001B LT R5 R4 R5 + 0x78160004, // 001C JMPF R5 #0022 + 0x94140604, // 001D GETIDX R5 R3 R4 + 0x8C140B32, // 001E GETMET R5 R5 K50 + 0x7C140200, // 001F CALL R5 1 + 0x0010090D, // 0020 ADD R4 R4 K13 + 0x7001FFF5, // 0021 JMP #0018 + 0x90022707, // 0022 SETMBR R0 K19 K7 + 0xB8160800, // 0023 GETNGBL R5 K4 + 0x8C140B33, // 0024 GETMET R5 R5 K51 + 0x881C010F, // 0025 GETMBR R7 R0 K15 + 0x7C140400, // 0026 CALL R5 2 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_core +********************************************************************/ +be_local_class(Animate_core, + 13, + NULL, + be_nested_map(32, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_strip_bri, -1), be_const_closure(class_Animate_core_set_strip_bri_closure) }, + { be_const_key_weak(animators, -1), be_const_var(4) }, + { be_const_key_weak(clear, 0), be_const_closure(class_Animate_core_clear_closure) }, + { be_const_key_weak(remove, -1), be_const_closure(class_Animate_core_remove_closure) }, + { be_const_key_weak(mth, -1), be_const_var(9) }, + { be_const_key_weak(stop, 1), be_const_closure(class_Animate_core_stop_closure) }, + { be_const_key_weak(fast_loop_cb, 30), be_const_var(6) }, + { be_const_key_weak(get_bri, -1), be_const_closure(class_Animate_core_get_bri_closure) }, + { be_const_key_weak(add_animator, -1), be_const_closure(class_Animate_core_add_animator_closure) }, + { be_const_key_weak(add_background_animator, -1), be_const_closure(class_Animate_core_add_background_animator_closure) }, + { be_const_key_weak(fast_loop_next, -1), be_const_var(7) }, + { be_const_key_weak(remove_animator, -1), be_const_closure(class_Animate_core_remove_animator_closure) }, + { be_const_key_weak(add_painter, 28), be_const_closure(class_Animate_core_add_painter_closure) }, + { be_const_key_weak(FAST_LOOP_MIN, -1), be_const_int(20) }, + { be_const_key_weak(fast_loop, -1), be_const_closure(class_Animate_core_fast_loop_closure) }, + { be_const_key_weak(set_back_color, 11), be_const_closure(class_Animate_core_set_back_color_closure) }, + { be_const_key_weak(animate, 8), be_const_closure(class_Animate_core_animate_closure) }, + { be_const_key_weak(strip, 24), be_const_var(0) }, + { be_const_key_weak(layer, -1), be_const_var(11) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_core_init_closure) }, + { be_const_key_weak(bri, -1), be_const_var(2) }, + { be_const_key_weak(set_cb, 13), be_const_closure(class_Animate_core_set_cb_closure) }, + { be_const_key_weak(back_color, 18), be_const_var(12) }, + { be_const_key_weak(pixel_count, 15), be_const_var(1) }, + { be_const_key_weak(set_current, -1), be_const_closure(class_Animate_core_set_current_closure) }, + { be_const_key_weak(painters, -1), be_const_var(5) }, + { be_const_key_weak(obj, 10), be_const_var(8) }, + { be_const_key_weak(set_bri, 9), be_const_closure(class_Animate_core_set_bri_closure) }, + { be_const_key_weak(running, -1), be_const_var(3) }, + { be_const_key_weak(remove_painter, 3), be_const_closure(class_Animate_core_remove_painter_closure) }, + { be_const_key_weak(frame, -1), be_const_var(10) }, + { be_const_key_weak(start, -1), be_const_closure(class_Animate_core_start_closure) }, + })), + be_str_weak(Animate_core) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_2_animate_effects.h b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_2_animate_effects.h new file mode 100644 index 000000000..c5200d9b0 --- /dev/null +++ b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_2_animate_effects.h @@ -0,0 +1,785 @@ +/* Solidification of animate_2_animate_effects.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Animate_painter; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_painter_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(global), + /* K1 */ be_nested_str_weak(_cur_anim), + /* K2 */ be_nested_str_weak(add_painter), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x4C080000, // 0002 LDNIL R2 + 0x20080202, // 0003 NE R2 R1 R2 + 0x780A0002, // 0004 JMPF R2 #0008 + 0x8C080302, // 0005 GETMET R2 R1 K2 + 0x5C100000, // 0006 MOVE R4 R0 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: paint +********************************************************************/ +be_local_closure(class_Animate_painter_paint, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(paint), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_painter +********************************************************************/ +be_local_class(Animate_painter, + 0, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(paint, -1), be_const_closure(class_Animate_painter_paint_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_Animate_painter_init_closure) }, + })), + be_str_weak(Animate_painter) +); +// compact class 'Animate_pulse' ktab size: 15, total: 28 (saved 104 bytes) +static const bvalue be_ktab_class_Animate_pulse[15] = { + /* K0 */ be_nested_str_weak(pulse_size), + /* K1 */ be_nested_str_weak(slew_size), + /* K2 */ be_nested_str_weak(back_color), + /* K3 */ be_nested_str_weak(pos), + /* K4 */ be_nested_str_weak(color), + /* K5 */ be_nested_str_weak(init), + /* K6 */ be_const_int(16777215), + /* K7 */ be_const_int(1), + /* K8 */ be_const_int(0), + /* K9 */ be_const_int(-16777216), + /* K10 */ be_nested_str_weak(fill_pixels), + /* K11 */ be_nested_str_weak(pixel_size), + /* K12 */ be_nested_str_weak(blend), + /* K13 */ be_nested_str_weak(tasmota), + /* K14 */ be_nested_str_weak(scale_int), +}; + + +extern const bclass be_class_Animate_pulse; + +/******************************************************************** +** Solidified function: set_pulse_size +********************************************************************/ +be_local_closure(class_Animate_pulse_set_pulse_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(set_pulse_size), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_slew_size +********************************************************************/ +be_local_closure(class_Animate_pulse_set_slew_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(set_slew_size), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020201, // 0000 SETMBR R0 K1 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_back_color +********************************************************************/ +be_local_closure(class_Animate_pulse_set_back_color, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(set_back_color), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020401, // 0000 SETMBR R0 K2 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pos +********************************************************************/ +be_local_closure(class_Animate_pulse_set_pos, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(set_pos), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020601, // 0000 SETMBR R0 K3 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_color +********************************************************************/ +be_local_closure(class_Animate_pulse_set_color, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(set_color), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020801, // 0000 SETMBR R0 K4 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_pulse_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100905, // 0003 GETMET R4 R4 K5 + 0x7C100200, // 0004 CALL R4 1 + 0x4C100000, // 0005 LDNIL R4 + 0x1C100204, // 0006 EQ R4 R1 R4 + 0x78120000, // 0007 JMPF R4 #0009 + 0x58040006, // 0008 LDCONST R1 K6 + 0x4C100000, // 0009 LDNIL R4 + 0x1C100404, // 000A EQ R4 R2 R4 + 0x78120000, // 000B JMPF R4 #000D + 0x58080007, // 000C LDCONST R2 K7 + 0x4C100000, // 000D LDNIL R4 + 0x1C100604, // 000E EQ R4 R3 R4 + 0x78120000, // 000F JMPF R4 #0011 + 0x580C0008, // 0010 LDCONST R3 K8 + 0x90020801, // 0011 SETMBR R0 K4 R1 + 0x90020509, // 0012 SETMBR R0 K2 K9 + 0x14100508, // 0013 LT R4 R2 K8 + 0x78120000, // 0014 JMPF R4 #0016 + 0x58080008, // 0015 LDCONST R2 K8 + 0x90020002, // 0016 SETMBR R0 K0 R2 + 0x14100708, // 0017 LT R4 R3 K8 + 0x78120000, // 0018 JMPF R4 #001A + 0x580C0008, // 0019 LDCONST R3 K8 + 0x90020203, // 001A SETMBR R0 K1 R3 + 0x90020708, // 001B SETMBR R0 K3 K8 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: paint +********************************************************************/ +be_local_closure(class_Animate_pulse_paint, /* name */ + be_nested_proto( + 22, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_pulse, /* shared constants */ + be_str_weak(paint), + &be_const_str_solidified, + ( &(const binstruction[91]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x200C0509, // 0001 NE R3 R2 K9 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x8C0C030A, // 0003 GETMET R3 R1 K10 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0x88100101, // 0007 GETMBR R4 R0 K1 + 0x88140100, // 0008 GETMBR R5 R0 K0 + 0x88180104, // 0009 GETMBR R6 R0 K4 + 0x881C030B, // 000A GETMBR R7 R1 K11 + 0x4C200000, // 000B LDNIL R8 + 0x4C240000, // 000C LDNIL R9 + 0x5C200600, // 000D MOVE R8 R3 + 0x00280605, // 000E ADD R10 R3 R5 + 0x5C241400, // 000F MOVE R9 R10 + 0x14281108, // 0010 LT R10 R8 K8 + 0x782A0000, // 0011 JMPF R10 #0013 + 0x58200008, // 0012 LDCONST R8 K8 + 0x28281207, // 0013 GE R10 R9 R7 + 0x782A0000, // 0014 JMPF R10 #0016 + 0x5C240E00, // 0015 MOVE R9 R7 + 0x5C281000, // 0016 MOVE R10 R8 + 0x142C1409, // 0017 LT R11 R10 R9 + 0x782E0002, // 0018 JMPF R11 #001C + 0x98041406, // 0019 SETIDX R1 R10 R6 + 0x00281507, // 001A ADD R10 R10 K7 + 0x7001FFFA, // 001B JMP #0017 + 0x242C0908, // 001C GT R11 R4 K8 + 0x782E003A, // 001D JMPF R11 #0059 + 0x042C0604, // 001E SUB R11 R3 R4 + 0x5C201600, // 001F MOVE R8 R11 + 0x5C240600, // 0020 MOVE R9 R3 + 0x142C1108, // 0021 LT R11 R8 K8 + 0x782E0000, // 0022 JMPF R11 #0024 + 0x58200008, // 0023 LDCONST R8 K8 + 0x282C1207, // 0024 GE R11 R9 R7 + 0x782E0000, // 0025 JMPF R11 #0027 + 0x5C240E00, // 0026 MOVE R9 R7 + 0x5C281000, // 0027 MOVE R10 R8 + 0x142C1409, // 0028 LT R11 R10 R9 + 0x782E000F, // 0029 JMPF R11 #003A + 0x8C2C030C, // 002A GETMET R11 R1 K12 + 0x5C340400, // 002B MOVE R13 R2 + 0x5C380C00, // 002C MOVE R14 R6 + 0xB83E1A00, // 002D GETNGBL R15 K13 + 0x8C3C1F0E, // 002E GETMET R15 R15 K14 + 0x5C441400, // 002F MOVE R17 R10 + 0x04480604, // 0030 SUB R18 R3 R4 + 0x04482507, // 0031 SUB R18 R18 K7 + 0x5C4C0600, // 0032 MOVE R19 R3 + 0x545200FE, // 0033 LDINT R20 255 + 0x58540008, // 0034 LDCONST R21 K8 + 0x7C3C0C00, // 0035 CALL R15 6 + 0x7C2C0800, // 0036 CALL R11 4 + 0x9804140B, // 0037 SETIDX R1 R10 R11 + 0x00281507, // 0038 ADD R10 R10 K7 + 0x7001FFED, // 0039 JMP #0028 + 0x002C0605, // 003A ADD R11 R3 R5 + 0x5C201600, // 003B MOVE R8 R11 + 0x002C0605, // 003C ADD R11 R3 R5 + 0x002C1604, // 003D ADD R11 R11 R4 + 0x5C241600, // 003E MOVE R9 R11 + 0x142C1108, // 003F LT R11 R8 K8 + 0x782E0000, // 0040 JMPF R11 #0042 + 0x58200008, // 0041 LDCONST R8 K8 + 0x282C1207, // 0042 GE R11 R9 R7 + 0x782E0000, // 0043 JMPF R11 #0045 + 0x5C240E00, // 0044 MOVE R9 R7 + 0x5C281000, // 0045 MOVE R10 R8 + 0x142C1409, // 0046 LT R11 R10 R9 + 0x782E0010, // 0047 JMPF R11 #0059 + 0x8C2C030C, // 0048 GETMET R11 R1 K12 + 0x5C340400, // 0049 MOVE R13 R2 + 0x5C380C00, // 004A MOVE R14 R6 + 0xB83E1A00, // 004B GETNGBL R15 K13 + 0x8C3C1F0E, // 004C GETMET R15 R15 K14 + 0x5C441400, // 004D MOVE R17 R10 + 0x00480605, // 004E ADD R18 R3 R5 + 0x04482507, // 004F SUB R18 R18 K7 + 0x004C0605, // 0050 ADD R19 R3 R5 + 0x004C2604, // 0051 ADD R19 R19 R4 + 0x58500008, // 0052 LDCONST R20 K8 + 0x545600FE, // 0053 LDINT R21 255 + 0x7C3C0C00, // 0054 CALL R15 6 + 0x7C2C0800, // 0055 CALL R11 4 + 0x9804140B, // 0056 SETIDX R1 R10 R11 + 0x00281507, // 0057 ADD R10 R10 K7 + 0x7001FFEC, // 0058 JMP #0046 + 0x502C0200, // 0059 LDBOOL R11 1 0 + 0x80041600, // 005A RET 1 R11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_pulse +********************************************************************/ +extern const bclass be_class_Animate_painter; +be_local_class(Animate_pulse, + 5, + &be_class_Animate_painter, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(paint, -1), be_const_closure(class_Animate_pulse_paint_closure) }, + { be_const_key_weak(set_slew_size, -1), be_const_closure(class_Animate_pulse_set_slew_size_closure) }, + { be_const_key_weak(pulse_size, -1), be_const_var(4) }, + { be_const_key_weak(set_back_color, 8), be_const_closure(class_Animate_pulse_set_back_color_closure) }, + { be_const_key_weak(color, -1), be_const_var(0) }, + { be_const_key_weak(back_color, -1), be_const_var(1) }, + { be_const_key_weak(set_pos, -1), be_const_closure(class_Animate_pulse_set_pos_closure) }, + { be_const_key_weak(set_color, -1), be_const_closure(class_Animate_pulse_set_color_closure) }, + { be_const_key_weak(init, 7), be_const_closure(class_Animate_pulse_init_closure) }, + { be_const_key_weak(pos, -1), be_const_var(2) }, + { be_const_key_weak(slew_size, 5), be_const_var(3) }, + { be_const_key_weak(set_pulse_size, 0), be_const_closure(class_Animate_pulse_set_pulse_size_closure) }, + })), + be_str_weak(Animate_pulse) +); +// compact class 'Animate_crenel' ktab size: 19, total: 34 (saved 120 bytes) +static const bvalue be_ktab_class_Animate_crenel[19] = { + /* K0 */ be_nested_str_weak(pulse_size), + /* K1 */ be_nested_str_weak(back_color), + /* K2 */ be_const_int(-16777216), + /* K3 */ be_nested_str_weak(fill_pixels), + /* K4 */ be_nested_str_weak(pos), + /* K5 */ be_nested_str_weak(low_size), + /* K6 */ be_nested_str_weak(color), + /* K7 */ be_nested_str_weak(pixel_size), + /* K8 */ be_nested_str_weak(nb_pulse), + /* K9 */ be_const_int(0), + /* K10 */ be_const_int(1), + /* K11 */ be_nested_str_weak(int), + /* K12 */ be_nested_str_weak(instance), + /* K13 */ be_nested_str_weak(get_color), + /* K14 */ be_nested_str_weak(tasmota), + /* K15 */ be_nested_str_weak(scale_int), + /* K16 */ be_nested_str_weak(init), + /* K17 */ be_const_int(16777215), + /* K18 */ be_const_int(3), +}; + + +extern const bclass be_class_Animate_crenel; + +/******************************************************************** +** Solidified function: set_pulse_size +********************************************************************/ +be_local_closure(class_Animate_crenel_set_pulse_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_pulse_size), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: paint +********************************************************************/ +be_local_closure(class_Animate_crenel_paint, /* name */ + be_nested_proto( + 20, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(paint), + &be_const_str_solidified, + ( &(const binstruction[83]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x200C0502, // 0001 NE R3 R2 K2 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x8C0C0303, // 0003 GETMET R3 R1 K3 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x880C0104, // 0006 GETMBR R3 R0 K4 + 0x88100100, // 0007 GETMBR R4 R0 K0 + 0x88140105, // 0008 GETMBR R5 R0 K5 + 0x88180106, // 0009 GETMBR R6 R0 K6 + 0x881C0307, // 000A GETMBR R7 R1 K7 + 0x60200009, // 000B GETGBL R8 G9 + 0x00240805, // 000C ADD R9 R4 R5 + 0x7C200200, // 000D CALL R8 1 + 0x88240108, // 000E GETMBR R9 R0 K8 + 0x18281109, // 000F LE R10 R8 K9 + 0x782A0000, // 0010 JMPF R10 #0012 + 0x5820000A, // 0011 LDCONST R8 K10 + 0x1C281309, // 0012 EQ R10 R9 K9 + 0x782A0000, // 0013 JMPF R10 #0015 + 0x80001400, // 0014 RET 0 + 0x14281309, // 0015 LT R10 R9 K9 + 0x782A0006, // 0016 JMPF R10 #001E + 0x00280604, // 0017 ADD R10 R3 R4 + 0x0428150A, // 0018 SUB R10 R10 K10 + 0x10281408, // 0019 MOD R10 R10 R8 + 0x04281404, // 001A SUB R10 R10 R4 + 0x0028150A, // 001B ADD R10 R10 K10 + 0x5C0C1400, // 001C MOVE R3 R10 + 0x70020007, // 001D JMP #0026 + 0x44281000, // 001E NEG R10 R8 + 0x1428060A, // 001F LT R10 R3 R10 + 0x782A0004, // 0020 JMPF R10 #0026 + 0x20281309, // 0021 NE R10 R9 K9 + 0x782A0002, // 0022 JMPF R10 #0026 + 0x000C0608, // 0023 ADD R3 R3 R8 + 0x0424130A, // 0024 SUB R9 R9 K10 + 0x7001FFF7, // 0025 JMP #001E + 0x14280607, // 0026 LT R10 R3 R7 + 0x782A0028, // 0027 JMPF R10 #0051 + 0x20281309, // 0028 NE R10 R9 K9 + 0x782A0026, // 0029 JMPF R10 #0051 + 0x58280009, // 002A LDCONST R10 K9 + 0x142C0709, // 002B LT R11 R3 K9 + 0x782E0001, // 002C JMPF R11 #002F + 0x442C0600, // 002D NEG R11 R3 + 0x5C281600, // 002E MOVE R10 R11 + 0x602C0004, // 002F GETGBL R11 G4 + 0x88300106, // 0030 GETMBR R12 R0 K6 + 0x7C2C0200, // 0031 CALL R11 1 + 0x1C2C170B, // 0032 EQ R11 R11 K11 + 0x782E0009, // 0033 JMPF R11 #003E + 0x142C1404, // 0034 LT R11 R10 R4 + 0x782E0006, // 0035 JMPF R11 #003D + 0x002C060A, // 0036 ADD R11 R3 R10 + 0x142C1607, // 0037 LT R11 R11 R7 + 0x782E0003, // 0038 JMPF R11 #003D + 0x002C060A, // 0039 ADD R11 R3 R10 + 0x98041606, // 003A SETIDX R1 R11 R6 + 0x0028150A, // 003B ADD R10 R10 K10 + 0x7001FFF6, // 003C JMP #0034 + 0x7002000F, // 003D JMP #004E + 0x602C0004, // 003E GETGBL R11 G4 + 0x88300106, // 003F GETMBR R12 R0 K6 + 0x7C2C0200, // 0040 CALL R11 1 + 0x1C2C170C, // 0041 EQ R11 R11 K12 + 0x782E000A, // 0042 JMPF R11 #004E + 0x882C0106, // 0043 GETMBR R11 R0 K6 + 0x8C2C170D, // 0044 GETMET R11 R11 K13 + 0xB8361C00, // 0045 GETNGBL R13 K14 + 0x8C341B0F, // 0046 GETMET R13 R13 K15 + 0x5C3C1400, // 0047 MOVE R15 R10 + 0x58400009, // 0048 LDCONST R16 K9 + 0x0444090A, // 0049 SUB R17 R4 K10 + 0x58480009, // 004A LDCONST R18 K9 + 0x544E00FE, // 004B LDINT R19 255 + 0x7C340C00, // 004C CALL R13 6 + 0x7C2C0400, // 004D CALL R11 2 + 0x000C0608, // 004E ADD R3 R3 R8 + 0x0424130A, // 004F SUB R9 R9 K10 + 0x7001FFD4, // 0050 JMP #0026 + 0x50280200, // 0051 LDBOOL R10 1 0 + 0x80041400, // 0052 RET 1 R10 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_back_color +********************************************************************/ +be_local_closure(class_Animate_crenel_set_back_color, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_back_color), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020201, // 0000 SETMBR R0 K1 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pos +********************************************************************/ +be_local_closure(class_Animate_crenel_set_pos, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_pos), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020801, // 0000 SETMBR R0 K4 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_color +********************************************************************/ +be_local_closure(class_Animate_crenel_set_color, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_color), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_low_size +********************************************************************/ +be_local_closure(class_Animate_crenel_set_low_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_low_size), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020A01, // 0000 SETMBR R0 K5 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_crenel_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x60140003, // 0000 GETGBL R5 G3 + 0x5C180000, // 0001 MOVE R6 R0 + 0x7C140200, // 0002 CALL R5 1 + 0x8C140B10, // 0003 GETMET R5 R5 K16 + 0x7C140200, // 0004 CALL R5 1 + 0x4C140000, // 0005 LDNIL R5 + 0x1C140205, // 0006 EQ R5 R1 R5 + 0x78160000, // 0007 JMPF R5 #0009 + 0x58040011, // 0008 LDCONST R1 K17 + 0x4C140000, // 0009 LDNIL R5 + 0x1C140405, // 000A EQ R5 R2 R5 + 0x78160000, // 000B JMPF R5 #000D + 0x5808000A, // 000C LDCONST R2 K10 + 0x4C140000, // 000D LDNIL R5 + 0x1C140605, // 000E EQ R5 R3 R5 + 0x78160000, // 000F JMPF R5 #0011 + 0x580C0012, // 0010 LDCONST R3 K18 + 0x4C140000, // 0011 LDNIL R5 + 0x1C140805, // 0012 EQ R5 R4 R5 + 0x78160000, // 0013 JMPF R5 #0015 + 0x5411FFFE, // 0014 LDINT R4 -1 + 0x90020C01, // 0015 SETMBR R0 K6 R1 + 0x90020302, // 0016 SETMBR R0 K1 K2 + 0x14140509, // 0017 LT R5 R2 K9 + 0x78160000, // 0018 JMPF R5 #001A + 0x58080009, // 0019 LDCONST R2 K9 + 0x90020002, // 001A SETMBR R0 K0 R2 + 0x14140709, // 001B LT R5 R3 K9 + 0x78160000, // 001C JMPF R5 #001E + 0x580C0009, // 001D LDCONST R3 K9 + 0x90020A03, // 001E SETMBR R0 K5 R3 + 0x90021004, // 001F SETMBR R0 K8 R4 + 0x90020909, // 0020 SETMBR R0 K4 K9 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_nb_pulse +********************************************************************/ +be_local_closure(class_Animate_crenel_set_nb_pulse, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_crenel, /* shared constants */ + be_str_weak(set_nb_pulse), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021001, // 0000 SETMBR R0 K8 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_crenel +********************************************************************/ +extern const bclass be_class_Animate_painter; +be_local_class(Animate_crenel, + 6, + &be_class_Animate_painter, + be_nested_map(14, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(low_size, -1), be_const_var(4) }, + { be_const_key_weak(paint, -1), be_const_closure(class_Animate_crenel_paint_closure) }, + { be_const_key_weak(color, -1), be_const_var(0) }, + { be_const_key_weak(set_pulse_size, 11), be_const_closure(class_Animate_crenel_set_pulse_size_closure) }, + { be_const_key_weak(pulse_size, -1), be_const_var(3) }, + { be_const_key_weak(set_back_color, 10), be_const_closure(class_Animate_crenel_set_back_color_closure) }, + { be_const_key_weak(set_pos, -1), be_const_closure(class_Animate_crenel_set_pos_closure) }, + { be_const_key_weak(back_color, -1), be_const_var(1) }, + { be_const_key_weak(set_low_size, 7), be_const_closure(class_Animate_crenel_set_low_size_closure) }, + { be_const_key_weak(pos, -1), be_const_var(2) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_crenel_init_closure) }, + { be_const_key_weak(set_color, 1), be_const_closure(class_Animate_crenel_set_color_closure) }, + { be_const_key_weak(set_nb_pulse, -1), be_const_closure(class_Animate_crenel_set_nb_pulse_closure) }, + { be_const_key_weak(nb_pulse, 0), be_const_var(5) }, + })), + be_str_weak(Animate_crenel) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_9_module.h b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_9_module.h new file mode 100644 index 000000000..36b654bd8 --- /dev/null +++ b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_animate_9_module.h @@ -0,0 +1,1496 @@ +/* Solidification of animate_9_module.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Animate_animator' ktab size: 10, total: 14 (saved 32 bytes) +static const bvalue be_ktab_class_Animate_animator[10] = { + /* K0 */ be_nested_str_weak(running), + /* K1 */ be_nested_str_weak(global), + /* K2 */ be_nested_str_weak(_cur_anim), + /* K3 */ be_nested_str_weak(add_animator), + /* K4 */ be_nested_str_weak(origin), + /* K5 */ be_nested_str_weak(duration_ms), + /* K6 */ be_nested_str_weak(obj), + /* K7 */ be_nested_str_weak(mth), + /* K8 */ be_nested_str_weak(tasmota), + /* K9 */ be_nested_str_weak(millis), +}; + + +extern const bclass be_class_Animate_animator; + +/******************************************************************** +** Solidified function: is_running +********************************************************************/ +be_local_closure(class_Animate_animator_is_running, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(is_running), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040017, // 0000 GETGBL R1 G23 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: beat +********************************************************************/ +be_local_closure(class_Animate_animator_beat, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(beat), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_animator_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040302, // 0001 GETMBR R1 R1 K2 + 0x4C080000, // 0002 LDNIL R2 + 0x20080202, // 0003 NE R2 R1 R2 + 0x780A0002, // 0004 JMPF R2 #0008 + 0x8C080303, // 0005 GETMET R2 R1 K3 + 0x5C100000, // 0006 MOVE R4 R0 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: stop +********************************************************************/ +be_local_closure(class_Animate_animator_stop, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(stop), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020801, // 0001 SETMBR R0 K4 R1 + 0x50040000, // 0002 LDBOOL R1 0 0 + 0x90020001, // 0003 SETMBR R0 K0 R1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_duration_ms +********************************************************************/ +be_local_closure(class_Animate_animator_set_duration_ms, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(set_duration_ms), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020A01, // 0000 SETMBR R0 K5 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_cb +********************************************************************/ +be_local_closure(class_Animate_animator_set_cb, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(set_cb), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x90020E02, // 0001 SETMBR R0 K7 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Animate_animator_start, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_animator, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x88080105, // 0000 GETMBR R2 R0 K5 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x80000400, // 0004 RET 0 + 0x4C080000, // 0005 LDNIL R2 + 0x1C080202, // 0006 EQ R2 R1 R2 + 0x780A0003, // 0007 JMPF R2 #000C + 0xB80A1000, // 0008 GETNGBL R2 K8 + 0x8C080509, // 0009 GETMET R2 R2 K9 + 0x7C080200, // 000A CALL R2 1 + 0x5C040400, // 000B MOVE R1 R2 + 0x90020801, // 000C SETMBR R0 K4 R1 + 0x50080200, // 000D LDBOOL R2 1 0 + 0x90020002, // 000E SETMBR R0 K0 R2 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_animator +********************************************************************/ +be_local_class(Animate_animator, + 5, + NULL, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(running, 4), be_const_var(0) }, + { be_const_key_weak(is_running, 2), be_const_closure(class_Animate_animator_is_running_closure) }, + { be_const_key_weak(beat, -1), be_const_closure(class_Animate_animator_beat_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_animator_init_closure) }, + { be_const_key_weak(mth, -1), be_const_var(4) }, + { be_const_key_weak(stop, -1), be_const_closure(class_Animate_animator_stop_closure) }, + { be_const_key_weak(duration_ms, -1), be_const_var(1) }, + { be_const_key_weak(origin, -1), be_const_var(2) }, + { be_const_key_weak(set_cb, -1), be_const_closure(class_Animate_animator_set_cb_closure) }, + { be_const_key_weak(set_duration_ms, 8), be_const_closure(class_Animate_animator_set_duration_ms_closure) }, + { be_const_key_weak(obj, -1), be_const_var(3) }, + { be_const_key_weak(start, -1), be_const_closure(class_Animate_animator_start_closure) }, + })), + be_str_weak(Animate_animator) +); +extern const bclass be_class_Animate_palette; +// compact class 'Animate_palette' ktab size: 43, total: 87 (saved 352 bytes) +static const bvalue be_ktab_class_Animate_palette[43] = { + /* K0 */ be_const_class(be_class_Animate_palette), + /* K1 */ be_nested_str_weak(ptr), + /* K2 */ be_const_int(1), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(duration_ms), + /* K5 */ be_nested_str_weak(tasmota), + /* K6 */ be_nested_str_weak(millis), + /* K7 */ be_nested_str_weak(origin), + /* K8 */ be_nested_str_weak(scale_uint), + /* K9 */ be_nested_str_weak(slots), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(slots_arr), + /* K12 */ be_nested_str_weak(palette), + /* K13 */ be_nested_str_weak(get), + /* K14 */ be_nested_str_weak(color), + /* K15 */ be_nested_str_weak(set_rgb), + /* K16 */ be_nested_str_weak(bri), + /* K17 */ be_nested_str_weak(set_bri), + /* K18 */ be_nested_str_weak(r), + /* K19 */ be_nested_str_weak(g), + /* K20 */ be_nested_str_weak(b), + /* K21 */ be_nested_str_weak(obj), + /* K22 */ be_nested_str_weak(mth), + /* K23 */ be_nested_str_weak(ptr_to_palette), + /* K24 */ be_nested_str_weak(set_duration), + /* K25 */ be_nested_str_weak(range_min), + /* K26 */ be_nested_str_weak(range_max), + /* K27 */ be_nested_str_weak(set_range), + /* K28 */ be_nested_str_weak(parse_palette), + /* K29 */ be_nested_str_weak(background_X3Alinear_X2Dgradient_X28to_X20right), + /* K30 */ be_nested_str_weak(_X2C_X23_X2502X_X2502X_X2502X_X20_X25_X2E1f_X25_X25), + /* K31 */ be_const_real_hex(0x41200000), + /* K32 */ be_nested_str_weak(_X29_X3B), + /* K33 */ be_nested_str_weak(resize), + /* K34 */ be_nested_str_weak(scale_int), + /* K35 */ be_nested_str_weak(value_error), + /* K36 */ be_nested_str_weak(min_X20must_X20be_X20lower_X20than_X20mex), + /* K37 */ be_nested_str_weak(duration_ms_X20must_X20be_X20positive), + /* K38 */ be_nested_str_weak(init), + /* K39 */ be_nested_str_weak(running), + /* K40 */ be_nested_str_weak(light_state), + /* K41 */ be_nested_str_weak(RGB), + /* K42 */ be_nested_str_weak(set_palette), +}; + + +extern const bclass be_class_Animate_palette; + +/******************************************************************** +** Solidified function: ptr_to_palette +********************************************************************/ +be_local_closure(class_Animate_palette_ptr_to_palette, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(ptr_to_palette), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x60080004, // 0001 GETGBL R2 G4 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x1C080501, // 0004 EQ R2 R2 K1 + 0x780A0025, // 0005 JMPF R2 #002C + 0x60080015, // 0006 GETGBL R2 G21 + 0x5C0C0000, // 0007 MOVE R3 R0 + 0x541207CF, // 0008 LDINT R4 2000 + 0x7C080400, // 0009 CALL R2 2 + 0x580C0002, // 000A LDCONST R3 K2 + 0x94100503, // 000B GETIDX R4 R2 K3 + 0x20100903, // 000C NE R4 R4 K3 + 0x7812000A, // 000D JMPF R4 #0019 + 0x50100200, // 000E LDBOOL R4 1 0 + 0x78120007, // 000F JMPF R4 #0018 + 0x54120003, // 0010 LDINT R4 4 + 0x08100604, // 0011 MUL R4 R3 R4 + 0x94100404, // 0012 GETIDX R4 R2 R4 + 0x1C100903, // 0013 EQ R4 R4 K3 + 0x78120000, // 0014 JMPF R4 #0016 + 0x70020001, // 0015 JMP #0018 + 0x000C0702, // 0016 ADD R3 R3 K2 + 0x7001FFF5, // 0017 JMP #000E + 0x7002000A, // 0018 JMP #0024 + 0x50100200, // 0019 LDBOOL R4 1 0 + 0x78120008, // 001A JMPF R4 #0024 + 0x54120003, // 001B LDINT R4 4 + 0x08100604, // 001C MUL R4 R3 R4 + 0x94100404, // 001D GETIDX R4 R2 R4 + 0x541600FE, // 001E LDINT R5 255 + 0x1C100805, // 001F EQ R4 R4 R5 + 0x78120000, // 0020 JMPF R4 #0022 + 0x70020001, // 0021 JMP #0024 + 0x000C0702, // 0022 ADD R3 R3 K2 + 0x7001FFF4, // 0023 JMP #0019 + 0x00100702, // 0024 ADD R4 R3 K2 + 0x54160003, // 0025 LDINT R5 4 + 0x08100805, // 0026 MUL R4 R4 R5 + 0x60140015, // 0027 GETGBL R5 G21 + 0x5C180000, // 0028 MOVE R6 R0 + 0x5C1C0800, // 0029 MOVE R7 R4 + 0x7C140400, // 002A CALL R5 2 + 0x80040A00, // 002B RET 1 R5 + 0x80000000, // 002C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: animate +********************************************************************/ +be_local_closure(class_Animate_palette_animate, /* name */ + be_nested_proto( + 26, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(animate), + &be_const_str_solidified, + ( &(const binstruction[193]) { /* code */ + 0x88080104, // 0000 GETMBR R2 R0 K4 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x80000400, // 0004 RET 0 + 0x4C080000, // 0005 LDNIL R2 + 0x1C080202, // 0006 EQ R2 R1 R2 + 0x780A0003, // 0007 JMPF R2 #000C + 0xB80A0A00, // 0008 GETNGBL R2 K5 + 0x8C080506, // 0009 GETMET R2 R2 K6 + 0x7C080200, // 000A CALL R2 1 + 0x5C040400, // 000B MOVE R1 R2 + 0x88080107, // 000C GETMBR R2 R0 K7 + 0x04080202, // 000D SUB R2 R1 R2 + 0x140C0503, // 000E LT R3 R2 K3 + 0x780E0001, // 000F JMPF R3 #0012 + 0x58080003, // 0010 LDCONST R2 K3 + 0x88040107, // 0011 GETMBR R1 R0 K7 + 0x880C0104, // 0012 GETMBR R3 R0 K4 + 0xB8120A00, // 0013 GETNGBL R4 K5 + 0x88100908, // 0014 GETMBR R4 R4 K8 + 0x28140403, // 0015 GE R5 R2 R3 + 0x78160005, // 0016 JMPF R5 #001D + 0x0C180403, // 0017 DIV R6 R2 R3 + 0x08180C03, // 0018 MUL R6 R6 R3 + 0x88140107, // 0019 GETMBR R5 R0 K7 + 0x00140A06, // 001A ADD R5 R5 R6 + 0x90020E05, // 001B SETMBR R0 K7 R5 + 0x10080403, // 001C MOD R2 R2 R3 + 0x88140109, // 001D GETMBR R5 R0 K9 + 0x04180B0A, // 001E SUB R6 R5 K10 + 0x241C0D03, // 001F GT R7 R6 K3 + 0x781E0006, // 0020 JMPF R7 #0028 + 0x881C010B, // 0021 GETMBR R7 R0 K11 + 0x941C0E06, // 0022 GETIDX R7 R7 R6 + 0x281C0407, // 0023 GE R7 R2 R7 + 0x781E0000, // 0024 JMPF R7 #0026 + 0x70020001, // 0025 JMP #0028 + 0x04180D02, // 0026 SUB R6 R6 K2 + 0x7001FFF6, // 0027 JMP #001F + 0x881C010C, // 0028 GETMBR R7 R0 K12 + 0x8C1C0F0D, // 0029 GETMET R7 R7 K13 + 0x54260003, // 002A LDINT R9 4 + 0x08240C09, // 002B MUL R9 R6 R9 + 0x542A0003, // 002C LDINT R10 4 + 0x7C1C0600, // 002D CALL R7 3 + 0x8820010C, // 002E GETMBR R8 R0 K12 + 0x8C20110D, // 002F GETMET R8 R8 K13 + 0x00280D02, // 0030 ADD R10 R6 K2 + 0x542E0003, // 0031 LDINT R11 4 + 0x0828140B, // 0032 MUL R10 R10 R11 + 0x542E0003, // 0033 LDINT R11 4 + 0x7C200600, // 0034 CALL R8 3 + 0x8824010B, // 0035 GETMBR R9 R0 K11 + 0x94241206, // 0036 GETIDX R9 R9 R6 + 0x00280D02, // 0037 ADD R10 R6 K2 + 0x882C010B, // 0038 GETMBR R11 R0 K11 + 0x9428160A, // 0039 GETIDX R10 R11 R10 + 0x5C300800, // 003A MOVE R12 R4 + 0x5C340400, // 003B MOVE R13 R2 + 0x5C381200, // 003C MOVE R14 R9 + 0x5C3C1400, // 003D MOVE R15 R10 + 0x54420007, // 003E LDINT R16 8 + 0x3C400E10, // 003F SHR R16 R7 R16 + 0x544600FE, // 0040 LDINT R17 255 + 0x2C402011, // 0041 AND R16 R16 R17 + 0x54460007, // 0042 LDINT R17 8 + 0x3C441011, // 0043 SHR R17 R8 R17 + 0x544A00FE, // 0044 LDINT R18 255 + 0x2C442212, // 0045 AND R17 R17 R18 + 0x7C300A00, // 0046 CALL R12 5 + 0x5C2C1800, // 0047 MOVE R11 R12 + 0x5C300800, // 0048 MOVE R12 R4 + 0x5C340400, // 0049 MOVE R13 R2 + 0x5C381200, // 004A MOVE R14 R9 + 0x5C3C1400, // 004B MOVE R15 R10 + 0x5442000F, // 004C LDINT R16 16 + 0x3C400E10, // 004D SHR R16 R7 R16 + 0x544600FE, // 004E LDINT R17 255 + 0x2C402011, // 004F AND R16 R16 R17 + 0x5446000F, // 0050 LDINT R17 16 + 0x3C441011, // 0051 SHR R17 R8 R17 + 0x544A00FE, // 0052 LDINT R18 255 + 0x2C442212, // 0053 AND R17 R17 R18 + 0x7C300A00, // 0054 CALL R12 5 + 0x5C340800, // 0055 MOVE R13 R4 + 0x5C380400, // 0056 MOVE R14 R2 + 0x5C3C1200, // 0057 MOVE R15 R9 + 0x5C401400, // 0058 MOVE R16 R10 + 0x54460017, // 0059 LDINT R17 24 + 0x3C440E11, // 005A SHR R17 R7 R17 + 0x544A00FE, // 005B LDINT R18 255 + 0x2C442212, // 005C AND R17 R17 R18 + 0x544A0017, // 005D LDINT R18 24 + 0x3C481012, // 005E SHR R18 R8 R18 + 0x544E00FE, // 005F LDINT R19 255 + 0x2C482413, // 0060 AND R18 R18 R19 + 0x7C340A00, // 0061 CALL R13 5 + 0x8838010E, // 0062 GETMBR R14 R0 K14 + 0x8C3C1D0F, // 0063 GETMET R15 R14 K15 + 0x54460007, // 0064 LDINT R17 8 + 0x3C440E11, // 0065 SHR R17 R7 R17 + 0x544A00FE, // 0066 LDINT R18 255 + 0x2C442212, // 0067 AND R17 R17 R18 + 0x544A000F, // 0068 LDINT R18 16 + 0x3C480E12, // 0069 SHR R18 R7 R18 + 0x544E00FE, // 006A LDINT R19 255 + 0x2C482413, // 006B AND R18 R18 R19 + 0x544E0017, // 006C LDINT R19 24 + 0x3C4C0E13, // 006D SHR R19 R7 R19 + 0x545200FE, // 006E LDINT R20 255 + 0x2C4C2614, // 006F AND R19 R19 R20 + 0x7C3C0800, // 0070 CALL R15 4 + 0x883C1D10, // 0071 GETMBR R15 R14 K16 + 0x8C401D0F, // 0072 GETMET R16 R14 K15 + 0x544A0007, // 0073 LDINT R18 8 + 0x3C481012, // 0074 SHR R18 R8 R18 + 0x544E00FE, // 0075 LDINT R19 255 + 0x2C482413, // 0076 AND R18 R18 R19 + 0x544E000F, // 0077 LDINT R19 16 + 0x3C4C1013, // 0078 SHR R19 R8 R19 + 0x545200FE, // 0079 LDINT R20 255 + 0x2C4C2614, // 007A AND R19 R19 R20 + 0x54520017, // 007B LDINT R20 24 + 0x3C501014, // 007C SHR R20 R8 R20 + 0x545600FE, // 007D LDINT R21 255 + 0x2C502815, // 007E AND R20 R20 R21 + 0x7C400800, // 007F CALL R16 4 + 0x88401D10, // 0080 GETMBR R16 R14 K16 + 0x5C440800, // 0081 MOVE R17 R4 + 0x5C480400, // 0082 MOVE R18 R2 + 0x5C4C1200, // 0083 MOVE R19 R9 + 0x5C501400, // 0084 MOVE R20 R10 + 0x5C541E00, // 0085 MOVE R21 R15 + 0x5C582000, // 0086 MOVE R22 R16 + 0x7C440A00, // 0087 CALL R17 5 + 0x8C481D0F, // 0088 GETMET R18 R14 K15 + 0x5C501600, // 0089 MOVE R20 R11 + 0x5C541800, // 008A MOVE R21 R12 + 0x5C581A00, // 008B MOVE R22 R13 + 0x7C480800, // 008C CALL R18 4 + 0x8C481D11, // 008D GETMET R18 R14 K17 + 0x5C502200, // 008E MOVE R20 R17 + 0x7C480400, // 008F CALL R18 2 + 0x882C1D12, // 0090 GETMBR R11 R14 K18 + 0x88301D13, // 0091 GETMBR R12 R14 K19 + 0x88341D14, // 0092 GETMBR R13 R14 K20 + 0x88480110, // 0093 GETMBR R18 R0 K16 + 0x544E0063, // 0094 LDINT R19 100 + 0x204C2413, // 0095 NE R19 R18 R19 + 0x784E001A, // 0096 JMPF R19 #00B2 + 0xB84E0A00, // 0097 GETNGBL R19 K5 + 0x8C4C2708, // 0098 GETMET R19 R19 K8 + 0x5C541600, // 0099 MOVE R21 R11 + 0x58580003, // 009A LDCONST R22 K3 + 0x545E0063, // 009B LDINT R23 100 + 0x58600003, // 009C LDCONST R24 K3 + 0x5C642400, // 009D MOVE R25 R18 + 0x7C4C0C00, // 009E CALL R19 6 + 0x5C2C2600, // 009F MOVE R11 R19 + 0xB84E0A00, // 00A0 GETNGBL R19 K5 + 0x8C4C2708, // 00A1 GETMET R19 R19 K8 + 0x5C541800, // 00A2 MOVE R21 R12 + 0x58580003, // 00A3 LDCONST R22 K3 + 0x545E0063, // 00A4 LDINT R23 100 + 0x58600003, // 00A5 LDCONST R24 K3 + 0x5C642400, // 00A6 MOVE R25 R18 + 0x7C4C0C00, // 00A7 CALL R19 6 + 0x5C302600, // 00A8 MOVE R12 R19 + 0xB84E0A00, // 00A9 GETNGBL R19 K5 + 0x8C4C2708, // 00AA GETMET R19 R19 K8 + 0x5C541A00, // 00AB MOVE R21 R13 + 0x58580003, // 00AC LDCONST R22 K3 + 0x545E0063, // 00AD LDINT R23 100 + 0x58600003, // 00AE LDCONST R24 K3 + 0x5C642400, // 00AF MOVE R25 R18 + 0x7C4C0C00, // 00B0 CALL R19 6 + 0x5C342600, // 00B1 MOVE R13 R19 + 0x544E000F, // 00B2 LDINT R19 16 + 0x384C1613, // 00B3 SHL R19 R11 R19 + 0x54520007, // 00B4 LDINT R20 8 + 0x38501814, // 00B5 SHL R20 R12 R20 + 0x304C2614, // 00B6 OR R19 R19 R20 + 0x304C260D, // 00B7 OR R19 R19 R13 + 0x88500115, // 00B8 GETMBR R20 R0 K21 + 0x88540116, // 00B9 GETMBR R21 R0 K22 + 0x78520004, // 00BA JMPF R20 #00C0 + 0x78560003, // 00BB JMPF R21 #00C0 + 0x5C582A00, // 00BC MOVE R22 R21 + 0x5C5C2800, // 00BD MOVE R23 R20 + 0x5C602600, // 00BE MOVE R24 R19 + 0x7C580400, // 00BF CALL R22 2 + 0x80042600, // 00C0 RET 1 R19 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_palette +********************************************************************/ +be_local_closure(class_Animate_palette_set_palette, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(set_palette), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080501, // 0003 EQ R2 R2 K1 + 0x780A0003, // 0004 JMPF R2 #0009 + 0x8C080117, // 0005 GETMET R2 R0 K23 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x5C040400, // 0008 MOVE R1 R2 + 0x90021801, // 0009 SETMBR R0 K12 R1 + 0x6008000C, // 000A GETGBL R2 G12 + 0x5C0C0200, // 000B MOVE R3 R1 + 0x7C080200, // 000C CALL R2 1 + 0x540E0003, // 000D LDINT R3 4 + 0x0C080403, // 000E DIV R2 R2 R3 + 0x90021202, // 000F SETMBR R0 K9 R2 + 0x88080104, // 0010 GETMBR R2 R0 K4 + 0x4C0C0000, // 0011 LDNIL R3 + 0x20080403, // 0012 NE R2 R2 R3 + 0x780A0003, // 0013 JMPF R2 #0018 + 0x8C080118, // 0014 GETMET R2 R0 K24 + 0x88100104, // 0015 GETMBR R4 R0 K4 + 0x7C080400, // 0016 CALL R2 2 + 0x7002000B, // 0017 JMP #0024 + 0x88080119, // 0018 GETMBR R2 R0 K25 + 0x4C0C0000, // 0019 LDNIL R3 + 0x20080403, // 001A NE R2 R2 R3 + 0x780A0007, // 001B JMPF R2 #0024 + 0x8808011A, // 001C GETMBR R2 R0 K26 + 0x4C0C0000, // 001D LDNIL R3 + 0x20080403, // 001E NE R2 R2 R3 + 0x780A0003, // 001F JMPF R2 #0024 + 0x8C08011B, // 0020 GETMET R2 R0 K27 + 0x88100119, // 0021 GETMBR R4 R0 K25 + 0x8814011A, // 0022 GETMBR R5 R0 K26 + 0x7C080600, // 0023 CALL R2 3 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_css_gradient +********************************************************************/ +be_local_closure(class_Animate_palette_to_css_gradient, /* name */ + be_nested_proto( + 17, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(to_css_gradient), + &be_const_str_solidified, + ( &(const binstruction[46]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x5C080200, // 0001 MOVE R2 R1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C051C, // 0004 GETMET R3 R2 K28 + 0x58140003, // 0005 LDCONST R5 K3 + 0x541A03E7, // 0006 LDINT R6 1000 + 0x7C0C0600, // 0007 CALL R3 3 + 0x5810001D, // 0008 LDCONST R4 K29 + 0x58140003, // 0009 LDCONST R5 K3 + 0x6018000C, // 000A GETGBL R6 G12 + 0x5C1C0600, // 000B MOVE R7 R3 + 0x7C180200, // 000C CALL R6 1 + 0x14180A06, // 000D LT R6 R5 R6 + 0x781A001C, // 000E JMPF R6 #002C + 0x94180605, // 000F GETIDX R6 R3 R5 + 0x881C050C, // 0010 GETMBR R7 R2 K12 + 0x8C1C0F0D, // 0011 GETMET R7 R7 K13 + 0x54260003, // 0012 LDINT R9 4 + 0x08240A09, // 0013 MUL R9 R5 R9 + 0x542A0003, // 0014 LDINT R10 4 + 0x7C1C0600, // 0015 CALL R7 3 + 0x54220007, // 0016 LDINT R8 8 + 0x3C200E08, // 0017 SHR R8 R7 R8 + 0x542600FE, // 0018 LDINT R9 255 + 0x2C201009, // 0019 AND R8 R8 R9 + 0x5426000F, // 001A LDINT R9 16 + 0x3C240E09, // 001B SHR R9 R7 R9 + 0x542A00FE, // 001C LDINT R10 255 + 0x2C24120A, // 001D AND R9 R9 R10 + 0x542A0017, // 001E LDINT R10 24 + 0x3C280E0A, // 001F SHR R10 R7 R10 + 0x542E00FE, // 0020 LDINT R11 255 + 0x2C28140B, // 0021 AND R10 R10 R11 + 0x602C0018, // 0022 GETGBL R11 G24 + 0x5830001E, // 0023 LDCONST R12 K30 + 0x5C341000, // 0024 MOVE R13 R8 + 0x5C381200, // 0025 MOVE R14 R9 + 0x5C3C1400, // 0026 MOVE R15 R10 + 0x0C400D1F, // 0027 DIV R16 R6 K31 + 0x7C2C0A00, // 0028 CALL R11 5 + 0x0010080B, // 0029 ADD R4 R4 R11 + 0x00140B02, // 002A ADD R5 R5 K2 + 0x7001FFDD, // 002B JMP #000A + 0x00100920, // 002C ADD R4 R4 K32 + 0x80040800, // 002D RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_bri +********************************************************************/ +be_local_closure(class_Animate_palette_set_bri, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(set_bri), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90022002, // 0003 SETMBR R0 K16 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_palette +********************************************************************/ +be_local_closure(class_Animate_palette_parse_palette, /* name */ + be_nested_proto( + 15, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(parse_palette), + &be_const_str_solidified, + ( &(const binstruction[71]) { /* code */ + 0x600C0012, // 0000 GETGBL R3 G18 + 0x7C0C0000, // 0001 CALL R3 0 + 0x88100109, // 0002 GETMBR R4 R0 K9 + 0x8C140721, // 0003 GETMET R5 R3 K33 + 0x5C1C0800, // 0004 MOVE R7 R4 + 0x7C140400, // 0005 CALL R5 2 + 0x8814010C, // 0006 GETMBR R5 R0 K12 + 0x8C140B0D, // 0007 GETMET R5 R5 K13 + 0x581C0003, // 0008 LDCONST R7 K3 + 0x58200002, // 0009 LDCONST R8 K2 + 0x7C140600, // 000A CALL R5 3 + 0x20140B03, // 000B NE R5 R5 K3 + 0x78160024, // 000C JMPF R5 #0032 + 0x58140003, // 000D LDCONST R5 K3 + 0x58180003, // 000E LDCONST R6 K3 + 0x041C0902, // 000F SUB R7 R4 K2 + 0x141C0C07, // 0010 LT R7 R6 R7 + 0x781E0008, // 0011 JMPF R7 #001B + 0x881C010C, // 0012 GETMBR R7 R0 K12 + 0x8C1C0F0D, // 0013 GETMET R7 R7 K13 + 0x54260003, // 0014 LDINT R9 4 + 0x08240C09, // 0015 MUL R9 R6 R9 + 0x58280002, // 0016 LDCONST R10 K2 + 0x7C1C0600, // 0017 CALL R7 3 + 0x00140A07, // 0018 ADD R5 R5 R7 + 0x00180D02, // 0019 ADD R6 R6 K2 + 0x7001FFF3, // 001A JMP #000F + 0x581C0003, // 001B LDCONST R7 K3 + 0x58180003, // 001C LDCONST R6 K3 + 0x14200C04, // 001D LT R8 R6 R4 + 0x78220011, // 001E JMPF R8 #0031 + 0xB8220A00, // 001F GETNGBL R8 K5 + 0x8C201122, // 0020 GETMET R8 R8 K34 + 0x5C280E00, // 0021 MOVE R10 R7 + 0x582C0003, // 0022 LDCONST R11 K3 + 0x5C300A00, // 0023 MOVE R12 R5 + 0x5C340200, // 0024 MOVE R13 R1 + 0x5C380400, // 0025 MOVE R14 R2 + 0x7C200C00, // 0026 CALL R8 6 + 0x980C0C08, // 0027 SETIDX R3 R6 R8 + 0x8820010C, // 0028 GETMBR R8 R0 K12 + 0x8C20110D, // 0029 GETMET R8 R8 K13 + 0x542A0003, // 002A LDINT R10 4 + 0x08280C0A, // 002B MUL R10 R6 R10 + 0x582C0002, // 002C LDCONST R11 K2 + 0x7C200600, // 002D CALL R8 3 + 0x001C0E08, // 002E ADD R7 R7 R8 + 0x00180D02, // 002F ADD R6 R6 K2 + 0x7001FFEB, // 0030 JMP #001D + 0x70020013, // 0031 JMP #0046 + 0x58140003, // 0032 LDCONST R5 K3 + 0x14180A04, // 0033 LT R6 R5 R4 + 0x781A0010, // 0034 JMPF R6 #0046 + 0x8818010C, // 0035 GETMBR R6 R0 K12 + 0x8C180D0D, // 0036 GETMET R6 R6 K13 + 0x54220003, // 0037 LDINT R8 4 + 0x08200A08, // 0038 MUL R8 R5 R8 + 0x58240002, // 0039 LDCONST R9 K2 + 0x7C180600, // 003A CALL R6 3 + 0xB81E0A00, // 003B GETNGBL R7 K5 + 0x8C1C0F22, // 003C GETMET R7 R7 K34 + 0x5C240C00, // 003D MOVE R9 R6 + 0x58280003, // 003E LDCONST R10 K3 + 0x542E00FE, // 003F LDINT R11 255 + 0x5C300200, // 0040 MOVE R12 R1 + 0x5C340400, // 0041 MOVE R13 R2 + 0x7C1C0C00, // 0042 CALL R7 6 + 0x980C0A07, // 0043 SETIDX R3 R5 R7 + 0x00140B02, // 0044 ADD R5 R5 K2 + 0x7001FFEC, // 0045 JMP #0033 + 0x80040600, // 0046 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_range +********************************************************************/ +be_local_closure(class_Animate_palette_set_range, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(set_range), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x280C0202, // 0000 GE R3 R1 R2 + 0x780E0000, // 0001 JMPF R3 #0003 + 0xB0064724, // 0002 RAISE 1 K35 K36 + 0x90023201, // 0003 SETMBR R0 K25 R1 + 0x90023402, // 0004 SETMBR R0 K26 R2 + 0x8C0C011C, // 0005 GETMET R3 R0 K28 + 0x5C140200, // 0006 MOVE R5 R1 + 0x5C180400, // 0007 MOVE R6 R2 + 0x7C0C0600, // 0008 CALL R3 3 + 0x90021603, // 0009 SETMBR R0 K11 R3 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value +********************************************************************/ +be_local_closure(class_Animate_palette_set_value, /* name */ + be_nested_proto( + 18, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(set_value), + &be_const_str_solidified, + ( &(const binstruction[96]) { /* code */ + 0x88080119, // 0000 GETMBR R2 R0 K25 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x740A0003, // 0003 JMPT R2 #0008 + 0x8808011A, // 0004 GETMBR R2 R0 K26 + 0x4C0C0000, // 0005 LDNIL R3 + 0x1C080403, // 0006 EQ R2 R2 R3 + 0x780A0001, // 0007 JMPF R2 #000A + 0x4C080000, // 0008 LDNIL R2 + 0x80040400, // 0009 RET 1 R2 + 0xB80A0A00, // 000A GETNGBL R2 K5 + 0x88080522, // 000B GETMBR R2 R2 K34 + 0x880C0109, // 000C GETMBR R3 R0 K9 + 0x0410070A, // 000D SUB R4 R3 K10 + 0x24140903, // 000E GT R5 R4 K3 + 0x78160006, // 000F JMPF R5 #0017 + 0x8814010B, // 0010 GETMBR R5 R0 K11 + 0x94140A04, // 0011 GETIDX R5 R5 R4 + 0x28140205, // 0012 GE R5 R1 R5 + 0x78160000, // 0013 JMPF R5 #0015 + 0x70020001, // 0014 JMP #0017 + 0x04100902, // 0015 SUB R4 R4 K2 + 0x7001FFF6, // 0016 JMP #000E + 0x8814010C, // 0017 GETMBR R5 R0 K12 + 0x8C140B0D, // 0018 GETMET R5 R5 K13 + 0x541E0003, // 0019 LDINT R7 4 + 0x081C0807, // 001A MUL R7 R4 R7 + 0x54220003, // 001B LDINT R8 4 + 0x7C140600, // 001C CALL R5 3 + 0x8818010C, // 001D GETMBR R6 R0 K12 + 0x8C180D0D, // 001E GETMET R6 R6 K13 + 0x00200902, // 001F ADD R8 R4 K2 + 0x54260003, // 0020 LDINT R9 4 + 0x08201009, // 0021 MUL R8 R8 R9 + 0x54260003, // 0022 LDINT R9 4 + 0x7C180600, // 0023 CALL R6 3 + 0x881C010B, // 0024 GETMBR R7 R0 K11 + 0x941C0E04, // 0025 GETIDX R7 R7 R4 + 0x00200902, // 0026 ADD R8 R4 K2 + 0x8824010B, // 0027 GETMBR R9 R0 K11 + 0x94201208, // 0028 GETIDX R8 R9 R8 + 0x5C280400, // 0029 MOVE R10 R2 + 0x5C2C0200, // 002A MOVE R11 R1 + 0x5C300E00, // 002B MOVE R12 R7 + 0x5C341000, // 002C MOVE R13 R8 + 0x543A0007, // 002D LDINT R14 8 + 0x3C380A0E, // 002E SHR R14 R5 R14 + 0x543E00FE, // 002F LDINT R15 255 + 0x2C381C0F, // 0030 AND R14 R14 R15 + 0x543E0007, // 0031 LDINT R15 8 + 0x3C3C0C0F, // 0032 SHR R15 R6 R15 + 0x544200FE, // 0033 LDINT R16 255 + 0x2C3C1E10, // 0034 AND R15 R15 R16 + 0x7C280A00, // 0035 CALL R10 5 + 0x5C241400, // 0036 MOVE R9 R10 + 0x5C280400, // 0037 MOVE R10 R2 + 0x5C2C0200, // 0038 MOVE R11 R1 + 0x5C300E00, // 0039 MOVE R12 R7 + 0x5C341000, // 003A MOVE R13 R8 + 0x543A000F, // 003B LDINT R14 16 + 0x3C380A0E, // 003C SHR R14 R5 R14 + 0x543E00FE, // 003D LDINT R15 255 + 0x2C381C0F, // 003E AND R14 R14 R15 + 0x543E000F, // 003F LDINT R15 16 + 0x3C3C0C0F, // 0040 SHR R15 R6 R15 + 0x544200FE, // 0041 LDINT R16 255 + 0x2C3C1E10, // 0042 AND R15 R15 R16 + 0x7C280A00, // 0043 CALL R10 5 + 0x5C2C0400, // 0044 MOVE R11 R2 + 0x5C300200, // 0045 MOVE R12 R1 + 0x5C340E00, // 0046 MOVE R13 R7 + 0x5C381000, // 0047 MOVE R14 R8 + 0x543E0017, // 0048 LDINT R15 24 + 0x3C3C0A0F, // 0049 SHR R15 R5 R15 + 0x544200FE, // 004A LDINT R16 255 + 0x2C3C1E10, // 004B AND R15 R15 R16 + 0x54420017, // 004C LDINT R16 24 + 0x3C400C10, // 004D SHR R16 R6 R16 + 0x544600FE, // 004E LDINT R17 255 + 0x2C402011, // 004F AND R16 R16 R17 + 0x7C2C0A00, // 0050 CALL R11 5 + 0x5432000F, // 0051 LDINT R12 16 + 0x3830120C, // 0052 SHL R12 R9 R12 + 0x54360007, // 0053 LDINT R13 8 + 0x3834140D, // 0054 SHL R13 R10 R13 + 0x3030180D, // 0055 OR R12 R12 R13 + 0x3030180B, // 0056 OR R12 R12 R11 + 0x88340115, // 0057 GETMBR R13 R0 K21 + 0x88380116, // 0058 GETMBR R14 R0 K22 + 0x78360004, // 0059 JMPF R13 #005F + 0x783A0003, // 005A JMPF R14 #005F + 0x5C3C1C00, // 005B MOVE R15 R14 + 0x5C401A00, // 005C MOVE R16 R13 + 0x5C441800, // 005D MOVE R17 R12 + 0x7C3C0400, // 005E CALL R15 2 + 0x80041800, // 005F RET 1 R12 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_duration +********************************************************************/ +be_local_closure(class_Animate_palette_set_duration, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(set_duration), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x80000400, // 0003 RET 0 + 0x18080303, // 0004 LE R2 R1 K3 + 0x780A0000, // 0005 JMPF R2 #0007 + 0xB0064725, // 0006 RAISE 1 K35 K37 + 0x90020801, // 0007 SETMBR R0 K4 R1 + 0x8C08011C, // 0008 GETMET R2 R0 K28 + 0x58100003, // 0009 LDCONST R4 K3 + 0x04140302, // 000A SUB R5 R1 K2 + 0x7C080600, // 000B CALL R2 3 + 0x90021602, // 000C SETMBR R0 K11 R2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_palette_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_palette, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0726, // 0003 GETMET R3 R3 K38 + 0x7C0C0200, // 0004 CALL R3 1 + 0x90020802, // 0005 SETMBR R0 K4 R2 + 0x500C0000, // 0006 LDBOOL R3 0 0 + 0x90024E03, // 0007 SETMBR R0 K39 R3 + 0x540E0063, // 0008 LDINT R3 100 + 0x90022003, // 0009 SETMBR R0 K16 R3 + 0xB80E5000, // 000A GETNGBL R3 K40 + 0xB8125000, // 000B GETNGBL R4 K40 + 0x88100929, // 000C GETMBR R4 R4 K41 + 0x7C0C0200, // 000D CALL R3 1 + 0x90021C03, // 000E SETMBR R0 K14 R3 + 0x8C0C012A, // 000F GETMET R3 R0 K42 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C0C0400, // 0011 CALL R3 2 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_palette +********************************************************************/ +extern const bclass be_class_Animate_animator; +be_local_class(Animate_palette, + 7, + &be_class_Animate_animator, + be_nested_map(17, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(color, 13), be_const_var(6) }, + { be_const_key_weak(slots, -1), be_const_var(2) }, + { be_const_key_weak(animate, 11), be_const_closure(class_Animate_palette_animate_closure) }, + { be_const_key_weak(range_max, 10), be_const_var(4) }, + { be_const_key_weak(set_palette, -1), be_const_closure(class_Animate_palette_set_palette_closure) }, + { be_const_key_weak(set_bri, -1), be_const_closure(class_Animate_palette_set_bri_closure) }, + { be_const_key_weak(bri, -1), be_const_var(5) }, + { be_const_key_weak(to_css_gradient, 12), be_const_static_closure(class_Animate_palette_to_css_gradient_closure) }, + { be_const_key_weak(slots_arr, 1), be_const_var(1) }, + { be_const_key_weak(range_min, 5), be_const_var(3) }, + { be_const_key_weak(set_value, -1), be_const_closure(class_Animate_palette_set_value_closure) }, + { be_const_key_weak(set_range, -1), be_const_closure(class_Animate_palette_set_range_closure) }, + { be_const_key_weak(parse_palette, -1), be_const_closure(class_Animate_palette_parse_palette_closure) }, + { be_const_key_weak(palette, -1), be_const_var(0) }, + { be_const_key_weak(set_duration, -1), be_const_closure(class_Animate_palette_set_duration_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_palette_init_closure) }, + { be_const_key_weak(ptr_to_palette, 0), be_const_static_closure(class_Animate_palette_ptr_to_palette_closure) }, + })), + be_str_weak(Animate_palette) +); +// compact class 'Animate_oscillator' ktab size: 21, total: 38 (saved 136 bytes) +static const bvalue be_ktab_class_Animate_oscillator[21] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(duty_cycle), + /* K2 */ be_nested_str_weak(a), + /* K3 */ be_nested_str_weak(b), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(form), + /* K6 */ be_nested_str_weak(phase), + /* K7 */ be_nested_str_weak(init), + /* K8 */ be_nested_str_weak(duration_ms), + /* K9 */ be_nested_str_weak(value), + /* K10 */ be_nested_str_weak(tasmota), + /* K11 */ be_nested_str_weak(millis), + /* K12 */ be_nested_str_weak(origin), + /* K13 */ be_nested_str_weak(scale_uint), + /* K14 */ be_nested_str_weak(beat), + /* K15 */ be_nested_str_weak(scale_int), + /* K16 */ be_const_int(2), + /* K17 */ be_const_int(3), + /* K18 */ be_nested_str_weak(sine_int), + /* K19 */ be_nested_str_weak(obj), + /* K20 */ be_nested_str_weak(mth), +}; + + +extern const bclass be_class_Animate_oscillator; + +/******************************************************************** +** Solidified function: set_duty_cycle +********************************************************************/ +be_local_closure(class_Animate_oscillator_set_duty_cycle, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(set_duty_cycle), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x14080300, // 0000 LT R2 R1 K0 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040000, // 0002 LDCONST R1 K0 + 0x540A0063, // 0003 LDINT R2 100 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x54060063, // 0006 LDINT R1 100 + 0x90020201, // 0007 SETMBR R0 K1 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_a +********************************************************************/ +be_local_closure(class_Animate_oscillator_set_a, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(set_a), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020401, // 0000 SETMBR R0 K2 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_b +********************************************************************/ +be_local_closure(class_Animate_oscillator_set_b, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(set_b), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020601, // 0000 SETMBR R0 K3 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_form +********************************************************************/ +be_local_closure(class_Animate_oscillator_set_form, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(set_form), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x58040004, // 0003 LDCONST R1 K4 + 0x90020A01, // 0004 SETMBR R0 K5 R1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_phase +********************************************************************/ +be_local_closure(class_Animate_oscillator_set_phase, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(set_phase), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x14080300, // 0000 LT R2 R1 K0 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040000, // 0002 LDCONST R1 K0 + 0x540A0063, // 0003 LDINT R2 100 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x54060063, // 0006 LDINT R1 100 + 0x90020C01, // 0007 SETMBR R0 K6 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Animate_oscillator_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60140003, // 0000 GETGBL R5 G3 + 0x5C180000, // 0001 MOVE R6 R0 + 0x7C140200, // 0002 CALL R5 1 + 0x8C140B07, // 0003 GETMET R5 R5 K7 + 0x7C140200, // 0004 CALL R5 1 + 0x90020D00, // 0005 SETMBR R0 K6 K0 + 0x54160031, // 0006 LDINT R5 50 + 0x90020205, // 0007 SETMBR R0 K1 R5 + 0x90020401, // 0008 SETMBR R0 K2 R1 + 0x90020602, // 0009 SETMBR R0 K3 R2 + 0x90021003, // 000A SETMBR R0 K8 R3 + 0x90021201, // 000B SETMBR R0 K9 R1 + 0x4C140000, // 000C LDNIL R5 + 0x1C140805, // 000D EQ R5 R4 R5 + 0x78160000, // 000E JMPF R5 #0010 + 0x58100004, // 000F LDCONST R4 K4 + 0x90020A04, // 0010 SETMBR R0 K5 R4 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: animate +********************************************************************/ +be_local_closure(class_Animate_oscillator_animate, /* name */ + be_nested_proto( + 18, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Animate_oscillator, /* shared constants */ + be_str_weak(animate), + &be_const_str_solidified, + ( &(const binstruction[141]) { /* code */ + 0x88080108, // 0000 GETMBR R2 R0 K8 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x80000400, // 0004 RET 0 + 0x4C080000, // 0005 LDNIL R2 + 0x1C080202, // 0006 EQ R2 R1 R2 + 0x780A0003, // 0007 JMPF R2 #000C + 0xB80A1400, // 0008 GETNGBL R2 K10 + 0x8C08050B, // 0009 GETMET R2 R2 K11 + 0x7C080200, // 000A CALL R2 1 + 0x5C040400, // 000B MOVE R1 R2 + 0x8808010C, // 000C GETMBR R2 R0 K12 + 0x04080202, // 000D SUB R2 R1 R2 + 0x140C0500, // 000E LT R3 R2 K0 + 0x780E0001, // 000F JMPF R3 #0012 + 0x58080000, // 0010 LDCONST R2 K0 + 0x8804010C, // 0011 GETMBR R1 R0 K12 + 0x880C0108, // 0012 GETMBR R3 R0 K8 + 0x4C100000, // 0013 LDNIL R4 + 0xB8161400, // 0014 GETNGBL R5 K10 + 0x8C140B0D, // 0015 GETMET R5 R5 K13 + 0x881C0101, // 0016 GETMBR R7 R0 K1 + 0x58200000, // 0017 LDCONST R8 K0 + 0x54260063, // 0018 LDINT R9 100 + 0x58280000, // 0019 LDCONST R10 K0 + 0x5C2C0600, // 001A MOVE R11 R3 + 0x7C140C00, // 001B CALL R5 6 + 0x5C100A00, // 001C MOVE R4 R5 + 0x28140403, // 001D GE R5 R2 R3 + 0x78160007, // 001E JMPF R5 #0027 + 0x0C180403, // 001F DIV R6 R2 R3 + 0x08180C03, // 0020 MUL R6 R6 R3 + 0x8814010C, // 0021 GETMBR R5 R0 K12 + 0x00140A06, // 0022 ADD R5 R5 R6 + 0x90021805, // 0023 SETMBR R0 K12 R5 + 0x10080403, // 0024 MOD R2 R2 R3 + 0x8C14010E, // 0025 GETMET R5 R0 K14 + 0x7C140200, // 0026 CALL R5 1 + 0x88140102, // 0027 GETMBR R5 R0 K2 + 0x88180103, // 0028 GETMBR R6 R0 K3 + 0x881C0109, // 0029 GETMBR R7 R0 K9 + 0x5C200400, // 002A MOVE R8 R2 + 0x88240106, // 002B GETMBR R9 R0 K6 + 0x24241300, // 002C GT R9 R9 K0 + 0x7826000B, // 002D JMPF R9 #003A + 0xB8261400, // 002E GETNGBL R9 K10 + 0x8C24130D, // 002F GETMET R9 R9 K13 + 0x882C0106, // 0030 GETMBR R11 R0 K6 + 0x58300000, // 0031 LDCONST R12 K0 + 0x54360063, // 0032 LDINT R13 100 + 0x58380000, // 0033 LDCONST R14 K0 + 0x5C3C0600, // 0034 MOVE R15 R3 + 0x7C240C00, // 0035 CALL R9 6 + 0x00201009, // 0036 ADD R8 R8 R9 + 0x24241003, // 0037 GT R9 R8 R3 + 0x78260000, // 0038 JMPF R9 #003A + 0x04201003, // 0039 SUB R8 R8 R3 + 0x88240105, // 003A GETMBR R9 R0 K5 + 0x1C241304, // 003B EQ R9 R9 K4 + 0x78260009, // 003C JMPF R9 #0047 + 0xB8261400, // 003D GETNGBL R9 K10 + 0x8C24130F, // 003E GETMET R9 R9 K15 + 0x5C2C1000, // 003F MOVE R11 R8 + 0x58300000, // 0040 LDCONST R12 K0 + 0x04340704, // 0041 SUB R13 R3 K4 + 0x5C380A00, // 0042 MOVE R14 R5 + 0x5C3C0C00, // 0043 MOVE R15 R6 + 0x7C240C00, // 0044 CALL R9 6 + 0x5C1C1200, // 0045 MOVE R7 R9 + 0x7002003B, // 0046 JMP #0083 + 0x88240105, // 0047 GETMBR R9 R0 K5 + 0x1C241310, // 0048 EQ R9 R9 K16 + 0x78260015, // 0049 JMPF R9 #0060 + 0x14241004, // 004A LT R9 R8 R4 + 0x78260009, // 004B JMPF R9 #0056 + 0xB8261400, // 004C GETNGBL R9 K10 + 0x8C24130F, // 004D GETMET R9 R9 K15 + 0x5C2C1000, // 004E MOVE R11 R8 + 0x58300000, // 004F LDCONST R12 K0 + 0x04340904, // 0050 SUB R13 R4 K4 + 0x5C380A00, // 0051 MOVE R14 R5 + 0x5C3C0C00, // 0052 MOVE R15 R6 + 0x7C240C00, // 0053 CALL R9 6 + 0x5C1C1200, // 0054 MOVE R7 R9 + 0x70020008, // 0055 JMP #005F + 0xB8261400, // 0056 GETNGBL R9 K10 + 0x8C24130F, // 0057 GETMET R9 R9 K15 + 0x5C2C1000, // 0058 MOVE R11 R8 + 0x5C300800, // 0059 MOVE R12 R4 + 0x04340704, // 005A SUB R13 R3 K4 + 0x5C380C00, // 005B MOVE R14 R6 + 0x5C3C0A00, // 005C MOVE R15 R5 + 0x7C240C00, // 005D CALL R9 6 + 0x5C1C1200, // 005E MOVE R7 R9 + 0x70020022, // 005F JMP #0083 + 0x88240105, // 0060 GETMBR R9 R0 K5 + 0x1C241311, // 0061 EQ R9 R9 K17 + 0x78260005, // 0062 JMPF R9 #0069 + 0x14241004, // 0063 LT R9 R8 R4 + 0x78260001, // 0064 JMPF R9 #0067 + 0x5C1C0A00, // 0065 MOVE R7 R5 + 0x70020000, // 0066 JMP #0068 + 0x5C1C0C00, // 0067 MOVE R7 R6 + 0x70020019, // 0068 JMP #0083 + 0x88240105, // 0069 GETMBR R9 R0 K5 + 0x542A0003, // 006A LDINT R10 4 + 0x1C24120A, // 006B EQ R9 R9 R10 + 0x78260015, // 006C JMPF R9 #0083 + 0xB8261400, // 006D GETNGBL R9 K10 + 0x8C24130F, // 006E GETMET R9 R9 K15 + 0x5C2C1000, // 006F MOVE R11 R8 + 0x58300000, // 0070 LDCONST R12 K0 + 0x04340704, // 0071 SUB R13 R3 K4 + 0x58380000, // 0072 LDCONST R14 K0 + 0x543E7FFE, // 0073 LDINT R15 32767 + 0x7C240C00, // 0074 CALL R9 6 + 0xB82A1400, // 0075 GETNGBL R10 K10 + 0x8C281512, // 0076 GETMET R10 R10 K18 + 0x54321FFF, // 0077 LDINT R12 8192 + 0x0430120C, // 0078 SUB R12 R9 R12 + 0x7C280400, // 0079 CALL R10 2 + 0xB82E1400, // 007A GETNGBL R11 K10 + 0x8C2C170F, // 007B GETMET R11 R11 K15 + 0x5C341400, // 007C MOVE R13 R10 + 0x5439EFFF, // 007D LDINT R14 -4096 + 0x543E0FFF, // 007E LDINT R15 4096 + 0x5C400A00, // 007F MOVE R16 R5 + 0x5C440C00, // 0080 MOVE R17 R6 + 0x7C2C0C00, // 0081 CALL R11 6 + 0x5C1C1600, // 0082 MOVE R7 R11 + 0x90021207, // 0083 SETMBR R0 K9 R7 + 0x88240113, // 0084 GETMBR R9 R0 K19 + 0x88280114, // 0085 GETMBR R10 R0 K20 + 0x78260004, // 0086 JMPF R9 #008C + 0x782A0003, // 0087 JMPF R10 #008C + 0x5C2C1400, // 0088 MOVE R11 R10 + 0x5C301200, // 0089 MOVE R12 R9 + 0x5C340E00, // 008A MOVE R13 R7 + 0x7C2C0400, // 008B CALL R11 2 + 0x80040E00, // 008C RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Animate_oscillator +********************************************************************/ +extern const bclass be_class_Animate_animator; +be_local_class(Animate_oscillator, + 6, + &be_class_Animate_animator, + be_nested_map(13, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(animate, -1), be_const_closure(class_Animate_oscillator_animate_closure) }, + { be_const_key_weak(a, -1), be_const_var(2) }, + { be_const_key_weak(init, 11), be_const_closure(class_Animate_oscillator_init_closure) }, + { be_const_key_weak(duty_cycle, 10), be_const_var(1) }, + { be_const_key_weak(b, -1), be_const_var(3) }, + { be_const_key_weak(value, -1), be_const_var(5) }, + { be_const_key_weak(set_duty_cycle, 2), be_const_closure(class_Animate_oscillator_set_duty_cycle_closure) }, + { be_const_key_weak(set_a, -1), be_const_closure(class_Animate_oscillator_set_a_closure) }, + { be_const_key_weak(set_b, -1), be_const_closure(class_Animate_oscillator_set_b_closure) }, + { be_const_key_weak(set_form, -1), be_const_closure(class_Animate_oscillator_set_form_closure) }, + { be_const_key_weak(phase, -1), be_const_var(0) }, + { be_const_key_weak(form, -1), be_const_var(4) }, + { be_const_key_weak(set_phase, 0), be_const_closure(class_Animate_oscillator_set_phase_closure) }, + })), + be_str_weak(Animate_oscillator) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_leds_frame_be_methods.h b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_leds_frame_be_methods.h new file mode 100644 index 000000000..4e2246ae4 --- /dev/null +++ b/lib/libesp32/berry_animate/src/solidify/berry_animate/solidified_leds_frame_be_methods.h @@ -0,0 +1,178 @@ +/* Solidification of leds_frame_be_methods.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Leds_frame_be' ktab size: 6, total: 7 (saved 8 bytes) +static const bvalue be_ktab_class_Leds_frame_be[6] = { + /* K0 */ be_nested_str(set), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(setitem), + /* K3 */ be_nested_str(get), + /* K4 */ be_nested_str(pixel_size), + /* K5 */ be_nested_str(init), +}; + + +extern const bclass be_class_Leds_frame_be; + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_Leds_frame_be_setitem, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_frame_be, /* shared constants */ + &be_const_str_setitem, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x54160003, // 0001 LDINT R5 4 + 0x08140205, // 0002 MUL R5 R1 R5 + 0x5C180400, // 0003 MOVE R6 R2 + 0x541E0003, // 0004 LDINT R7 4 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pixel +********************************************************************/ +be_local_closure(class_Leds_frame_be_set_pixel, /* name */ + be_nested_proto( + 11, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_frame_be, /* shared constants */ + &be_const_str_set_pixel, + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x4C180000, // 0000 LDNIL R6 + 0x1C180A06, // 0001 EQ R6 R5 R6 + 0x781A0000, // 0002 JMPF R6 #0004 + 0x58140001, // 0003 LDCONST R5 K1 + 0x541A00FE, // 0004 LDINT R6 255 + 0x2C180A06, // 0005 AND R6 R5 R6 + 0x541E0017, // 0006 LDINT R7 24 + 0x38180C07, // 0007 SHL R6 R6 R7 + 0x541E00FE, // 0008 LDINT R7 255 + 0x2C1C0407, // 0009 AND R7 R2 R7 + 0x5422000F, // 000A LDINT R8 16 + 0x381C0E08, // 000B SHL R7 R7 R8 + 0x30180C07, // 000C OR R6 R6 R7 + 0x541E00FE, // 000D LDINT R7 255 + 0x2C1C0607, // 000E AND R7 R3 R7 + 0x54220007, // 000F LDINT R8 8 + 0x381C0E08, // 0010 SHL R7 R7 R8 + 0x30180C07, // 0011 OR R6 R6 R7 + 0x541E00FE, // 0012 LDINT R7 255 + 0x2C1C0807, // 0013 AND R7 R4 R7 + 0x30180C07, // 0014 OR R6 R6 R7 + 0x8C1C0102, // 0015 GETMET R7 R0 K2 + 0x5C240200, // 0016 MOVE R9 R1 + 0x5C280C00, // 0017 MOVE R10 R6 + 0x7C1C0600, // 0018 CALL R7 3 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: item +********************************************************************/ +be_local_closure(class_Leds_frame_be_item, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_frame_be, /* shared constants */ + &be_const_str_item, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C080103, // 0000 GETMET R2 R0 K3 + 0x54120003, // 0001 LDINT R4 4 + 0x08100204, // 0002 MUL R4 R1 R4 + 0x54160003, // 0003 LDINT R5 4 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Leds_frame_be_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_frame_be, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x14080301, // 0000 LT R2 R1 K1 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x44040200, // 0002 NEG R1 R1 + 0x90020801, // 0003 SETMBR R0 K4 R1 + 0x60080003, // 0004 GETGBL R2 G3 + 0x5C0C0000, // 0005 MOVE R3 R0 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080505, // 0007 GETMET R2 R2 K5 + 0x5411FFFB, // 0008 LDINT R4 -4 + 0x08100204, // 0009 MUL R4 R1 R4 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Leds_frame_be +********************************************************************/ +be_local_class(Leds_frame_be, + 0, + NULL, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(setitem, 1), be_const_closure(class_Leds_frame_be_setitem_closure) }, + { be_const_key(set_pixel, -1), be_const_closure(class_Leds_frame_be_set_pixel_closure) }, + { be_const_key(item, -1), be_const_closure(class_Leds_frame_be_item_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_frame_be_init_closure) }, + })), + (bstring*) &be_const_str_Leds_frame_be +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_0_Inspect.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_0_Inspect.h new file mode 100644 index 000000000..e39e54d86 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_0_Inspect.h @@ -0,0 +1,495 @@ +/* Solidification of Matter_0_Inspect.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: sort +********************************************************************/ +be_local_closure(module_matter_sort, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_const_int(1), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(sort), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x04080500, // 0004 SUB R2 R2 K0 + 0x400A0002, // 0005 CONNECT R2 K0 R2 + 0x7C040200, // 0006 CALL R1 1 + 0xA8020010, // 0007 EXBLK 0 #0019 + 0x5C080200, // 0008 MOVE R2 R1 + 0x7C080000, // 0009 CALL R2 0 + 0x940C0002, // 000A GETIDX R3 R0 R2 + 0x5C100400, // 000B MOVE R4 R2 + 0x24140901, // 000C GT R5 R4 K1 + 0x78160008, // 000D JMPF R5 #0017 + 0x04140900, // 000E SUB R5 R4 K0 + 0x94140005, // 000F GETIDX R5 R0 R5 + 0x24140A03, // 0010 GT R5 R5 R3 + 0x78160004, // 0011 JMPF R5 #0017 + 0x04140900, // 0012 SUB R5 R4 K0 + 0x94140005, // 0013 GETIDX R5 R0 R5 + 0x98000805, // 0014 SETIDX R0 R4 R5 + 0x04100900, // 0015 SUB R4 R4 K0 + 0x7001FFF4, // 0016 JMP #000C + 0x98000803, // 0017 SETIDX R0 R4 R3 + 0x7001FFEE, // 0018 JMP #0008 + 0x58040002, // 0019 LDCONST R1 K2 + 0xAC040200, // 001A CATCH R1 1 0 + 0xB0080000, // 001B RAISE 2 R0 R0 + 0x80040000, // 001C RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: jitter +********************************************************************/ +be_local_closure(module_matter_jitter, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str_weak(crypto), + /* K1 */ be_nested_str_weak(random), + /* K2 */ be_nested_str_weak(get), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(2147483647), + /* K5 */ be_nested_str_weak(tasmota), + /* K6 */ be_nested_str_weak(millis), + }), + be_str_weak(jitter), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x54120003, // 0002 LDINT R4 4 + 0x7C080400, // 0003 CALL R2 2 + 0x8C080502, // 0004 GETMET R2 R2 K2 + 0x58100003, // 0005 LDCONST R4 K3 + 0x54160003, // 0006 LDINT R5 4 + 0x7C080600, // 0007 CALL R2 3 + 0x2C080504, // 0008 AND R2 R2 K4 + 0xB80E0A00, // 0009 GETNGBL R3 K5 + 0x8C0C0706, // 000A GETMET R3 R3 K6 + 0x10140400, // 000B MOD R5 R2 R0 + 0x7C0C0400, // 000C CALL R3 2 + 0x80040600, // 000D RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: inspect +********************************************************************/ +be_local_closure(module_matter_inspect, /* name */ + be_nested_proto( + 15, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[16]) { /* constants */ + /* K0 */ be_nested_str_weak(introspect), + /* K1 */ be_nested_str_weak(members), + /* K2 */ be_nested_str_weak(get), + /* K3 */ be_nested_str_weak(function), + /* K4 */ be_nested_str_weak(find), + /* K5 */ be_nested_str_weak(push), + /* K6 */ be_nested_str_weak(stop_iteration), + /* K7 */ be_nested_str_weak(matter), + /* K8 */ be_nested_str_weak(sort), + /* K9 */ be_nested_str_weak(_X27_X25s_X27_X3A_X20_X25s), + /* K10 */ be_nested_str_weak(_X7B), + /* K11 */ be_nested_str_weak(concat), + /* K12 */ be_nested_str_weak(_X2C_X20), + /* K13 */ be_nested_str_weak(_X7D), + /* K14 */ be_nested_str_weak(Exception_X3A), + /* K15 */ be_nested_str_weak(_X7C), + }), + be_str_weak(inspect), + &be_const_str_solidified, + ( &(const binstruction[99]) { /* code */ + 0xA8020052, // 0000 EXBLK 0 #0054 + 0xA4060000, // 0001 IMPORT R1 K0 + 0x60080012, // 0002 GETGBL R2 G18 + 0x7C080000, // 0003 CALL R2 0 + 0x5C0C0000, // 0004 MOVE R3 R0 + 0x4C100000, // 0005 LDNIL R4 + 0x20100604, // 0006 NE R4 R3 R4 + 0x78120022, // 0007 JMPF R4 #002B + 0x60100010, // 0008 GETGBL R4 G16 + 0x8C140301, // 0009 GETMET R5 R1 K1 + 0x5C1C0600, // 000A MOVE R7 R3 + 0x7C140400, // 000B CALL R5 2 + 0x7C100200, // 000C CALL R4 1 + 0xA8020014, // 000D EXBLK 0 #0023 + 0x5C140800, // 000E MOVE R5 R4 + 0x7C140000, // 000F CALL R5 0 + 0x8C180302, // 0010 GETMET R6 R1 K2 + 0x5C200600, // 0011 MOVE R8 R3 + 0x5C240A00, // 0012 MOVE R9 R5 + 0x7C180600, // 0013 CALL R6 3 + 0x601C0004, // 0014 GETGBL R7 G4 + 0x5C200C00, // 0015 MOVE R8 R6 + 0x7C1C0200, // 0016 CALL R7 1 + 0x201C0F03, // 0017 NE R7 R7 K3 + 0x781E0008, // 0018 JMPF R7 #0022 + 0x8C1C0504, // 0019 GETMET R7 R2 K4 + 0x5C240A00, // 001A MOVE R9 R5 + 0x7C1C0400, // 001B CALL R7 2 + 0x4C200000, // 001C LDNIL R8 + 0x1C1C0E08, // 001D EQ R7 R7 R8 + 0x781E0002, // 001E JMPF R7 #0022 + 0x8C1C0505, // 001F GETMET R7 R2 K5 + 0x5C240A00, // 0020 MOVE R9 R5 + 0x7C1C0400, // 0021 CALL R7 2 + 0x7001FFEA, // 0022 JMP #000E + 0x58100006, // 0023 LDCONST R4 K6 + 0xAC100200, // 0024 CATCH R4 1 0 + 0xB0080000, // 0025 RAISE 2 R0 R0 + 0x60100003, // 0026 GETGBL R4 G3 + 0x5C140600, // 0027 MOVE R5 R3 + 0x7C100200, // 0028 CALL R4 1 + 0x5C0C0800, // 0029 MOVE R3 R4 + 0x7001FFD9, // 002A JMP #0005 + 0xB8120E00, // 002B GETNGBL R4 K7 + 0x8C100908, // 002C GETMET R4 R4 K8 + 0x5C180400, // 002D MOVE R6 R2 + 0x7C100400, // 002E CALL R4 2 + 0x5C080800, // 002F MOVE R2 R4 + 0x60100012, // 0030 GETGBL R4 G18 + 0x7C100000, // 0031 CALL R4 0 + 0x60140010, // 0032 GETGBL R5 G16 + 0x5C180400, // 0033 MOVE R6 R2 + 0x7C140200, // 0034 CALL R5 1 + 0xA8020011, // 0035 EXBLK 0 #0048 + 0x5C180A00, // 0036 MOVE R6 R5 + 0x7C180000, // 0037 CALL R6 0 + 0x8C1C0302, // 0038 GETMET R7 R1 K2 + 0x5C240000, // 0039 MOVE R9 R0 + 0x5C280C00, // 003A MOVE R10 R6 + 0x7C1C0600, // 003B CALL R7 3 + 0x8C200905, // 003C GETMET R8 R4 K5 + 0x60280018, // 003D GETGBL R10 G24 + 0x582C0009, // 003E LDCONST R11 K9 + 0x60300008, // 003F GETGBL R12 G8 + 0x5C340C00, // 0040 MOVE R13 R6 + 0x7C300200, // 0041 CALL R12 1 + 0x60340008, // 0042 GETGBL R13 G8 + 0x5C380E00, // 0043 MOVE R14 R7 + 0x7C340200, // 0044 CALL R13 1 + 0x7C280600, // 0045 CALL R10 3 + 0x7C200400, // 0046 CALL R8 2 + 0x7001FFED, // 0047 JMP #0036 + 0x58140006, // 0048 LDCONST R5 K6 + 0xAC140200, // 0049 CATCH R5 1 0 + 0xB0080000, // 004A RAISE 2 R0 R0 + 0x8C14090B, // 004B GETMET R5 R4 K11 + 0x581C000C, // 004C LDCONST R7 K12 + 0x7C140400, // 004D CALL R5 2 + 0x00161405, // 004E ADD R5 K10 R5 + 0x00140B0D, // 004F ADD R5 R5 K13 + 0xA8040001, // 0050 EXBLK 1 1 + 0x80040A00, // 0051 RET 1 R5 + 0xA8040001, // 0052 EXBLK 1 1 + 0x7002000D, // 0053 JMP #0062 + 0xAC040002, // 0054 CATCH R1 0 2 + 0x7002000A, // 0055 JMP #0061 + 0x600C0008, // 0056 GETGBL R3 G8 + 0x5C100200, // 0057 MOVE R4 R1 + 0x7C0C0200, // 0058 CALL R3 1 + 0x000E1C03, // 0059 ADD R3 K14 R3 + 0x000C070F, // 005A ADD R3 R3 K15 + 0x60100008, // 005B GETGBL R4 G8 + 0x5C140400, // 005C MOVE R5 R2 + 0x7C100200, // 005D CALL R4 1 + 0x000C0604, // 005E ADD R3 R3 R4 + 0x80040600, // 005F RET 1 R3 + 0x70020000, // 0060 JMP #0062 + 0xB0080000, // 0061 RAISE 2 R0 R0 + 0x80000000, // 0062 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: consolidate_clusters +********************************************************************/ +be_local_closure(module_matter_consolidate_clusters, /* name */ + be_nested_proto( + 16, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[13]) { /* constants */ + /* K0 */ be_nested_str_weak(CLUSTERS), + /* K1 */ be_nested_str_weak(keys), + /* K2 */ be_const_int(2), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(push), + /* K5 */ be_nested_str_weak(get), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(stop_iteration), + /* K8 */ be_nested_str_weak(contains), + /* K9 */ be_nested_str_weak(find), + /* K10 */ be_nested_str_weak(matter), + /* K11 */ be_nested_str_weak(sort), + /* K12 */ be_nested_str_weak(add), + }), + be_str_weak(consolidate_clusters), + &be_const_str_solidified, + ( &(const binstruction[180]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0004, // 0005 JMPF R2 #000B + 0x60080003, // 0006 GETGBL R2 G3 + 0x5C0C0000, // 0007 MOVE R3 R0 + 0x7C080200, // 0008 CALL R2 1 + 0x88080500, // 0009 GETMBR R2 R2 K0 + 0x70020001, // 000A JMP #000D + 0x60080013, // 000B GETGBL R2 G19 + 0x7C080000, // 000C CALL R2 0 + 0x600C0013, // 000D GETGBL R3 G19 + 0x7C0C0000, // 000E CALL R3 0 + 0x60100010, // 000F GETGBL R4 G16 + 0x8C140501, // 0010 GETMET R5 R2 K1 + 0x7C140200, // 0011 CALL R5 1 + 0x7C100200, // 0012 CALL R4 1 + 0xA802001A, // 0013 EXBLK 0 #002F + 0x5C140800, // 0014 MOVE R5 R4 + 0x7C140000, // 0015 CALL R5 0 + 0x60180012, // 0016 GETGBL R6 G18 + 0x7C180000, // 0017 CALL R6 0 + 0x941C0405, // 0018 GETIDX R7 R2 R5 + 0x4C200000, // 0019 LDNIL R8 + 0x20200E08, // 001A NE R8 R7 R8 + 0x78220004, // 001B JMPF R8 #0021 + 0x6020000C, // 001C GETGBL R8 G12 + 0x5C240E00, // 001D MOVE R9 R7 + 0x7C200200, // 001E CALL R8 1 + 0x0C201102, // 001F DIV R8 R8 K2 + 0x70020000, // 0020 JMP #0022 + 0x58200003, // 0021 LDCONST R8 K3 + 0x58240003, // 0022 LDCONST R9 K3 + 0x14281208, // 0023 LT R10 R9 R8 + 0x782A0007, // 0024 JMPF R10 #002D + 0x8C280D04, // 0025 GETMET R10 R6 K4 + 0x8C300F05, // 0026 GETMET R12 R7 K5 + 0x08381302, // 0027 MUL R14 R9 K2 + 0x543DFFFD, // 0028 LDINT R15 -2 + 0x7C300600, // 0029 CALL R12 3 + 0x7C280400, // 002A CALL R10 2 + 0x00241306, // 002B ADD R9 R9 K6 + 0x7001FFF5, // 002C JMP #0023 + 0x980C0A06, // 002D SETIDX R3 R5 R6 + 0x7001FFE4, // 002E JMP #0014 + 0x58100007, // 002F LDCONST R4 K7 + 0xAC100200, // 0030 CATCH R4 1 0 + 0xB0080000, // 0031 RAISE 2 R0 R0 + 0x60100010, // 0032 GETGBL R4 G16 + 0x8C140301, // 0033 GETMET R5 R1 K1 + 0x7C140200, // 0034 CALL R5 1 + 0x7C100200, // 0035 CALL R4 1 + 0xA802001E, // 0036 EXBLK 0 #0056 + 0x5C140800, // 0037 MOVE R5 R4 + 0x7C140000, // 0038 CALL R5 0 + 0x8C180708, // 0039 GETMET R6 R3 K8 + 0x5C200A00, // 003A MOVE R8 R5 + 0x7C180400, // 003B CALL R6 2 + 0x741A0002, // 003C JMPT R6 #0040 + 0x60180012, // 003D GETGBL R6 G18 + 0x7C180000, // 003E CALL R6 0 + 0x980C0A06, // 003F SETIDX R3 R5 R6 + 0x60180010, // 0040 GETGBL R6 G16 + 0x941C0205, // 0041 GETIDX R7 R1 R5 + 0x7C180200, // 0042 CALL R6 1 + 0xA802000D, // 0043 EXBLK 0 #0052 + 0x5C1C0C00, // 0044 MOVE R7 R6 + 0x7C1C0000, // 0045 CALL R7 0 + 0x94200605, // 0046 GETIDX R8 R3 R5 + 0x8C201109, // 0047 GETMET R8 R8 K9 + 0x5C280E00, // 0048 MOVE R10 R7 + 0x7C200400, // 0049 CALL R8 2 + 0x4C240000, // 004A LDNIL R9 + 0x1C201009, // 004B EQ R8 R8 R9 + 0x78220003, // 004C JMPF R8 #0051 + 0x94200605, // 004D GETIDX R8 R3 R5 + 0x8C201104, // 004E GETMET R8 R8 K4 + 0x5C280E00, // 004F MOVE R10 R7 + 0x7C200400, // 0050 CALL R8 2 + 0x7001FFF1, // 0051 JMP #0044 + 0x58180007, // 0052 LDCONST R6 K7 + 0xAC180200, // 0053 CATCH R6 1 0 + 0xB0080000, // 0054 RAISE 2 R0 R0 + 0x7001FFE0, // 0055 JMP #0037 + 0x58100007, // 0056 LDCONST R4 K7 + 0xAC100200, // 0057 CATCH R4 1 0 + 0xB0080000, // 0058 RAISE 2 R0 R0 + 0x60100012, // 0059 GETGBL R4 G18 + 0x7C100000, // 005A CALL R4 0 + 0x5416FFF7, // 005B LDINT R5 65528 + 0x40140805, // 005C CONNECT R5 R4 R5 + 0x5416FFF8, // 005D LDINT R5 65529 + 0x40140805, // 005E CONNECT R5 R4 R5 + 0x5416FFF9, // 005F LDINT R5 65530 + 0x40140805, // 0060 CONNECT R5 R4 R5 + 0x5416FFFA, // 0061 LDINT R5 65531 + 0x40140805, // 0062 CONNECT R5 R4 R5 + 0x5416FFFB, // 0063 LDINT R5 65532 + 0x40140805, // 0064 CONNECT R5 R4 R5 + 0x5416FFFC, // 0065 LDINT R5 65533 + 0x40140805, // 0066 CONNECT R5 R4 R5 + 0x60140010, // 0067 GETGBL R5 G16 + 0x8C180301, // 0068 GETMET R6 R1 K1 + 0x7C180200, // 0069 CALL R6 1 + 0x7C140200, // 006A CALL R5 1 + 0xA8020017, // 006B EXBLK 0 #0084 + 0x5C180A00, // 006C MOVE R6 R5 + 0x7C180000, // 006D CALL R6 0 + 0x601C0010, // 006E GETGBL R7 G16 + 0x5C200800, // 006F MOVE R8 R4 + 0x7C1C0200, // 0070 CALL R7 1 + 0xA802000D, // 0071 EXBLK 0 #0080 + 0x5C200E00, // 0072 MOVE R8 R7 + 0x7C200000, // 0073 CALL R8 0 + 0x94240606, // 0074 GETIDX R9 R3 R6 + 0x8C241309, // 0075 GETMET R9 R9 K9 + 0x5C2C1000, // 0076 MOVE R11 R8 + 0x7C240400, // 0077 CALL R9 2 + 0x4C280000, // 0078 LDNIL R10 + 0x1C24120A, // 0079 EQ R9 R9 R10 + 0x78260003, // 007A JMPF R9 #007F + 0x94240606, // 007B GETIDX R9 R3 R6 + 0x8C241304, // 007C GETMET R9 R9 K4 + 0x5C2C1000, // 007D MOVE R11 R8 + 0x7C240400, // 007E CALL R9 2 + 0x7001FFF1, // 007F JMP #0072 + 0x581C0007, // 0080 LDCONST R7 K7 + 0xAC1C0200, // 0081 CATCH R7 1 0 + 0xB0080000, // 0082 RAISE 2 R0 R0 + 0x7001FFE7, // 0083 JMP #006C + 0x58140007, // 0084 LDCONST R5 K7 + 0xAC140200, // 0085 CATCH R5 1 0 + 0xB0080000, // 0086 RAISE 2 R0 R0 + 0x60140010, // 0087 GETGBL R5 G16 + 0x8C180701, // 0088 GETMET R6 R3 K1 + 0x7C180200, // 0089 CALL R6 1 + 0x7C140200, // 008A CALL R5 1 + 0xA8020008, // 008B EXBLK 0 #0095 + 0x5C180A00, // 008C MOVE R6 R5 + 0x7C180000, // 008D CALL R6 0 + 0x941C0606, // 008E GETIDX R7 R3 R6 + 0xB8221400, // 008F GETNGBL R8 K10 + 0x8C20110B, // 0090 GETMET R8 R8 K11 + 0x5C280E00, // 0091 MOVE R10 R7 + 0x7C200400, // 0092 CALL R8 2 + 0x980C0C08, // 0093 SETIDX R3 R6 R8 + 0x7001FFF6, // 0094 JMP #008C + 0x58140007, // 0095 LDCONST R5 K7 + 0xAC140200, // 0096 CATCH R5 1 0 + 0xB0080000, // 0097 RAISE 2 R0 R0 + 0x60140010, // 0098 GETGBL R5 G16 + 0x8C180701, // 0099 GETMET R6 R3 K1 + 0x7C180200, // 009A CALL R6 1 + 0x7C140200, // 009B CALL R5 1 + 0xA8020012, // 009C EXBLK 0 #00B0 + 0x5C180A00, // 009D MOVE R6 R5 + 0x7C180000, // 009E CALL R6 0 + 0x941C0606, // 009F GETIDX R7 R3 R6 + 0x60200015, // 00A0 GETGBL R8 G21 + 0x7C200000, // 00A1 CALL R8 0 + 0x58240003, // 00A2 LDCONST R9 K3 + 0x6028000C, // 00A3 GETGBL R10 G12 + 0x5C2C0E00, // 00A4 MOVE R11 R7 + 0x7C280200, // 00A5 CALL R10 1 + 0x1428120A, // 00A6 LT R10 R9 R10 + 0x782A0005, // 00A7 JMPF R10 #00AE + 0x8C28110C, // 00A8 GETMET R10 R8 K12 + 0x94300E09, // 00A9 GETIDX R12 R7 R9 + 0x5435FFFD, // 00AA LDINT R13 -2 + 0x7C280600, // 00AB CALL R10 3 + 0x00241306, // 00AC ADD R9 R9 K6 + 0x7001FFF4, // 00AD JMP #00A3 + 0x980C0C08, // 00AE SETIDX R3 R6 R8 + 0x7001FFEC, // 00AF JMP #009D + 0x58140007, // 00B0 LDCONST R5 K7 + 0xAC140200, // 00B1 CATCH R5 1 0 + 0xB0080000, // 00B2 RAISE 2 R0 R0 + 0x80040600, // 00B3 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: UC_LIST +********************************************************************/ +be_local_closure(module_matter_UC_LIST, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 1, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(UPDATE_COMMANDS), + }), + be_str_weak(UC_LIST), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x88080500, // 0003 GETMBR R2 R2 K0 + 0x000C0401, // 0004 ADD R3 R2 R1 + 0x80040600, // 0005 RET 1 R3 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Base38.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Base38.h new file mode 100644 index 000000000..b6646dc6c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Base38.h @@ -0,0 +1,145 @@ +/* Solidification of Matter_Base38.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Base38; + +/******************************************************************** +** Solidified function: encode +********************************************************************/ +be_local_closure(class_Matter_Base38_encode, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 4, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str_weak(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_X2D_X2E), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(), + /* K3 */ be_const_int(1), + }), + be_str_weak(b38_enc), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x580C0001, // 0001 LDCONST R3 K1 + 0x58100002, // 0002 LDCONST R4 K2 + 0x14140601, // 0003 LT R5 R3 R1 + 0x78160007, // 0004 JMPF R5 #000D + 0x54160025, // 0005 LDINT R5 38 + 0x10140005, // 0006 MOD R5 R0 R5 + 0x94140405, // 0007 GETIDX R5 R2 R5 + 0x00100805, // 0008 ADD R4 R4 R5 + 0x54160025, // 0009 LDINT R5 38 + 0x0C000005, // 000A DIV R0 R0 R5 + 0x000C0703, // 000B ADD R3 R3 K3 + 0x7001FFF5, // 000C JMP #0003 + 0x80040800, // 000D RET 1 R4 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_const_class(be_class_Matter_Base38), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(), + /* K3 */ be_const_int(2), + /* K4 */ be_const_int(1), + /* K5 */ be_const_int(3), + }), + be_str_weak(encode), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x84080000, // 0001 CLOSURE R2 P0 + 0x580C0001, // 0002 LDCONST R3 K1 + 0x6010000C, // 0003 GETGBL R4 G12 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C100200, // 0005 CALL R4 1 + 0x58140002, // 0006 LDCONST R5 K2 + 0x14180604, // 0007 LT R6 R3 R4 + 0x781A002F, // 0008 JMPF R6 #0039 + 0x4C180000, // 0009 LDNIL R6 + 0x001C0703, // 000A ADD R7 R3 K3 + 0x141C0E04, // 000B LT R7 R7 R4 + 0x781E0012, // 000C JMPF R7 #0020 + 0x941C0003, // 000D GETIDX R7 R0 R3 + 0x00200704, // 000E ADD R8 R3 K4 + 0x94200008, // 000F GETIDX R8 R0 R8 + 0x54260007, // 0010 LDINT R9 8 + 0x38201009, // 0011 SHL R8 R8 R9 + 0x301C0E08, // 0012 OR R7 R7 R8 + 0x00200703, // 0013 ADD R8 R3 K3 + 0x94200008, // 0014 GETIDX R8 R0 R8 + 0x5426000F, // 0015 LDINT R9 16 + 0x38201009, // 0016 SHL R8 R8 R9 + 0x301C0E08, // 0017 OR R7 R7 R8 + 0x5C180E00, // 0018 MOVE R6 R7 + 0x5C1C0400, // 0019 MOVE R7 R2 + 0x5C200C00, // 001A MOVE R8 R6 + 0x54260004, // 001B LDINT R9 5 + 0x7C1C0400, // 001C CALL R7 2 + 0x00140A07, // 001D ADD R5 R5 R7 + 0x000C0705, // 001E ADD R3 R3 K5 + 0x70020017, // 001F JMP #0038 + 0x001C0704, // 0020 ADD R7 R3 K4 + 0x141C0E04, // 0021 LT R7 R7 R4 + 0x781E000D, // 0022 JMPF R7 #0031 + 0x941C0003, // 0023 GETIDX R7 R0 R3 + 0x00200704, // 0024 ADD R8 R3 K4 + 0x94200008, // 0025 GETIDX R8 R0 R8 + 0x54260007, // 0026 LDINT R9 8 + 0x38201009, // 0027 SHL R8 R8 R9 + 0x301C0E08, // 0028 OR R7 R7 R8 + 0x5C180E00, // 0029 MOVE R6 R7 + 0x5C1C0400, // 002A MOVE R7 R2 + 0x5C200C00, // 002B MOVE R8 R6 + 0x54260003, // 002C LDINT R9 4 + 0x7C1C0400, // 002D CALL R7 2 + 0x00140A07, // 002E ADD R5 R5 R7 + 0x000C0703, // 002F ADD R3 R3 K3 + 0x70020006, // 0030 JMP #0038 + 0x94180003, // 0031 GETIDX R6 R0 R3 + 0x5C1C0400, // 0032 MOVE R7 R2 + 0x5C200C00, // 0033 MOVE R8 R6 + 0x58240003, // 0034 LDCONST R9 K3 + 0x7C1C0400, // 0035 CALL R7 2 + 0x00140A07, // 0036 ADD R5 R5 R7 + 0x000C0704, // 0037 ADD R3 R3 K4 + 0x7001FFCD, // 0038 JMP #0007 + 0x80040A00, // 0039 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Base38 +********************************************************************/ +be_local_class(Matter_Base38, + 0, + NULL, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(encode, -1), be_const_static_closure(class_Matter_Base38_encode_closure) }, + })), + be_str_weak(Matter_Base38) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Context.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Context.h new file mode 100644 index 000000000..944e0a787 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Context.h @@ -0,0 +1,1845 @@ +/* Solidification of Matter_Commissioning_Context.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Commisioning_Context' ktab size: 185, total: 362 (saved 1416 bytes) +static const bvalue be_ktab_class_Matter_Commisioning_Context[185] = { + /* K0 */ be_nested_str_weak(session), + /* K1 */ be_nested_str_weak(raw), + /* K2 */ be_nested_str_weak(app_payload_idx), + /* K3 */ be_const_int(2147483647), + /* K4 */ be_nested_str_weak(tohex), + /* K5 */ be_nested_str_weak(log), + /* K6 */ be_nested_str_weak(MTR_X3A_X20_X3EStatus_X20_X20_X20_X20_X25s), + /* K7 */ be_nested_str_weak(0000000000000000), + /* K8 */ be_const_int(3), + /* K9 */ be_nested_str_weak(crypto), + /* K10 */ be_nested_str_weak(tasmota), + /* K11 */ be_nested_str_weak(loglevel), + /* K12 */ be_nested_str_weak(MTR_X3A_X20SEARCHING_X3A_X20destinationId_X3D), + /* K13 */ be_nested_str_weak(device), + /* K14 */ be_nested_str_weak(sessions), + /* K15 */ be_nested_str_weak(fabrics), + /* K16 */ be_nested_str_weak(noc), + /* K17 */ be_nested_str_weak(fabric_id), + /* K18 */ be_nested_str_weak(device_id), + /* K19 */ be_nested_str_weak(get_ca_pub), + /* K20 */ be_nested_str_weak(get_ipk_group_key), + /* K21 */ be_nested_str_weak(HMAC_SHA256), + /* K22 */ be_nested_str_weak(update), + /* K23 */ be_nested_str_weak(out), + /* K24 */ be_nested_str_weak(MTR_X3A_X20SIGMA1_X3A_X20candidateDestinationId_X3D), + /* K25 */ be_nested_str_weak(stop_iteration), + /* K26 */ be_nested_str_weak(MTR_X3A_X20add_session_X20local_session_id_X3D_X25i_X20initiator_session_id_X3D_X25i), + /* K27 */ be_nested_str_weak(create_session), + /* K28 */ be_nested_str_weak(set_keys), + /* K29 */ be_nested_str_weak(opcode), + /* K30 */ be_nested_str_weak(local_session_id), + /* K31 */ be_const_int(0), + /* K32 */ be_nested_str_weak(protocol_id), + /* K33 */ be_nested_str_weak(MTR_X3A_X20invalid_X20PBKDFParamRequest_X20message), + /* K34 */ be_const_int(2), + /* K35 */ be_nested_str_weak(MTR_X3A_X20StatusReport_X28General_X20Code_X3A_X20FAILURE_X2C_X20ProtocolId_X3A_X20SECURE_CHANNEL_X2C_X20ProtocolCode_X3A_X20INVALID_PARAMETER_X29), + /* K36 */ be_nested_str_weak(send_status_report), + /* K37 */ be_const_int(1), + /* K38 */ be_nested_str_weak(matter), + /* K39 */ be_nested_str_weak(PBKDFParamRequest), + /* K40 */ be_nested_str_weak(parse), + /* K41 */ be_nested_str_weak(set_mode_PASE), + /* K42 */ be_nested_str_weak(__Msg1), + /* K43 */ be_nested_str_weak(passcodeId), + /* K44 */ be_nested_str_weak(MTR_X3A_X20non_X2Dzero_X20passcode_X20id), + /* K45 */ be_nested_str_weak(__future_initiator_session_id), + /* K46 */ be_nested_str_weak(initiator_session_id), + /* K47 */ be_nested_str_weak(__future_local_session_id), + /* K48 */ be_nested_str_weak(gen_local_session_id), + /* K49 */ be_nested_str_weak(MTR_X3A_X20_X2BSession_X20_X20_X20_X28_X256i_X29_X20from_X20_X27_X5B_X25s_X5D_X3A_X25i_X27), + /* K50 */ be_nested_str_weak(remote_ip), + /* K51 */ be_nested_str_weak(remote_port), + /* K52 */ be_nested_str_weak(PBKDFParamResponse), + /* K53 */ be_nested_str_weak(initiatorRandom), + /* K54 */ be_nested_str_weak(responderRandom), + /* K55 */ be_nested_str_weak(random), + /* K56 */ be_nested_str_weak(responderSessionId), + /* K57 */ be_nested_str_weak(pbkdf_parameters_salt), + /* K58 */ be_nested_str_weak(commissioning), + /* K59 */ be_nested_str_weak(commissioning_salt), + /* K60 */ be_nested_str_weak(pbkdf_parameters_iterations), + /* K61 */ be_nested_str_weak(commissioning_iterations), + /* K62 */ be_nested_str_weak(tlv2raw), + /* K63 */ be_nested_str_weak(__Msg2), + /* K64 */ be_nested_str_weak(build_response), + /* K65 */ be_nested_str_weak(encode_frame), + /* K66 */ be_nested_str_weak(responder), + /* K67 */ be_nested_str_weak(send_response_frame), + /* K68 */ be_nested_str_weak(add), + /* K69 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake1_X20message), + /* K70 */ be_nested_str_weak(Pake1), + /* K71 */ be_nested_str_weak(pA), + /* K72 */ be_nested_str_weak(SPAKE2P_Matter), + /* K73 */ be_nested_str_weak(commissioning_w0), + /* K74 */ be_nested_str_weak(commissioning_L), + /* K75 */ be_nested_str_weak(compute_pB), + /* K76 */ be_nested_str_weak(compute_ZV_verifier), + /* K77 */ be_nested_str_weak(SHA256), + /* K78 */ be_nested_str_weak(fromstring), + /* K79 */ be_nested_str_weak(Matter_Context_Prefix), + /* K80 */ be_nested_str_weak(set_context), + /* K81 */ be_nested_str_weak(compute_TT_hash), + /* K82 */ be_nested_str_weak(Pake2), + /* K83 */ be_nested_str_weak(pB), + /* K84 */ be_nested_str_weak(cB), + /* K85 */ be_nested_str_weak(__spake_cA), + /* K86 */ be_nested_str_weak(cA), + /* K87 */ be_nested_str_weak(__spake_Ke), + /* K88 */ be_nested_str_weak(Ke), + /* K89 */ be_nested_str_weak(MTR_X3A_X20New_X20Commissioning_X20_X28PASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i), + /* K90 */ be_nested_str_weak(_ip), + /* K91 */ be_nested_str_weak(_port), + /* K92 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake3_X20message), + /* K93 */ be_nested_str_weak(Pake3), + /* K94 */ be_nested_str_weak(MTR_X3A_X20invalid_X20cA_X20received), + /* K95 */ be_nested_str_weak(rtc_utc), + /* K96 */ be_nested_str_weak(HKDF_SHA256), + /* K97 */ be_nested_str_weak(derive), + /* K98 */ be_nested_str_weak(SEKeys_Info), + /* K99 */ be_nested_str_weak(add_session), + /* K100 */ be_nested_str_weak(Sigma3), + /* K101 */ be_nested_str_weak(S3K_Info), + /* K102 */ be_nested_str_weak(shared_secret), + /* K103 */ be_nested_str_weak(TBEData3Encrypted), + /* K104 */ be_nested_str_weak(AES_CCM), + /* K105 */ be_nested_str_weak(TBEData3_Nonce), + /* K106 */ be_nested_str_weak(decrypt), + /* K107 */ be_nested_str_weak(tag), + /* K108 */ be_nested_str_weak(MTR_X3A_X20Tag_X20don_X27t_X20match), + /* K109 */ be_nested_str_weak(TLV), + /* K110 */ be_nested_str_weak(findsubval), + /* K111 */ be_nested_str_weak(findsub), + /* K112 */ be_nested_str_weak(int), + /* K113 */ be_nested_str_weak(peer_node_id), + /* K114 */ be_nested_str_weak(int64), + /* K115 */ be_nested_str_weak(fromu32), + /* K116 */ be_nested_str_weak(tobytes), + /* K117 */ be_nested_str_weak(Matter_TLV_struct), + /* K118 */ be_nested_str_weak(add_TLV), + /* K119 */ be_nested_str_weak(B1), + /* K120 */ be_nested_str_weak(__initiator_pub), + /* K121 */ be_nested_str_weak(__responder_pub), + /* K122 */ be_nested_str_weak(EC_P256), + /* K123 */ be_nested_str_weak(ecdsa_verify_sha256), + /* K124 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature), + /* K125 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X20Invalid_X20signature_X2C_X20trying_X20anyways), + /* K126 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys), + /* K127 */ be_nested_str_weak(Msg3), + /* K128 */ be_nested_str_weak(close), + /* K129 */ be_nested_str_weak(_breadcrumb), + /* K130 */ be_nested_str_weak(counter_snd_next), + /* K131 */ be_nested_str_weak(set_persist), + /* K132 */ be_nested_str_weak(set_no_expiration), + /* K133 */ be_nested_str_weak(persist_to_fabric), + /* K134 */ be_nested_str_weak(save), + /* K135 */ be_nested_str_weak(is_commissioning_open), + /* K136 */ be_nested_str_weak(MTR_X3A_X20commissioning_X20not_X20open), + /* K137 */ be_nested_str_weak(parse_PBKDFParamRequest), + /* K138 */ be_nested_str_weak(parse_Pake1), + /* K139 */ be_nested_str_weak(parse_Pake3), + /* K140 */ be_nested_str_weak(parse_Sigma1), + /* K141 */ be_nested_str_weak(parse_Sigma3), + /* K142 */ be_nested_str_weak(parse_StatusReport), + /* K143 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28secure_X20channel_X29_X20_X2502X), + /* K144 */ be_nested_str_weak(Sigma1), + /* K145 */ be_nested_str_weak(initiatorEphPubKey), + /* K146 */ be_nested_str_weak(resumptionID), + /* K147 */ be_nested_str_weak(initiatorResumeMIC), + /* K148 */ be_nested_str_weak(find_session_by_resumption_id), + /* K149 */ be_nested_str_weak(_fabric), + /* K150 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20session_X20not_X20found_X20resumption_id_X3D_X25s), + /* K151 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption), + /* K152 */ be_nested_str_weak(Sigma1_Resume), + /* K153 */ be_nested_str_weak(NCASE_SigmaS1), + /* K154 */ be_nested_str_weak(_source_node_id), + /* K155 */ be_nested_str_weak(source_node_id), + /* K156 */ be_nested_str_weak(set_mode_CASE), + /* K157 */ be_nested_str_weak(resumption_id), + /* K158 */ be_nested_str_weak(Sigma2_Resume), + /* K159 */ be_nested_str_weak(NCASE_SigmaS2), + /* K160 */ be_nested_str_weak(Sigma2Resume), + /* K161 */ be_nested_str_weak(sigma2ResumeMIC), + /* K162 */ be_nested_str_weak(responderSessionID), + /* K163 */ be_nested_str_weak(SessionResumptionKeys), + /* K164 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20SUCCEEDED), + /* K165 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20switching_X20to_X20CASE), + /* K166 */ be_nested_str_weak(find_fabric_by_destination_id), + /* K167 */ be_nested_str_weak(destinationId), + /* K168 */ be_nested_str_weak(MTR_X3A_X20StatusReport_X28GeneralCode_X3A_X20FAILURE_X2C_X20ProtocolId_X3A_X20SECURE_CHANNEL_X2C_X20ProtocolCode_X3A_X20NO_SHARED_TRUST_ROOTS_X29), + /* K169 */ be_nested_str_weak(__responder_priv), + /* K170 */ be_nested_str_weak(public_key), + /* K171 */ be_nested_str_weak(shared_key), + /* K172 */ be_nested_str_weak(B2), + /* K173 */ be_nested_str_weak(get_noc), + /* K174 */ be_nested_str_weak(get_icac), + /* K175 */ be_nested_str_weak(ecdsa_sign_sha256), + /* K176 */ be_nested_str_weak(get_pk), + /* K177 */ be_nested_str_weak(Msg1), + /* K178 */ be_nested_str_weak(S2K_Info), + /* K179 */ be_nested_str_weak(TBEData2_Nonce), + /* K180 */ be_nested_str_weak(encrypt), + /* K181 */ be_nested_str_weak(Sigma2), + /* K182 */ be_nested_str_weak(responderEphPubKey), + /* K183 */ be_nested_str_weak(encrypted2), + /* K184 */ be_nested_str_weak(MTR_X3A_X20New_X20Connection_X20_X28CASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i), +}; + + +extern const bclass be_class_Matter_Commisioning_Context; + +/******************************************************************** +** Solidified function: parse_StatusReport +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_StatusReport, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_StatusReport), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0x880C0302, // 0001 GETMBR R3 R1 K2 + 0x400C0703, // 0002 CONNECT R3 R3 K3 + 0x88100301, // 0003 GETMBR R4 R1 K1 + 0x940C0803, // 0004 GETIDX R3 R4 R3 + 0x8C0C0704, // 0005 GETMET R3 R3 K4 + 0x7C0C0200, // 0006 CALL R3 1 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x60140018, // 0008 GETGBL R5 G24 + 0x58180006, // 0009 LDCONST R6 K6 + 0x5C1C0600, // 000A MOVE R7 R3 + 0x7C140400, // 000B CALL R5 2 + 0x20180707, // 000C NE R6 R3 K7 + 0x781A0001, // 000D JMPF R6 #0010 + 0x58180008, // 000E LDCONST R6 K8 + 0x70020000, // 000F JMP #0011 + 0x541A0003, // 0010 LDINT R6 4 + 0x7C100400, // 0011 CALL R4 2 + 0x50100000, // 0012 LDBOOL R4 0 0 + 0x80040800, // 0013 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_fabric_by_destination_id +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_find_fabric_by_destination_id, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(find_fabric_by_destination_id), + &be_const_str_solidified, + ( &(const binstruction[71]) { /* code */ + 0xA40E1200, // 0000 IMPORT R3 K9 + 0xB8121400, // 0001 GETNGBL R4 K10 + 0x8C10090B, // 0002 GETMET R4 R4 K11 + 0x541A0003, // 0003 LDINT R6 4 + 0x7C100400, // 0004 CALL R4 2 + 0x78120005, // 0005 JMPF R4 #000C + 0xB8120A00, // 0006 GETNGBL R4 K5 + 0x8C140304, // 0007 GETMET R5 R1 K4 + 0x7C140200, // 0008 CALL R5 1 + 0x00161805, // 0009 ADD R5 K12 R5 + 0x541A0003, // 000A LDINT R6 4 + 0x7C100400, // 000B CALL R4 2 + 0x60100010, // 000C GETGBL R4 G16 + 0x8814010D, // 000D GETMBR R5 R0 K13 + 0x88140B0E, // 000E GETMBR R5 R5 K14 + 0x88140B0F, // 000F GETMBR R5 R5 K15 + 0x7C100200, // 0010 CALL R4 1 + 0xA802002F, // 0011 EXBLK 0 #0042 + 0x5C140800, // 0012 MOVE R5 R4 + 0x7C140000, // 0013 CALL R5 0 + 0x88180B10, // 0014 GETMBR R6 R5 K16 + 0x4C1C0000, // 0015 LDNIL R7 + 0x1C180C07, // 0016 EQ R6 R6 R7 + 0x741A0007, // 0017 JMPT R6 #0020 + 0x88180B11, // 0018 GETMBR R6 R5 K17 + 0x4C1C0000, // 0019 LDNIL R7 + 0x1C180C07, // 001A EQ R6 R6 R7 + 0x741A0003, // 001B JMPT R6 #0020 + 0x88180B12, // 001C GETMBR R6 R5 K18 + 0x4C1C0000, // 001D LDNIL R7 + 0x1C180C07, // 001E EQ R6 R6 R7 + 0x781A0000, // 001F JMPF R6 #0021 + 0x7001FFF0, // 0020 JMP #0012 + 0x8C180B13, // 0021 GETMET R6 R5 K19 + 0x7C180200, // 0022 CALL R6 1 + 0x00180406, // 0023 ADD R6 R2 R6 + 0x881C0B11, // 0024 GETMBR R7 R5 K17 + 0x00180C07, // 0025 ADD R6 R6 R7 + 0x881C0B12, // 0026 GETMBR R7 R5 K18 + 0x00180C07, // 0027 ADD R6 R6 R7 + 0x8C1C0B14, // 0028 GETMET R7 R5 K20 + 0x7C1C0200, // 0029 CALL R7 1 + 0x8C200715, // 002A GETMET R8 R3 K21 + 0x5C280E00, // 002B MOVE R10 R7 + 0x7C200400, // 002C CALL R8 2 + 0x8C241116, // 002D GETMET R9 R8 K22 + 0x5C2C0C00, // 002E MOVE R11 R6 + 0x7C240400, // 002F CALL R9 2 + 0x8C241117, // 0030 GETMET R9 R8 K23 + 0x7C240200, // 0031 CALL R9 1 + 0xB82A1400, // 0032 GETNGBL R10 K10 + 0x8C28150B, // 0033 GETMET R10 R10 K11 + 0x54320003, // 0034 LDINT R12 4 + 0x7C280400, // 0035 CALL R10 2 + 0x782A0005, // 0036 JMPF R10 #003D + 0xB82A0A00, // 0037 GETNGBL R10 K5 + 0x8C2C1304, // 0038 GETMET R11 R9 K4 + 0x7C2C0200, // 0039 CALL R11 1 + 0x002E300B, // 003A ADD R11 K24 R11 + 0x54320003, // 003B LDINT R12 4 + 0x7C280400, // 003C CALL R10 2 + 0x1C281201, // 003D EQ R10 R9 R1 + 0x782A0001, // 003E JMPF R10 #0041 + 0xA8040001, // 003F EXBLK 1 1 + 0x80040A00, // 0040 RET 1 R5 + 0x7001FFCF, // 0041 JMP #0012 + 0x58100019, // 0042 LDCONST R4 K25 + 0xAC100200, // 0043 CATCH R4 1 0 + 0xB0080000, // 0044 RAISE 2 R0 R0 + 0x4C100000, // 0045 LDNIL R4 + 0x80040800, // 0046 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_every_second, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_session +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_add_session, /* name */ + be_nested_proto( + 12, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(add_session), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB81A0A00, // 0000 GETNGBL R6 K5 + 0x601C0018, // 0001 GETGBL R7 G24 + 0x5820001A, // 0002 LDCONST R8 K26 + 0x5C240200, // 0003 MOVE R9 R1 + 0x5C280400, // 0004 MOVE R10 R2 + 0x7C1C0600, // 0005 CALL R7 3 + 0x54220003, // 0006 LDINT R8 4 + 0x7C180400, // 0007 CALL R6 2 + 0x8818010D, // 0008 GETMBR R6 R0 K13 + 0x88180D0E, // 0009 GETMBR R6 R6 K14 + 0x8C180D1B, // 000A GETMET R6 R6 K27 + 0x5C200200, // 000B MOVE R8 R1 + 0x5C240400, // 000C MOVE R9 R2 + 0x7C180600, // 000D CALL R6 3 + 0x8C1C0D1C, // 000E GETMET R7 R6 K28 + 0x5C240600, // 000F MOVE R9 R3 + 0x5C280800, // 0010 MOVE R10 R4 + 0x5C2C0A00, // 0011 MOVE R11 R5 + 0x7C1C0800, // 0012 CALL R7 4 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_PBKDFParamRequest +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_PBKDFParamRequest), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x880C0300, // 0001 GETMBR R3 R1 K0 + 0x8810031D, // 0002 GETMBR R4 R1 K29 + 0x5416001F, // 0003 LDINT R5 32 + 0x20100805, // 0004 NE R4 R4 R5 + 0x74120005, // 0005 JMPT R4 #000C + 0x8810031E, // 0006 GETMBR R4 R1 K30 + 0x2010091F, // 0007 NE R4 R4 K31 + 0x74120002, // 0008 JMPT R4 #000C + 0x88100320, // 0009 GETMBR R4 R1 K32 + 0x2010091F, // 000A NE R4 R4 K31 + 0x78120010, // 000B JMPF R4 #001D + 0xB8120A00, // 000C GETNGBL R4 K5 + 0x58140021, // 000D LDCONST R5 K33 + 0x58180022, // 000E LDCONST R6 K34 + 0x7C100400, // 000F CALL R4 2 + 0xB8120A00, // 0010 GETNGBL R4 K5 + 0x58140023, // 0011 LDCONST R5 K35 + 0x58180008, // 0012 LDCONST R6 K8 + 0x7C100400, // 0013 CALL R4 2 + 0x8C100124, // 0014 GETMET R4 R0 K36 + 0x5C180200, // 0015 MOVE R6 R1 + 0x581C0025, // 0016 LDCONST R7 K37 + 0x5820001F, // 0017 LDCONST R8 K31 + 0x58240022, // 0018 LDCONST R9 K34 + 0x50280000, // 0019 LDBOOL R10 0 0 + 0x7C100C00, // 001A CALL R4 6 + 0x50100000, // 001B LDBOOL R4 0 0 + 0x80040800, // 001C RET 1 R4 + 0xB8124C00, // 001D GETNGBL R4 K38 + 0x8C100927, // 001E GETMET R4 R4 K39 + 0x7C100200, // 001F CALL R4 1 + 0x8C100928, // 0020 GETMET R4 R4 K40 + 0x88180301, // 0021 GETMBR R6 R1 K1 + 0x881C0302, // 0022 GETMBR R7 R1 K2 + 0x7C100600, // 0023 CALL R4 3 + 0x88140300, // 0024 GETMBR R5 R1 K0 + 0x8C140B29, // 0025 GETMET R5 R5 K41 + 0x7C140200, // 0026 CALL R5 1 + 0x88140302, // 0027 GETMBR R5 R1 K2 + 0x40140B03, // 0028 CONNECT R5 R5 K3 + 0x88180301, // 0029 GETMBR R6 R1 K1 + 0x94140C05, // 002A GETIDX R5 R6 R5 + 0x900E5405, // 002B SETMBR R3 K42 R5 + 0x8814092B, // 002C GETMBR R5 R4 K43 + 0x20140B1F, // 002D NE R5 R5 K31 + 0x78160010, // 002E JMPF R5 #0040 + 0xB8160A00, // 002F GETNGBL R5 K5 + 0x5818002C, // 0030 LDCONST R6 K44 + 0x581C0022, // 0031 LDCONST R7 K34 + 0x7C140400, // 0032 CALL R5 2 + 0xB8160A00, // 0033 GETNGBL R5 K5 + 0x58180023, // 0034 LDCONST R6 K35 + 0x581C0008, // 0035 LDCONST R7 K8 + 0x7C140400, // 0036 CALL R5 2 + 0x8C140124, // 0037 GETMET R5 R0 K36 + 0x5C1C0200, // 0038 MOVE R7 R1 + 0x58200025, // 0039 LDCONST R8 K37 + 0x5824001F, // 003A LDCONST R9 K31 + 0x58280022, // 003B LDCONST R10 K34 + 0x502C0000, // 003C LDBOOL R11 0 0 + 0x7C140C00, // 003D CALL R5 6 + 0x50140000, // 003E LDBOOL R5 0 0 + 0x80040A00, // 003F RET 1 R5 + 0x8814092E, // 0040 GETMBR R5 R4 K46 + 0x900E5A05, // 0041 SETMBR R3 K45 R5 + 0x8814010D, // 0042 GETMBR R5 R0 K13 + 0x88140B0E, // 0043 GETMBR R5 R5 K14 + 0x8C140B30, // 0044 GETMET R5 R5 K48 + 0x7C140200, // 0045 CALL R5 1 + 0x900E5E05, // 0046 SETMBR R3 K47 R5 + 0xB8160A00, // 0047 GETNGBL R5 K5 + 0x60180018, // 0048 GETGBL R6 G24 + 0x581C0031, // 0049 LDCONST R7 K49 + 0x8820072F, // 004A GETMBR R8 R3 K47 + 0x88240332, // 004B GETMBR R9 R1 K50 + 0x88280333, // 004C GETMBR R10 R1 K51 + 0x7C180800, // 004D CALL R6 4 + 0x581C0008, // 004E LDCONST R7 K8 + 0x7C140400, // 004F CALL R5 2 + 0xB8164C00, // 0050 GETNGBL R5 K38 + 0x8C140B34, // 0051 GETMET R5 R5 K52 + 0x7C140200, // 0052 CALL R5 1 + 0x88180935, // 0053 GETMBR R6 R4 K53 + 0x90166A06, // 0054 SETMBR R5 K53 R6 + 0x8C180537, // 0055 GETMET R6 R2 K55 + 0x5422001F, // 0056 LDINT R8 32 + 0x7C180400, // 0057 CALL R6 2 + 0x90166C06, // 0058 SETMBR R5 K54 R6 + 0x8818072F, // 0059 GETMBR R6 R3 K47 + 0x90167006, // 005A SETMBR R5 K56 R6 + 0x8818010D, // 005B GETMBR R6 R0 K13 + 0x88180D3A, // 005C GETMBR R6 R6 K58 + 0x88180D3B, // 005D GETMBR R6 R6 K59 + 0x90167206, // 005E SETMBR R5 K57 R6 + 0x8818010D, // 005F GETMBR R6 R0 K13 + 0x88180D3A, // 0060 GETMBR R6 R6 K58 + 0x88180D3D, // 0061 GETMBR R6 R6 K61 + 0x90167806, // 0062 SETMBR R5 K60 R6 + 0x8C180B3E, // 0063 GETMET R6 R5 K62 + 0x7C180200, // 0064 CALL R6 1 + 0x900E7E06, // 0065 SETMBR R3 K63 R6 + 0x8C1C0340, // 0066 GETMET R7 R1 K64 + 0x54260020, // 0067 LDINT R9 33 + 0x50280200, // 0068 LDBOOL R10 1 0 + 0x7C1C0600, // 0069 CALL R7 3 + 0x8C200F41, // 006A GETMET R8 R7 K65 + 0x5C280C00, // 006B MOVE R10 R6 + 0x7C200400, // 006C CALL R8 2 + 0x88240142, // 006D GETMBR R9 R0 K66 + 0x8C241343, // 006E GETMET R9 R9 K67 + 0x5C2C0E00, // 006F MOVE R11 R7 + 0x7C240400, // 0070 CALL R9 2 + 0x50240200, // 0071 LDBOOL R9 1 0 + 0x80041200, // 0072 RET 1 R9 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_status_report +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_send_status_report, /* name */ + be_nested_proto( + 12, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(send_status_report), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x8C180340, // 0000 GETMET R6 R1 K64 + 0x5422003F, // 0001 LDINT R8 64 + 0x5C240A00, // 0002 MOVE R9 R5 + 0x7C180600, // 0003 CALL R6 3 + 0x601C0015, // 0004 GETGBL R7 G21 + 0x7C1C0000, // 0005 CALL R7 0 + 0x8C200F44, // 0006 GETMET R8 R7 K68 + 0x5C280400, // 0007 MOVE R10 R2 + 0x582C0022, // 0008 LDCONST R11 K34 + 0x7C200600, // 0009 CALL R8 3 + 0x8C200F44, // 000A GETMET R8 R7 K68 + 0x5C280600, // 000B MOVE R10 R3 + 0x542E0003, // 000C LDINT R11 4 + 0x7C200600, // 000D CALL R8 3 + 0x8C200F44, // 000E GETMET R8 R7 K68 + 0x5C280800, // 000F MOVE R10 R4 + 0x542E0003, // 0010 LDINT R11 4 + 0x7C200600, // 0011 CALL R8 3 + 0x8C200D41, // 0012 GETMET R8 R6 K65 + 0x5C280E00, // 0013 MOVE R10 R7 + 0x7C200400, // 0014 CALL R8 2 + 0x88240142, // 0015 GETMBR R9 R0 K66 + 0x8C241343, // 0016 GETMET R9 R9 K67 + 0x5C2C0C00, // 0017 MOVE R11 R6 + 0x7C240400, // 0018 CALL R9 2 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_Pake1 +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */ + be_nested_proto( + 20, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_Pake1), + &be_const_str_solidified, + ( &(const binstruction[114]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x880C0300, // 0001 GETMBR R3 R1 K0 + 0x8810031D, // 0002 GETMBR R4 R1 K29 + 0x54160021, // 0003 LDINT R5 34 + 0x20100805, // 0004 NE R4 R4 R5 + 0x74120005, // 0005 JMPT R4 #000C + 0x8810031E, // 0006 GETMBR R4 R1 K30 + 0x2010091F, // 0007 NE R4 R4 K31 + 0x74120002, // 0008 JMPT R4 #000C + 0x88100320, // 0009 GETMBR R4 R1 K32 + 0x2010091F, // 000A NE R4 R4 K31 + 0x78120010, // 000B JMPF R4 #001D + 0xB8120A00, // 000C GETNGBL R4 K5 + 0x58140045, // 000D LDCONST R5 K69 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0xB8120A00, // 0010 GETNGBL R4 K5 + 0x58140023, // 0011 LDCONST R5 K35 + 0x58180008, // 0012 LDCONST R6 K8 + 0x7C100400, // 0013 CALL R4 2 + 0x8C100124, // 0014 GETMET R4 R0 K36 + 0x5C180200, // 0015 MOVE R6 R1 + 0x581C0025, // 0016 LDCONST R7 K37 + 0x5820001F, // 0017 LDCONST R8 K31 + 0x58240022, // 0018 LDCONST R9 K34 + 0x50280000, // 0019 LDBOOL R10 0 0 + 0x7C100C00, // 001A CALL R4 6 + 0x50100000, // 001B LDBOOL R4 0 0 + 0x80040800, // 001C RET 1 R4 + 0xB8124C00, // 001D GETNGBL R4 K38 + 0x8C100946, // 001E GETMET R4 R4 K70 + 0x7C100200, // 001F CALL R4 1 + 0x8C100928, // 0020 GETMET R4 R4 K40 + 0x88180301, // 0021 GETMBR R6 R1 K1 + 0x881C0302, // 0022 GETMBR R7 R1 K2 + 0x7C100600, // 0023 CALL R4 3 + 0x88140947, // 0024 GETMBR R5 R4 K71 + 0x8C180548, // 0025 GETMET R6 R2 K72 + 0x8820010D, // 0026 GETMBR R8 R0 K13 + 0x8820113A, // 0027 GETMBR R8 R8 K58 + 0x88201149, // 0028 GETMBR R8 R8 K73 + 0x4C240000, // 0029 LDNIL R9 + 0x8828010D, // 002A GETMBR R10 R0 K13 + 0x8828153A, // 002B GETMBR R10 R10 K58 + 0x8828154A, // 002C GETMBR R10 R10 K74 + 0x7C180800, // 002D CALL R6 4 + 0x8C1C0537, // 002E GETMET R7 R2 K55 + 0x5426001F, // 002F LDINT R9 32 + 0x7C1C0400, // 0030 CALL R7 2 + 0x8C200D4B, // 0031 GETMET R8 R6 K75 + 0x5C280E00, // 0032 MOVE R10 R7 + 0x7C200400, // 0033 CALL R8 2 + 0x8C200D4C, // 0034 GETMET R8 R6 K76 + 0x5C280A00, // 0035 MOVE R10 R5 + 0x7C200400, // 0036 CALL R8 2 + 0x8C20054D, // 0037 GETMET R8 R2 K77 + 0x7C200200, // 0038 CALL R8 1 + 0x8C241116, // 0039 GETMET R9 R8 K22 + 0x602C0015, // 003A GETGBL R11 G21 + 0x7C2C0000, // 003B CALL R11 0 + 0x8C2C174E, // 003C GETMET R11 R11 K78 + 0x8834014F, // 003D GETMBR R13 R0 K79 + 0x7C2C0400, // 003E CALL R11 2 + 0x7C240400, // 003F CALL R9 2 + 0x8C241116, // 0040 GETMET R9 R8 K22 + 0x882C072A, // 0041 GETMBR R11 R3 K42 + 0x7C240400, // 0042 CALL R9 2 + 0x8C241116, // 0043 GETMET R9 R8 K22 + 0x882C073F, // 0044 GETMBR R11 R3 K63 + 0x7C240400, // 0045 CALL R9 2 + 0x8C241117, // 0046 GETMET R9 R8 K23 + 0x7C240200, // 0047 CALL R9 1 + 0x901A8E05, // 0048 SETMBR R6 K71 R5 + 0x8C280D50, // 0049 GETMET R10 R6 K80 + 0x5C301200, // 004A MOVE R12 R9 + 0x7C280400, // 004B CALL R10 2 + 0x8C280D51, // 004C GETMET R10 R6 K81 + 0x50300200, // 004D LDBOOL R12 1 0 + 0x7C280400, // 004E CALL R10 2 + 0xB82A4C00, // 004F GETNGBL R10 K38 + 0x8C281552, // 0050 GETMET R10 R10 K82 + 0x7C280200, // 0051 CALL R10 1 + 0x882C0D53, // 0052 GETMBR R11 R6 K83 + 0x902AA60B, // 0053 SETMBR R10 K83 R11 + 0x882C0D54, // 0054 GETMBR R11 R6 K84 + 0x902AA80B, // 0055 SETMBR R10 K84 R11 + 0x8C2C153E, // 0056 GETMET R11 R10 K62 + 0x7C2C0200, // 0057 CALL R11 1 + 0x88300D56, // 0058 GETMBR R12 R6 K86 + 0x900EAA0C, // 0059 SETMBR R3 K85 R12 + 0x88300D58, // 005A GETMBR R12 R6 K88 + 0x900EAE0C, // 005B SETMBR R3 K87 R12 + 0x8C300340, // 005C GETMET R12 R1 K64 + 0x543A0022, // 005D LDINT R14 35 + 0x503C0200, // 005E LDBOOL R15 1 0 + 0x7C300600, // 005F CALL R12 3 + 0x8C341941, // 0060 GETMET R13 R12 K65 + 0x5C3C1600, // 0061 MOVE R15 R11 + 0x7C340400, // 0062 CALL R13 2 + 0xB83A0A00, // 0063 GETNGBL R14 K5 + 0x603C0018, // 0064 GETGBL R15 G24 + 0x58400059, // 0065 LDCONST R16 K89 + 0x8844072F, // 0066 GETMBR R17 R3 K47 + 0x8848075A, // 0067 GETMBR R18 R3 K90 + 0x884C075B, // 0068 GETMBR R19 R3 K91 + 0x7C3C0800, // 0069 CALL R15 4 + 0x58400022, // 006A LDCONST R16 K34 + 0x7C380400, // 006B CALL R14 2 + 0x88380142, // 006C GETMBR R14 R0 K66 + 0x8C381D43, // 006D GETMET R14 R14 K67 + 0x5C401800, // 006E MOVE R16 R12 + 0x7C380400, // 006F CALL R14 2 + 0x50380200, // 0070 LDBOOL R14 1 0 + 0x80041C00, // 0071 RET 1 R14 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x90028401, // 0001 SETMBR R0 K66 R1 + 0x880C030D, // 0002 GETMBR R3 R1 K13 + 0x90021A03, // 0003 SETMBR R0 K13 R3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_Pake3 +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ + be_nested_proto( + 19, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_Pake3), + &be_const_str_solidified, + ( &(const binstruction[101]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x880C0300, // 0001 GETMBR R3 R1 K0 + 0x8810031D, // 0002 GETMBR R4 R1 K29 + 0x54160023, // 0003 LDINT R5 36 + 0x20100805, // 0004 NE R4 R4 R5 + 0x74120005, // 0005 JMPT R4 #000C + 0x8810031E, // 0006 GETMBR R4 R1 K30 + 0x2010091F, // 0007 NE R4 R4 K31 + 0x74120002, // 0008 JMPT R4 #000C + 0x88100320, // 0009 GETMBR R4 R1 K32 + 0x2010091F, // 000A NE R4 R4 K31 + 0x78120010, // 000B JMPF R4 #001D + 0xB8120A00, // 000C GETNGBL R4 K5 + 0x5814005C, // 000D LDCONST R5 K92 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0xB8120A00, // 0010 GETNGBL R4 K5 + 0x58140023, // 0011 LDCONST R5 K35 + 0x58180008, // 0012 LDCONST R6 K8 + 0x7C100400, // 0013 CALL R4 2 + 0x8C100124, // 0014 GETMET R4 R0 K36 + 0x5C180200, // 0015 MOVE R6 R1 + 0x581C0025, // 0016 LDCONST R7 K37 + 0x5820001F, // 0017 LDCONST R8 K31 + 0x58240022, // 0018 LDCONST R9 K34 + 0x50280000, // 0019 LDBOOL R10 0 0 + 0x7C100C00, // 001A CALL R4 6 + 0x50100000, // 001B LDBOOL R4 0 0 + 0x80040800, // 001C RET 1 R4 + 0xB8124C00, // 001D GETNGBL R4 K38 + 0x8C10095D, // 001E GETMET R4 R4 K93 + 0x7C100200, // 001F CALL R4 1 + 0x8C100928, // 0020 GETMET R4 R4 K40 + 0x88180301, // 0021 GETMBR R6 R1 K1 + 0x881C0302, // 0022 GETMBR R7 R1 K2 + 0x7C100600, // 0023 CALL R4 3 + 0x88140956, // 0024 GETMBR R5 R4 K86 + 0x88180755, // 0025 GETMBR R6 R3 K85 + 0x20180A06, // 0026 NE R6 R5 R6 + 0x781A0010, // 0027 JMPF R6 #0039 + 0xB81A0A00, // 0028 GETNGBL R6 K5 + 0x581C005E, // 0029 LDCONST R7 K94 + 0x58200008, // 002A LDCONST R8 K8 + 0x7C180400, // 002B CALL R6 2 + 0xB81A0A00, // 002C GETNGBL R6 K5 + 0x581C0023, // 002D LDCONST R7 K35 + 0x58200008, // 002E LDCONST R8 K8 + 0x7C180400, // 002F CALL R6 2 + 0x8C180124, // 0030 GETMET R6 R0 K36 + 0x5C200200, // 0031 MOVE R8 R1 + 0x58240025, // 0032 LDCONST R9 K37 + 0x5828001F, // 0033 LDCONST R10 K31 + 0x582C0022, // 0034 LDCONST R11 K34 + 0x50300000, // 0035 LDBOOL R12 0 0 + 0x7C180C00, // 0036 CALL R6 6 + 0x50180000, // 0037 LDBOOL R6 0 0 + 0x80040C00, // 0038 RET 1 R6 + 0xB81A1400, // 0039 GETNGBL R6 K10 + 0x8C180D5F, // 003A GETMET R6 R6 K95 + 0x7C180200, // 003B CALL R6 1 + 0x8C1C0560, // 003C GETMET R7 R2 K96 + 0x7C1C0200, // 003D CALL R7 1 + 0x8C1C0F61, // 003E GETMET R7 R7 K97 + 0x88240757, // 003F GETMBR R9 R3 K87 + 0x60280015, // 0040 GETGBL R10 G21 + 0x7C280000, // 0041 CALL R10 0 + 0x602C0015, // 0042 GETGBL R11 G21 + 0x7C2C0000, // 0043 CALL R11 0 + 0x8C2C174E, // 0044 GETMET R11 R11 K78 + 0x88340162, // 0045 GETMBR R13 R0 K98 + 0x7C2C0400, // 0046 CALL R11 2 + 0x5432002F, // 0047 LDINT R12 48 + 0x7C1C0A00, // 0048 CALL R7 5 + 0x5422000E, // 0049 LDINT R8 15 + 0x40223E08, // 004A CONNECT R8 K31 R8 + 0x94200E08, // 004B GETIDX R8 R7 R8 + 0x5426000F, // 004C LDINT R9 16 + 0x542A001E, // 004D LDINT R10 31 + 0x4024120A, // 004E CONNECT R9 R9 R10 + 0x94240E09, // 004F GETIDX R9 R7 R9 + 0x542A001F, // 0050 LDINT R10 32 + 0x542E002E, // 0051 LDINT R11 47 + 0x4028140B, // 0052 CONNECT R10 R10 R11 + 0x94280E0A, // 0053 GETIDX R10 R7 R10 + 0x8C2C0124, // 0054 GETMET R11 R0 K36 + 0x5C340200, // 0055 MOVE R13 R1 + 0x5838001F, // 0056 LDCONST R14 K31 + 0x583C001F, // 0057 LDCONST R15 K31 + 0x5840001F, // 0058 LDCONST R16 K31 + 0x50440000, // 0059 LDBOOL R17 0 0 + 0x7C2C0C00, // 005A CALL R11 6 + 0x8C2C0163, // 005B GETMET R11 R0 K99 + 0x8834072F, // 005C GETMBR R13 R3 K47 + 0x8838072D, // 005D GETMBR R14 R3 K45 + 0x5C3C1000, // 005E MOVE R15 R8 + 0x5C401200, // 005F MOVE R16 R9 + 0x5C441400, // 0060 MOVE R17 R10 + 0x5C480C00, // 0061 MOVE R18 R6 + 0x7C2C0E00, // 0062 CALL R11 7 + 0x502C0200, // 0063 LDBOOL R11 1 0 + 0x80041600, // 0064 RET 1 R11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_Sigma3 +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ + be_nested_proto( + 36, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_Sigma3), + &be_const_str_solidified, + ( &(const binstruction[280]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x880C031D, // 0001 GETMBR R3 R1 K29 + 0x54120031, // 0002 LDINT R4 50 + 0x200C0604, // 0003 NE R3 R3 R4 + 0x740E0005, // 0004 JMPT R3 #000B + 0x880C031E, // 0005 GETMBR R3 R1 K30 + 0x200C071F, // 0006 NE R3 R3 K31 + 0x740E0002, // 0007 JMPT R3 #000B + 0x880C0320, // 0008 GETMBR R3 R1 K32 + 0x200C071F, // 0009 NE R3 R3 K31 + 0x780E000C, // 000A JMPF R3 #0018 + 0xB80E0A00, // 000B GETNGBL R3 K5 + 0x58100023, // 000C LDCONST R4 K35 + 0x58140008, // 000D LDCONST R5 K8 + 0x7C0C0400, // 000E CALL R3 2 + 0x8C0C0124, // 000F GETMET R3 R0 K36 + 0x5C140200, // 0010 MOVE R5 R1 + 0x58180025, // 0011 LDCONST R6 K37 + 0x581C001F, // 0012 LDCONST R7 K31 + 0x58200022, // 0013 LDCONST R8 K34 + 0x50240000, // 0014 LDBOOL R9 0 0 + 0x7C0C0C00, // 0015 CALL R3 6 + 0x500C0000, // 0016 LDBOOL R3 0 0 + 0x80040600, // 0017 RET 1 R3 + 0x880C0300, // 0018 GETMBR R3 R1 K0 + 0xB8124C00, // 0019 GETNGBL R4 K38 + 0x8C100964, // 001A GETMET R4 R4 K100 + 0x7C100200, // 001B CALL R4 1 + 0x8C100928, // 001C GETMET R4 R4 K40 + 0x88180301, // 001D GETMBR R6 R1 K1 + 0x881C0302, // 001E GETMBR R7 R1 K2 + 0x7C100600, // 001F CALL R4 3 + 0x8C14054D, // 0020 GETMET R5 R2 K77 + 0x7C140200, // 0021 CALL R5 1 + 0x8C140B16, // 0022 GETMET R5 R5 K22 + 0x881C072A, // 0023 GETMBR R7 R3 K42 + 0x7C140400, // 0024 CALL R5 2 + 0x8C140B16, // 0025 GETMET R5 R5 K22 + 0x881C073F, // 0026 GETMBR R7 R3 K63 + 0x7C140400, // 0027 CALL R5 2 + 0x8C140B17, // 0028 GETMET R5 R5 K23 + 0x7C140200, // 0029 CALL R5 1 + 0x60180015, // 002A GETGBL R6 G21 + 0x7C180000, // 002B CALL R6 0 + 0x8C180D4E, // 002C GETMET R6 R6 K78 + 0x88200165, // 002D GETMBR R8 R0 K101 + 0x7C180400, // 002E CALL R6 2 + 0x8C1C0560, // 002F GETMET R7 R2 K96 + 0x7C1C0200, // 0030 CALL R7 1 + 0x8C1C0F61, // 0031 GETMET R7 R7 K97 + 0x88240766, // 0032 GETMBR R9 R3 K102 + 0x8C280714, // 0033 GETMET R10 R3 K20 + 0x7C280200, // 0034 CALL R10 1 + 0x00281405, // 0035 ADD R10 R10 R5 + 0x5C2C0C00, // 0036 MOVE R11 R6 + 0x5432000F, // 0037 LDINT R12 16 + 0x7C1C0A00, // 0038 CALL R7 5 + 0x5421FFEE, // 0039 LDINT R8 -17 + 0x40223E08, // 003A CONNECT R8 K31 R8 + 0x88240967, // 003B GETMBR R9 R4 K103 + 0x94201208, // 003C GETIDX R8 R9 R8 + 0x5429FFEF, // 003D LDINT R10 -16 + 0x40281503, // 003E CONNECT R10 R10 K3 + 0x882C0967, // 003F GETMBR R11 R4 K103 + 0x9424160A, // 0040 GETIDX R9 R11 R10 + 0x8C300568, // 0041 GETMET R12 R2 K104 + 0x5C380E00, // 0042 MOVE R14 R7 + 0x603C0015, // 0043 GETGBL R15 G21 + 0x7C3C0000, // 0044 CALL R15 0 + 0x8C3C1F4E, // 0045 GETMET R15 R15 K78 + 0x88440169, // 0046 GETMBR R17 R0 K105 + 0x7C3C0400, // 0047 CALL R15 2 + 0x60400015, // 0048 GETGBL R16 G21 + 0x7C400000, // 0049 CALL R16 0 + 0x6044000C, // 004A GETGBL R17 G12 + 0x5C481000, // 004B MOVE R18 R8 + 0x7C440200, // 004C CALL R17 1 + 0x544A000F, // 004D LDINT R18 16 + 0x7C300C00, // 004E CALL R12 6 + 0x5C281800, // 004F MOVE R10 R12 + 0x8C30156A, // 0050 GETMET R12 R10 K106 + 0x5C381000, // 0051 MOVE R14 R8 + 0x7C300400, // 0052 CALL R12 2 + 0x5C2C1800, // 0053 MOVE R11 R12 + 0x8C30156B, // 0054 GETMET R12 R10 K107 + 0x7C300200, // 0055 CALL R12 1 + 0x20341809, // 0056 NE R13 R12 R9 + 0x78360010, // 0057 JMPF R13 #0069 + 0xB8360A00, // 0058 GETNGBL R13 K5 + 0x5838006C, // 0059 LDCONST R14 K108 + 0x583C0008, // 005A LDCONST R15 K8 + 0x7C340400, // 005B CALL R13 2 + 0xB8360A00, // 005C GETNGBL R13 K5 + 0x58380023, // 005D LDCONST R14 K35 + 0x583C0008, // 005E LDCONST R15 K8 + 0x7C340400, // 005F CALL R13 2 + 0x8C340124, // 0060 GETMET R13 R0 K36 + 0x5C3C0200, // 0061 MOVE R15 R1 + 0x58400025, // 0062 LDCONST R16 K37 + 0x5844001F, // 0063 LDCONST R17 K31 + 0x58480022, // 0064 LDCONST R18 K34 + 0x504C0000, // 0065 LDBOOL R19 0 0 + 0x7C340C00, // 0066 CALL R13 6 + 0x50340000, // 0067 LDBOOL R13 0 0 + 0x80041A00, // 0068 RET 1 R13 + 0xB8364C00, // 0069 GETNGBL R13 K38 + 0x88341B6D, // 006A GETMBR R13 R13 K109 + 0x8C341B28, // 006B GETMET R13 R13 K40 + 0x5C3C1600, // 006C MOVE R15 R11 + 0x7C340400, // 006D CALL R13 2 + 0x8C381B6E, // 006E GETMET R14 R13 K110 + 0x58400025, // 006F LDCONST R16 K37 + 0x7C380400, // 0070 CALL R14 2 + 0x8C3C1B6E, // 0071 GETMET R15 R13 K110 + 0x58440022, // 0072 LDCONST R17 K34 + 0x7C3C0400, // 0073 CALL R15 2 + 0x8C401B6E, // 0074 GETMET R16 R13 K110 + 0x58480008, // 0075 LDCONST R18 K8 + 0x7C400400, // 0076 CALL R16 2 + 0xB8464C00, // 0077 GETNGBL R17 K38 + 0x8844236D, // 0078 GETMBR R17 R17 K109 + 0x8C442328, // 0079 GETMET R17 R17 K40 + 0x5C4C1C00, // 007A MOVE R19 R14 + 0x7C440400, // 007B CALL R17 2 + 0x8C48236E, // 007C GETMET R18 R17 K110 + 0x54520008, // 007D LDINT R20 9 + 0x7C480400, // 007E CALL R18 2 + 0x8C4C236F, // 007F GETMET R19 R17 K111 + 0x54560005, // 0080 LDINT R21 6 + 0x7C4C0400, // 0081 CALL R19 2 + 0x8C50276E, // 0082 GETMET R20 R19 K110 + 0x545A0010, // 0083 LDINT R22 17 + 0x7C500400, // 0084 CALL R20 2 + 0x60540004, // 0085 GETGBL R21 G4 + 0x5C582800, // 0086 MOVE R22 R20 + 0x7C540200, // 0087 CALL R21 1 + 0x1C542B70, // 0088 EQ R21 R21 K112 + 0x78560007, // 0089 JMPF R21 #0092 + 0xB856E400, // 008A GETNGBL R21 K114 + 0x8C542B73, // 008B GETMET R21 R21 K115 + 0x5C5C2800, // 008C MOVE R23 R20 + 0x7C540400, // 008D CALL R21 2 + 0x8C542B74, // 008E GETMET R21 R21 K116 + 0x7C540200, // 008F CALL R21 1 + 0x900EE215, // 0090 SETMBR R3 K113 R21 + 0x70020002, // 0091 JMP #0095 + 0x8C542974, // 0092 GETMET R21 R20 K116 + 0x7C540200, // 0093 CALL R21 1 + 0x900EE215, // 0094 SETMBR R3 K113 R21 + 0xB8564C00, // 0095 GETNGBL R21 K38 + 0x88542B6D, // 0096 GETMBR R21 R21 K109 + 0x8C542B75, // 0097 GETMET R21 R21 K117 + 0x7C540200, // 0098 CALL R21 1 + 0x8C582B76, // 0099 GETMET R22 R21 K118 + 0x58600025, // 009A LDCONST R24 K37 + 0xB8664C00, // 009B GETNGBL R25 K38 + 0x8864336D, // 009C GETMBR R25 R25 K109 + 0x88643377, // 009D GETMBR R25 R25 K119 + 0x5C681C00, // 009E MOVE R26 R14 + 0x7C580800, // 009F CALL R22 4 + 0x8C582B76, // 00A0 GETMET R22 R21 K118 + 0x58600022, // 00A1 LDCONST R24 K34 + 0xB8664C00, // 00A2 GETNGBL R25 K38 + 0x8864336D, // 00A3 GETMBR R25 R25 K109 + 0x88643377, // 00A4 GETMBR R25 R25 K119 + 0x5C681E00, // 00A5 MOVE R26 R15 + 0x7C580800, // 00A6 CALL R22 4 + 0x8C582B76, // 00A7 GETMET R22 R21 K118 + 0x58600008, // 00A8 LDCONST R24 K8 + 0xB8664C00, // 00A9 GETNGBL R25 K38 + 0x8864336D, // 00AA GETMBR R25 R25 K109 + 0x88643377, // 00AB GETMBR R25 R25 K119 + 0x88680778, // 00AC GETMBR R26 R3 K120 + 0x7C580800, // 00AD CALL R22 4 + 0x8C582B76, // 00AE GETMET R22 R21 K118 + 0x54620003, // 00AF LDINT R24 4 + 0xB8664C00, // 00B0 GETNGBL R25 K38 + 0x8864336D, // 00B1 GETMBR R25 R25 K109 + 0x88643377, // 00B2 GETMBR R25 R25 K119 + 0x88680779, // 00B3 GETMBR R26 R3 K121 + 0x7C580800, // 00B4 CALL R22 4 + 0x8C582B3E, // 00B5 GETMET R22 R21 K62 + 0x7C580200, // 00B6 CALL R22 1 + 0x8C5C057A, // 00B7 GETMET R23 R2 K122 + 0x7C5C0200, // 00B8 CALL R23 1 + 0x8C5C2F7B, // 00B9 GETMET R23 R23 K123 + 0x5C642400, // 00BA MOVE R25 R18 + 0x5C682C00, // 00BB MOVE R26 R22 + 0x5C6C2000, // 00BC MOVE R27 R16 + 0x7C5C0800, // 00BD CALL R23 4 + 0x5C602E00, // 00BE MOVE R24 R23 + 0x74620008, // 00BF JMPT R24 #00C9 + 0xB8620A00, // 00C0 GETNGBL R24 K5 + 0x5864007C, // 00C1 LDCONST R25 K124 + 0x58680022, // 00C2 LDCONST R26 K34 + 0x7C600400, // 00C3 CALL R24 2 + 0xB8620A00, // 00C4 GETNGBL R24 K5 + 0x5864007D, // 00C5 LDCONST R25 K125 + 0x58680022, // 00C6 LDCONST R26 K34 + 0x7C600400, // 00C7 CALL R24 2 + 0x70020003, // 00C8 JMP #00CD + 0xB8620A00, // 00C9 GETNGBL R24 K5 + 0x5864007E, // 00CA LDCONST R25 K126 + 0x58680008, // 00CB LDCONST R26 K8 + 0x7C600400, // 00CC CALL R24 2 + 0x8C60054D, // 00CD GETMET R24 R2 K77 + 0x7C600200, // 00CE CALL R24 1 + 0x8C603116, // 00CF GETMET R24 R24 K22 + 0x8868072A, // 00D0 GETMBR R26 R3 K42 + 0x7C600400, // 00D1 CALL R24 2 + 0x8C603116, // 00D2 GETMET R24 R24 K22 + 0x8868073F, // 00D3 GETMBR R26 R3 K63 + 0x7C600400, // 00D4 CALL R24 2 + 0x8C603116, // 00D5 GETMET R24 R24 K22 + 0x8868097F, // 00D6 GETMBR R26 R4 K127 + 0x7C600400, // 00D7 CALL R24 2 + 0x8C603117, // 00D8 GETMET R24 R24 K23 + 0x7C600200, // 00D9 CALL R24 1 + 0x5C143000, // 00DA MOVE R5 R24 + 0x4C600000, // 00DB LDNIL R24 + 0x900E5418, // 00DC SETMBR R3 K42 R24 + 0x4C600000, // 00DD LDNIL R24 + 0x900E7E18, // 00DE SETMBR R3 K63 R24 + 0x8C600560, // 00DF GETMET R24 R2 K96 + 0x7C600200, // 00E0 CALL R24 1 + 0x8C603161, // 00E1 GETMET R24 R24 K97 + 0x88680766, // 00E2 GETMBR R26 R3 K102 + 0x8C6C0714, // 00E3 GETMET R27 R3 K20 + 0x7C6C0200, // 00E4 CALL R27 1 + 0x006C3605, // 00E5 ADD R27 R27 R5 + 0x60700015, // 00E6 GETGBL R28 G21 + 0x7C700000, // 00E7 CALL R28 0 + 0x8C70394E, // 00E8 GETMET R28 R28 K78 + 0x88780162, // 00E9 GETMBR R30 R0 K98 + 0x7C700400, // 00EA CALL R28 2 + 0x5476002F, // 00EB LDINT R29 48 + 0x7C600A00, // 00EC CALL R24 5 + 0x5466000E, // 00ED LDINT R25 15 + 0x40663E19, // 00EE CONNECT R25 K31 R25 + 0x94643019, // 00EF GETIDX R25 R24 R25 + 0x546A000F, // 00F0 LDINT R26 16 + 0x546E001E, // 00F1 LDINT R27 31 + 0x4068341B, // 00F2 CONNECT R26 R26 R27 + 0x9468301A, // 00F3 GETIDX R26 R24 R26 + 0x546E001F, // 00F4 LDINT R27 32 + 0x5472002E, // 00F5 LDINT R28 47 + 0x406C361C, // 00F6 CONNECT R27 R27 R28 + 0x946C301B, // 00F7 GETIDX R27 R24 R27 + 0xB8721400, // 00F8 GETNGBL R28 K10 + 0x8C70395F, // 00F9 GETMET R28 R28 K95 + 0x7C700200, // 00FA CALL R28 1 + 0x8C740124, // 00FB GETMET R29 R0 K36 + 0x5C7C0200, // 00FC MOVE R31 R1 + 0x5880001F, // 00FD LDCONST R32 K31 + 0x5884001F, // 00FE LDCONST R33 K31 + 0x5888001F, // 00FF LDCONST R34 K31 + 0x508C0200, // 0100 LDBOOL R35 1 0 + 0x7C740C00, // 0101 CALL R29 6 + 0x8C740780, // 0102 GETMET R29 R3 K128 + 0x7C740200, // 0103 CALL R29 1 + 0x8C74071C, // 0104 GETMET R29 R3 K28 + 0x5C7C3200, // 0105 MOVE R31 R25 + 0x5C803400, // 0106 MOVE R32 R26 + 0x5C843600, // 0107 MOVE R33 R27 + 0x5C883800, // 0108 MOVE R34 R28 + 0x7C740A00, // 0109 CALL R29 5 + 0x900F031F, // 010A SETMBR R3 K129 K31 + 0x8C740782, // 010B GETMET R29 R3 K130 + 0x7C740200, // 010C CALL R29 1 + 0x8C740783, // 010D GETMET R29 R3 K131 + 0x507C0200, // 010E LDBOOL R31 1 0 + 0x7C740400, // 010F CALL R29 2 + 0x8C740784, // 0110 GETMET R29 R3 K132 + 0x7C740200, // 0111 CALL R29 1 + 0x8C740785, // 0112 GETMET R29 R3 K133 + 0x7C740200, // 0113 CALL R29 1 + 0x8C740786, // 0114 GETMET R29 R3 K134 + 0x7C740200, // 0115 CALL R29 1 + 0x50740200, // 0116 LDBOOL R29 1 0 + 0x80043A00, // 0117 RET 1 R29 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_incoming +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_process_incoming, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(process_incoming), + &be_const_str_solidified, + ( &(const binstruction[89]) { /* code */ + 0x8808010D, // 0000 GETMBR R2 R0 K13 + 0x8808053A, // 0001 GETMBR R2 R2 K58 + 0x8C080587, // 0002 GETMET R2 R2 K135 + 0x7C080200, // 0003 CALL R2 1 + 0x740A000D, // 0004 JMPT R2 #0013 + 0x8808031D, // 0005 GETMBR R2 R1 K29 + 0x540E001F, // 0006 LDINT R3 32 + 0x28080403, // 0007 GE R2 R2 R3 + 0x780A0009, // 0008 JMPF R2 #0013 + 0x8808031D, // 0009 GETMBR R2 R1 K29 + 0x540E0023, // 000A LDINT R3 36 + 0x18080403, // 000B LE R2 R2 R3 + 0x780A0005, // 000C JMPF R2 #0013 + 0xB80A0A00, // 000D GETNGBL R2 K5 + 0x580C0088, // 000E LDCONST R3 K136 + 0x58100022, // 000F LDCONST R4 K34 + 0x7C080400, // 0010 CALL R2 2 + 0x50080000, // 0011 LDBOOL R2 0 0 + 0x80040400, // 0012 RET 1 R2 + 0x8808031D, // 0013 GETMBR R2 R1 K29 + 0x540E000F, // 0014 LDINT R3 16 + 0x1C080403, // 0015 EQ R2 R2 R3 + 0x780A0000, // 0016 JMPF R2 #0018 + 0x7002003E, // 0017 JMP #0057 + 0x8808031D, // 0018 GETMBR R2 R1 K29 + 0x540E001F, // 0019 LDINT R3 32 + 0x1C080403, // 001A EQ R2 R2 R3 + 0x780A0004, // 001B JMPF R2 #0021 + 0x8C080189, // 001C GETMET R2 R0 K137 + 0x5C100200, // 001D MOVE R4 R1 + 0x7C080400, // 001E CALL R2 2 + 0x80040400, // 001F RET 1 R2 + 0x70020035, // 0020 JMP #0057 + 0x8808031D, // 0021 GETMBR R2 R1 K29 + 0x540E0021, // 0022 LDINT R3 34 + 0x1C080403, // 0023 EQ R2 R2 R3 + 0x780A0004, // 0024 JMPF R2 #002A + 0x8C08018A, // 0025 GETMET R2 R0 K138 + 0x5C100200, // 0026 MOVE R4 R1 + 0x7C080400, // 0027 CALL R2 2 + 0x80040400, // 0028 RET 1 R2 + 0x7002002C, // 0029 JMP #0057 + 0x8808031D, // 002A GETMBR R2 R1 K29 + 0x540E0023, // 002B LDINT R3 36 + 0x1C080403, // 002C EQ R2 R2 R3 + 0x780A0004, // 002D JMPF R2 #0033 + 0x8C08018B, // 002E GETMET R2 R0 K139 + 0x5C100200, // 002F MOVE R4 R1 + 0x7C080400, // 0030 CALL R2 2 + 0x80040400, // 0031 RET 1 R2 + 0x70020023, // 0032 JMP #0057 + 0x8808031D, // 0033 GETMBR R2 R1 K29 + 0x540E002F, // 0034 LDINT R3 48 + 0x1C080403, // 0035 EQ R2 R2 R3 + 0x780A0004, // 0036 JMPF R2 #003C + 0x8C08018C, // 0037 GETMET R2 R0 K140 + 0x5C100200, // 0038 MOVE R4 R1 + 0x7C080400, // 0039 CALL R2 2 + 0x80040400, // 003A RET 1 R2 + 0x7002001A, // 003B JMP #0057 + 0x8808031D, // 003C GETMBR R2 R1 K29 + 0x540E0031, // 003D LDINT R3 50 + 0x1C080403, // 003E EQ R2 R2 R3 + 0x780A0004, // 003F JMPF R2 #0045 + 0x8C08018D, // 0040 GETMET R2 R0 K141 + 0x5C100200, // 0041 MOVE R4 R1 + 0x7C080400, // 0042 CALL R2 2 + 0x80040400, // 0043 RET 1 R2 + 0x70020011, // 0044 JMP #0057 + 0x8808031D, // 0045 GETMBR R2 R1 K29 + 0x540E003F, // 0046 LDINT R3 64 + 0x1C080403, // 0047 EQ R2 R2 R3 + 0x780A0004, // 0048 JMPF R2 #004E + 0x8C08018E, // 0049 GETMET R2 R0 K142 + 0x5C100200, // 004A MOVE R4 R1 + 0x7C080400, // 004B CALL R2 2 + 0x80040400, // 004C RET 1 R2 + 0x70020008, // 004D JMP #0057 + 0xB80A0A00, // 004E GETNGBL R2 K5 + 0x600C0018, // 004F GETGBL R3 G24 + 0x5810008F, // 0050 LDCONST R4 K143 + 0x8814031D, // 0051 GETMBR R5 R1 K29 + 0x7C0C0400, // 0052 CALL R3 2 + 0x58100022, // 0053 LDCONST R4 K34 + 0x7C080400, // 0054 CALL R2 2 + 0x50080000, // 0055 LDBOOL R2 0 0 + 0x80040400, // 0056 RET 1 R2 + 0x50080000, // 0057 LDBOOL R2 0 0 + 0x80040400, // 0058 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_Sigma1 +********************************************************************/ +be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ + be_nested_proto( + 37, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ + be_str_weak(parse_Sigma1), + &be_const_str_solidified, + ( &(const binstruction[497]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x880C0300, // 0001 GETMBR R3 R1 K0 + 0x8810031D, // 0002 GETMBR R4 R1 K29 + 0x5416002F, // 0003 LDINT R5 48 + 0x20100805, // 0004 NE R4 R4 R5 + 0x74120005, // 0005 JMPT R4 #000C + 0x8810031E, // 0006 GETMBR R4 R1 K30 + 0x2010091F, // 0007 NE R4 R4 K31 + 0x74120002, // 0008 JMPT R4 #000C + 0x88100320, // 0009 GETMBR R4 R1 K32 + 0x2010091F, // 000A NE R4 R4 K31 + 0x7812000C, // 000B JMPF R4 #0019 + 0xB8120A00, // 000C GETNGBL R4 K5 + 0x58140023, // 000D LDCONST R5 K35 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0x8C100124, // 0010 GETMET R4 R0 K36 + 0x5C180200, // 0011 MOVE R6 R1 + 0x581C0025, // 0012 LDCONST R7 K37 + 0x5820001F, // 0013 LDCONST R8 K31 + 0x58240022, // 0014 LDCONST R9 K34 + 0x50280000, // 0015 LDBOOL R10 0 0 + 0x7C100C00, // 0016 CALL R4 6 + 0x50100000, // 0017 LDBOOL R4 0 0 + 0x80040800, // 0018 RET 1 R4 + 0xB8124C00, // 0019 GETNGBL R4 K38 + 0x8C100990, // 001A GETMET R4 R4 K144 + 0x7C100200, // 001B CALL R4 1 + 0x8C100928, // 001C GETMET R4 R4 K40 + 0x88180301, // 001D GETMBR R6 R1 K1 + 0x881C0302, // 001E GETMBR R7 R1 K2 + 0x7C100600, // 001F CALL R4 3 + 0x88140991, // 0020 GETMBR R5 R4 K145 + 0x900EF005, // 0021 SETMBR R3 K120 R5 + 0x88140992, // 0022 GETMBR R5 R4 K146 + 0x4C180000, // 0023 LDNIL R6 + 0x20140A06, // 0024 NE R5 R5 R6 + 0x78160003, // 0025 JMPF R5 #002A + 0x88140993, // 0026 GETMBR R5 R4 K147 + 0x4C180000, // 0027 LDNIL R6 + 0x20140A06, // 0028 NE R5 R5 R6 + 0x74160000, // 0029 JMPT R5 #002B + 0x50140001, // 002A LDBOOL R5 0 1 + 0x50140200, // 002B LDBOOL R5 1 0 + 0x4C180000, // 002C LDNIL R6 + 0x78160014, // 002D JMPF R5 #0043 + 0x881C010D, // 002E GETMBR R7 R0 K13 + 0x881C0F0E, // 002F GETMBR R7 R7 K14 + 0x8C1C0F94, // 0030 GETMET R7 R7 K148 + 0x88240992, // 0031 GETMBR R9 R4 K146 + 0x7C1C0400, // 0032 CALL R7 2 + 0x5C180E00, // 0033 MOVE R6 R7 + 0x4C1C0000, // 0034 LDNIL R7 + 0x1C1C0C07, // 0035 EQ R7 R6 R7 + 0x741E0003, // 0036 JMPT R7 #003B + 0x881C0D95, // 0037 GETMBR R7 R6 K149 + 0x4C200000, // 0038 LDNIL R8 + 0x1C1C0E08, // 0039 EQ R7 R7 R8 + 0x781E0007, // 003A JMPF R7 #0043 + 0xB81E0A00, // 003B GETNGBL R7 K5 + 0x60200018, // 003C GETGBL R8 G24 + 0x58240096, // 003D LDCONST R9 K150 + 0x88280992, // 003E GETMBR R10 R4 K146 + 0x7C200400, // 003F CALL R8 2 + 0x58240008, // 0040 LDCONST R9 K8 + 0x7C1C0400, // 0041 CALL R7 2 + 0x50140000, // 0042 LDBOOL R5 0 0 + 0x781600C3, // 0043 JMPF R5 #0108 + 0xB81E0A00, // 0044 GETNGBL R7 K5 + 0x58200097, // 0045 LDCONST R8 K151 + 0x58240008, // 0046 LDCONST R9 K8 + 0x7C1C0400, // 0047 CALL R7 2 + 0x881C0935, // 0048 GETMBR R7 R4 K53 + 0x88200992, // 0049 GETMBR R8 R4 K146 + 0x001C0E08, // 004A ADD R7 R7 R8 + 0x60200015, // 004B GETGBL R8 G21 + 0x7C200000, // 004C CALL R8 0 + 0x8C20114E, // 004D GETMET R8 R8 K78 + 0x58280098, // 004E LDCONST R10 K152 + 0x7C200400, // 004F CALL R8 2 + 0x8C240560, // 0050 GETMET R9 R2 K96 + 0x7C240200, // 0051 CALL R9 1 + 0x8C241361, // 0052 GETMET R9 R9 K97 + 0x882C0D66, // 0053 GETMBR R11 R6 K102 + 0x5C300E00, // 0054 MOVE R12 R7 + 0x5C341000, // 0055 MOVE R13 R8 + 0x543A000F, // 0056 LDINT R14 16 + 0x7C240A00, // 0057 CALL R9 5 + 0x60280015, // 0058 GETGBL R10 G21 + 0x7C280000, // 0059 CALL R10 0 + 0x8C28154E, // 005A GETMET R10 R10 K78 + 0x58300099, // 005B LDCONST R12 K153 + 0x7C280400, // 005C CALL R10 2 + 0x542DFFEE, // 005D LDINT R11 -17 + 0x402E3E0B, // 005E CONNECT R11 K31 R11 + 0x88300993, // 005F GETMBR R12 R4 K147 + 0x942C180B, // 0060 GETIDX R11 R12 R11 + 0x5435FFEF, // 0061 LDINT R13 -16 + 0x40341B03, // 0062 CONNECT R13 R13 K3 + 0x88380993, // 0063 GETMBR R14 R4 K147 + 0x94301C0D, // 0064 GETIDX R12 R14 R13 + 0x8C3C0568, // 0065 GETMET R15 R2 K104 + 0x5C441200, // 0066 MOVE R17 R9 + 0x5C481400, // 0067 MOVE R18 R10 + 0x604C0015, // 0068 GETGBL R19 G21 + 0x7C4C0000, // 0069 CALL R19 0 + 0x6050000C, // 006A GETGBL R20 G12 + 0x5C541600, // 006B MOVE R21 R11 + 0x7C500200, // 006C CALL R20 1 + 0x5456000F, // 006D LDINT R21 16 + 0x7C3C0C00, // 006E CALL R15 6 + 0x5C341E00, // 006F MOVE R13 R15 + 0x8C3C1B6A, // 0070 GETMET R15 R13 K106 + 0x5C441600, // 0071 MOVE R17 R11 + 0x7C3C0400, // 0072 CALL R15 2 + 0x5C381E00, // 0073 MOVE R14 R15 + 0x8C3C1B6B, // 0074 GETMET R15 R13 K107 + 0x7C3C0200, // 0075 CALL R15 1 + 0x1C40180F, // 0076 EQ R16 R12 R15 + 0x7842008A, // 0077 JMPF R16 #0103 + 0x88400D95, // 0078 GETMBR R16 R6 K149 + 0x900F2A10, // 0079 SETMBR R3 K149 R16 + 0x8840039B, // 007A GETMBR R16 R1 K155 + 0x900F3410, // 007B SETMBR R3 K154 R16 + 0x8C40079C, // 007C GETMET R16 R3 K156 + 0x7C400200, // 007D CALL R16 1 + 0x8840092E, // 007E GETMBR R16 R4 K46 + 0x900E5A10, // 007F SETMBR R3 K45 R16 + 0x8840010D, // 0080 GETMBR R16 R0 K13 + 0x8840210E, // 0081 GETMBR R16 R16 K14 + 0x8C402130, // 0082 GETMET R16 R16 K48 + 0x7C400200, // 0083 CALL R16 1 + 0x900E5E10, // 0084 SETMBR R3 K47 R16 + 0xB8420A00, // 0085 GETNGBL R16 K5 + 0x60440018, // 0086 GETGBL R17 G24 + 0x58480031, // 0087 LDCONST R18 K49 + 0x884C072F, // 0088 GETMBR R19 R3 K47 + 0x88500332, // 0089 GETMBR R20 R1 K50 + 0x88540333, // 008A GETMBR R21 R1 K51 + 0x7C440800, // 008B CALL R17 4 + 0x58480008, // 008C LDCONST R18 K8 + 0x7C400400, // 008D CALL R16 2 + 0x88400D66, // 008E GETMBR R16 R6 K102 + 0x900ECC10, // 008F SETMBR R3 K102 R16 + 0x8C400537, // 0090 GETMET R16 R2 K55 + 0x544A000F, // 0091 LDINT R18 16 + 0x7C400400, // 0092 CALL R16 2 + 0x900F3A10, // 0093 SETMBR R3 K157 R16 + 0x60400015, // 0094 GETGBL R16 G21 + 0x7C400000, // 0095 CALL R16 0 + 0x8C40214E, // 0096 GETMET R16 R16 K78 + 0x5848009E, // 0097 LDCONST R18 K158 + 0x7C400400, // 0098 CALL R16 2 + 0x88440935, // 0099 GETMBR R17 R4 K53 + 0x8848079D, // 009A GETMBR R18 R3 K157 + 0x00442212, // 009B ADD R17 R17 R18 + 0x8C480560, // 009C GETMET R18 R2 K96 + 0x7C480200, // 009D CALL R18 1 + 0x8C482561, // 009E GETMET R18 R18 K97 + 0x88500766, // 009F GETMBR R20 R3 K102 + 0x5C542200, // 00A0 MOVE R21 R17 + 0x5C582000, // 00A1 MOVE R22 R16 + 0x545E000F, // 00A2 LDINT R23 16 + 0x7C480A00, // 00A3 CALL R18 5 + 0x8C4C0568, // 00A4 GETMET R19 R2 K104 + 0x5C542400, // 00A5 MOVE R21 R18 + 0x60580015, // 00A6 GETGBL R22 G21 + 0x7C580000, // 00A7 CALL R22 0 + 0x8C582D4E, // 00A8 GETMET R22 R22 K78 + 0x5860009F, // 00A9 LDCONST R24 K159 + 0x7C580400, // 00AA CALL R22 2 + 0x605C0015, // 00AB GETGBL R23 G21 + 0x7C5C0000, // 00AC CALL R23 0 + 0x5860001F, // 00AD LDCONST R24 K31 + 0x5466000F, // 00AE LDINT R25 16 + 0x7C4C0C00, // 00AF CALL R19 6 + 0x8C50276B, // 00B0 GETMET R20 R19 K107 + 0x7C500200, // 00B1 CALL R20 1 + 0xB8564C00, // 00B2 GETNGBL R21 K38 + 0x8C542BA0, // 00B3 GETMET R21 R21 K160 + 0x7C540200, // 00B4 CALL R21 1 + 0x8858079D, // 00B5 GETMBR R22 R3 K157 + 0x90572416, // 00B6 SETMBR R21 K146 R22 + 0x90574214, // 00B7 SETMBR R21 K161 R20 + 0x8858072F, // 00B8 GETMBR R22 R3 K47 + 0x90574416, // 00B9 SETMBR R21 K162 R22 + 0x88580935, // 00BA GETMBR R22 R4 K53 + 0x885C0D9D, // 00BB GETMBR R23 R6 K157 + 0x00582C17, // 00BC ADD R22 R22 R23 + 0x8C5C0560, // 00BD GETMET R23 R2 K96 + 0x7C5C0200, // 00BE CALL R23 1 + 0x8C5C2F61, // 00BF GETMET R23 R23 K97 + 0x88640766, // 00C0 GETMBR R25 R3 K102 + 0x5C682C00, // 00C1 MOVE R26 R22 + 0x606C0015, // 00C2 GETGBL R27 G21 + 0x7C6C0000, // 00C3 CALL R27 0 + 0x8C6C374E, // 00C4 GETMET R27 R27 K78 + 0x587400A3, // 00C5 LDCONST R29 K163 + 0x7C6C0400, // 00C6 CALL R27 2 + 0x5472002F, // 00C7 LDINT R28 48 + 0x7C5C0A00, // 00C8 CALL R23 5 + 0x5462000E, // 00C9 LDINT R24 15 + 0x40623E18, // 00CA CONNECT R24 K31 R24 + 0x94602E18, // 00CB GETIDX R24 R23 R24 + 0x5466000F, // 00CC LDINT R25 16 + 0x546A001E, // 00CD LDINT R26 31 + 0x4064321A, // 00CE CONNECT R25 R25 R26 + 0x94642E19, // 00CF GETIDX R25 R23 R25 + 0x546A001F, // 00D0 LDINT R26 32 + 0x546E002E, // 00D1 LDINT R27 47 + 0x4068341B, // 00D2 CONNECT R26 R26 R27 + 0x94682E1A, // 00D3 GETIDX R26 R23 R26 + 0xB86E1400, // 00D4 GETNGBL R27 K10 + 0x8C6C375F, // 00D5 GETMET R27 R27 K95 + 0x7C6C0200, // 00D6 CALL R27 1 + 0x8C702B3E, // 00D7 GETMET R28 R21 K62 + 0x7C700200, // 00D8 CALL R28 1 + 0x4C740000, // 00D9 LDNIL R29 + 0x900E541D, // 00DA SETMBR R3 K42 R29 + 0x8C740340, // 00DB GETMET R29 R1 K64 + 0x547E0032, // 00DC LDINT R31 51 + 0x50800200, // 00DD LDBOOL R32 1 0 + 0x7C740600, // 00DE CALL R29 3 + 0x8C783B41, // 00DF GETMET R30 R29 K65 + 0x5C803800, // 00E0 MOVE R32 R28 + 0x7C780400, // 00E1 CALL R30 2 + 0x887C0142, // 00E2 GETMBR R31 R0 K66 + 0x8C7C3F43, // 00E3 GETMET R31 R31 K67 + 0x5C843A00, // 00E4 MOVE R33 R29 + 0x7C7C0400, // 00E5 CALL R31 2 + 0x8C7C0780, // 00E6 GETMET R31 R3 K128 + 0x7C7C0200, // 00E7 CALL R31 1 + 0x8C7C071C, // 00E8 GETMET R31 R3 K28 + 0x5C843000, // 00E9 MOVE R33 R24 + 0x5C883200, // 00EA MOVE R34 R25 + 0x5C8C3400, // 00EB MOVE R35 R26 + 0x5C903600, // 00EC MOVE R36 R27 + 0x7C7C0A00, // 00ED CALL R31 5 + 0x887C0D71, // 00EE GETMBR R31 R6 K113 + 0x900EE21F, // 00EF SETMBR R3 K113 R31 + 0x900F031F, // 00F0 SETMBR R3 K129 K31 + 0x8C7C0782, // 00F1 GETMET R31 R3 K130 + 0x7C7C0200, // 00F2 CALL R31 1 + 0x8C7C0783, // 00F3 GETMET R31 R3 K131 + 0x50840200, // 00F4 LDBOOL R33 1 0 + 0x7C7C0400, // 00F5 CALL R31 2 + 0x8C7C0784, // 00F6 GETMET R31 R3 K132 + 0x7C7C0200, // 00F7 CALL R31 1 + 0x8C7C0785, // 00F8 GETMET R31 R3 K133 + 0x7C7C0200, // 00F9 CALL R31 1 + 0x8C7C0786, // 00FA GETMET R31 R3 K134 + 0x7C7C0200, // 00FB CALL R31 1 + 0xB87E0A00, // 00FC GETNGBL R31 K5 + 0x588000A4, // 00FD LDCONST R32 K164 + 0x58840008, // 00FE LDCONST R33 K8 + 0x7C7C0400, // 00FF CALL R31 2 + 0x507C0200, // 0100 LDBOOL R31 1 0 + 0x80043E00, // 0101 RET 1 R31 + 0x70020004, // 0102 JMP #0108 + 0xB8420A00, // 0103 GETNGBL R16 K5 + 0x584400A5, // 0104 LDCONST R17 K165 + 0x58480008, // 0105 LDCONST R18 K8 + 0x7C400400, // 0106 CALL R16 2 + 0x50140000, // 0107 LDBOOL R5 0 0 + 0x5C1C0A00, // 0108 MOVE R7 R5 + 0x741E00E4, // 0109 JMPT R7 #01EF + 0x8C1C01A6, // 010A GETMET R7 R0 K166 + 0x882409A7, // 010B GETMBR R9 R4 K167 + 0x88280935, // 010C GETMBR R10 R4 K53 + 0x7C1C0600, // 010D CALL R7 3 + 0x900F2A07, // 010E SETMBR R3 K149 R7 + 0x4C200000, // 010F LDNIL R8 + 0x1C200608, // 0110 EQ R8 R3 R8 + 0x74220003, // 0111 JMPT R8 #0116 + 0x88200795, // 0112 GETMBR R8 R3 K149 + 0x4C240000, // 0113 LDNIL R9 + 0x1C201009, // 0114 EQ R8 R8 R9 + 0x7822000C, // 0115 JMPF R8 #0123 + 0xB8220A00, // 0116 GETNGBL R8 K5 + 0x582400A8, // 0117 LDCONST R9 K168 + 0x58280008, // 0118 LDCONST R10 K8 + 0x7C200400, // 0119 CALL R8 2 + 0x8C200124, // 011A GETMET R8 R0 K36 + 0x5C280200, // 011B MOVE R10 R1 + 0x582C0025, // 011C LDCONST R11 K37 + 0x5830001F, // 011D LDCONST R12 K31 + 0x58340025, // 011E LDCONST R13 K37 + 0x50380000, // 011F LDBOOL R14 0 0 + 0x7C200C00, // 0120 CALL R8 6 + 0x50200000, // 0121 LDBOOL R8 0 0 + 0x80041000, // 0122 RET 1 R8 + 0x8820039B, // 0123 GETMBR R8 R1 K155 + 0x900F3408, // 0124 SETMBR R3 K154 R8 + 0x8C20079C, // 0125 GETMET R8 R3 K156 + 0x7C200200, // 0126 CALL R8 1 + 0x8820092E, // 0127 GETMBR R8 R4 K46 + 0x900E5A08, // 0128 SETMBR R3 K45 R8 + 0x8820010D, // 0129 GETMBR R8 R0 K13 + 0x8820110E, // 012A GETMBR R8 R8 K14 + 0x8C201130, // 012B GETMET R8 R8 K48 + 0x7C200200, // 012C CALL R8 1 + 0x900E5E08, // 012D SETMBR R3 K47 R8 + 0xB8220A00, // 012E GETNGBL R8 K5 + 0x60240018, // 012F GETGBL R9 G24 + 0x58280031, // 0130 LDCONST R10 K49 + 0x882C072F, // 0131 GETMBR R11 R3 K47 + 0x88300332, // 0132 GETMBR R12 R1 K50 + 0x88340333, // 0133 GETMBR R13 R1 K51 + 0x7C240800, // 0134 CALL R9 4 + 0x58280008, // 0135 LDCONST R10 K8 + 0x7C200400, // 0136 CALL R8 2 + 0x8C200537, // 0137 GETMET R8 R2 K55 + 0x542A000F, // 0138 LDINT R10 16 + 0x7C200400, // 0139 CALL R8 2 + 0x900F3A08, // 013A SETMBR R3 K157 R8 + 0x8C200537, // 013B GETMET R8 R2 K55 + 0x542A001F, // 013C LDINT R10 32 + 0x7C200400, // 013D CALL R8 2 + 0x900F5208, // 013E SETMBR R3 K169 R8 + 0x8C20057A, // 013F GETMET R8 R2 K122 + 0x7C200200, // 0140 CALL R8 1 + 0x8C2011AA, // 0141 GETMET R8 R8 K170 + 0x882807A9, // 0142 GETMBR R10 R3 K169 + 0x7C200400, // 0143 CALL R8 2 + 0x900EF208, // 0144 SETMBR R3 K121 R8 + 0x8C200537, // 0145 GETMET R8 R2 K55 + 0x542A001F, // 0146 LDINT R10 32 + 0x7C200400, // 0147 CALL R8 2 + 0x8C24057A, // 0148 GETMET R9 R2 K122 + 0x7C240200, // 0149 CALL R9 1 + 0x8C2413AB, // 014A GETMET R9 R9 K171 + 0x882C07A9, // 014B GETMBR R11 R3 K169 + 0x88300991, // 014C GETMBR R12 R4 K145 + 0x7C240600, // 014D CALL R9 3 + 0x900ECC09, // 014E SETMBR R3 K102 R9 + 0xB8264C00, // 014F GETNGBL R9 K38 + 0x8824136D, // 0150 GETMBR R9 R9 K109 + 0x8C241375, // 0151 GETMET R9 R9 K117 + 0x7C240200, // 0152 CALL R9 1 + 0x8C281376, // 0153 GETMET R10 R9 K118 + 0x58300025, // 0154 LDCONST R12 K37 + 0xB8364C00, // 0155 GETNGBL R13 K38 + 0x88341B6D, // 0156 GETMBR R13 R13 K109 + 0x88341BAC, // 0157 GETMBR R13 R13 K172 + 0x8C380FAD, // 0158 GETMET R14 R7 K173 + 0x7C380200, // 0159 CALL R14 1 + 0x7C280800, // 015A CALL R10 4 + 0x8C281376, // 015B GETMET R10 R9 K118 + 0x58300022, // 015C LDCONST R12 K34 + 0xB8364C00, // 015D GETNGBL R13 K38 + 0x88341B6D, // 015E GETMBR R13 R13 K109 + 0x88341BAC, // 015F GETMBR R13 R13 K172 + 0x8C380FAE, // 0160 GETMET R14 R7 K174 + 0x7C380200, // 0161 CALL R14 1 + 0x7C280800, // 0162 CALL R10 4 + 0x8C281376, // 0163 GETMET R10 R9 K118 + 0x58300008, // 0164 LDCONST R12 K8 + 0xB8364C00, // 0165 GETNGBL R13 K38 + 0x88341B6D, // 0166 GETMBR R13 R13 K109 + 0x88341BAC, // 0167 GETMBR R13 R13 K172 + 0x88380779, // 0168 GETMBR R14 R3 K121 + 0x7C280800, // 0169 CALL R10 4 + 0x8C281376, // 016A GETMET R10 R9 K118 + 0x54320003, // 016B LDINT R12 4 + 0xB8364C00, // 016C GETNGBL R13 K38 + 0x88341B6D, // 016D GETMBR R13 R13 K109 + 0x88341BAC, // 016E GETMBR R13 R13 K172 + 0x88380991, // 016F GETMBR R14 R4 K145 + 0x7C280800, // 0170 CALL R10 4 + 0x8C28057A, // 0171 GETMET R10 R2 K122 + 0x7C280200, // 0172 CALL R10 1 + 0x8C2815AF, // 0173 GETMET R10 R10 K175 + 0x8C300FB0, // 0174 GETMET R12 R7 K176 + 0x7C300200, // 0175 CALL R12 1 + 0x8C34133E, // 0176 GETMET R13 R9 K62 + 0x7C340200, // 0177 CALL R13 1 + 0x7C280600, // 0178 CALL R10 3 + 0xB82E4C00, // 0179 GETNGBL R11 K38 + 0x882C176D, // 017A GETMBR R11 R11 K109 + 0x8C2C1775, // 017B GETMET R11 R11 K117 + 0x7C2C0200, // 017C CALL R11 1 + 0x8C301776, // 017D GETMET R12 R11 K118 + 0x58380025, // 017E LDCONST R14 K37 + 0xB83E4C00, // 017F GETNGBL R15 K38 + 0x883C1F6D, // 0180 GETMBR R15 R15 K109 + 0x883C1FAC, // 0181 GETMBR R15 R15 K172 + 0x8C400FAD, // 0182 GETMET R16 R7 K173 + 0x7C400200, // 0183 CALL R16 1 + 0x7C300800, // 0184 CALL R12 4 + 0x8C301776, // 0185 GETMET R12 R11 K118 + 0x58380022, // 0186 LDCONST R14 K34 + 0xB83E4C00, // 0187 GETNGBL R15 K38 + 0x883C1F6D, // 0188 GETMBR R15 R15 K109 + 0x883C1FAC, // 0189 GETMBR R15 R15 K172 + 0x8C400FAE, // 018A GETMET R16 R7 K174 + 0x7C400200, // 018B CALL R16 1 + 0x7C300800, // 018C CALL R12 4 + 0x8C301776, // 018D GETMET R12 R11 K118 + 0x58380008, // 018E LDCONST R14 K8 + 0xB83E4C00, // 018F GETNGBL R15 K38 + 0x883C1F6D, // 0190 GETMBR R15 R15 K109 + 0x883C1FAC, // 0191 GETMBR R15 R15 K172 + 0x5C401400, // 0192 MOVE R16 R10 + 0x7C300800, // 0193 CALL R12 4 + 0x8C301776, // 0194 GETMET R12 R11 K118 + 0x543A0003, // 0195 LDINT R14 4 + 0xB83E4C00, // 0196 GETNGBL R15 K38 + 0x883C1F6D, // 0197 GETMBR R15 R15 K109 + 0x883C1FAC, // 0198 GETMBR R15 R15 K172 + 0x8840079D, // 0199 GETMBR R16 R3 K157 + 0x7C300800, // 019A CALL R12 4 + 0x883009B1, // 019B GETMBR R12 R4 K177 + 0x900E540C, // 019C SETMBR R3 K42 R12 + 0x8C30054D, // 019D GETMET R12 R2 K77 + 0x7C300200, // 019E CALL R12 1 + 0x8C301916, // 019F GETMET R12 R12 K22 + 0x8838072A, // 01A0 GETMBR R14 R3 K42 + 0x7C300400, // 01A1 CALL R12 2 + 0x8C301917, // 01A2 GETMET R12 R12 K23 + 0x7C300200, // 01A3 CALL R12 1 + 0x60340015, // 01A4 GETGBL R13 G21 + 0x7C340000, // 01A5 CALL R13 0 + 0x8C341B4E, // 01A6 GETMET R13 R13 K78 + 0x883C01B2, // 01A7 GETMBR R15 R0 K178 + 0x7C340400, // 01A8 CALL R13 2 + 0x8C380F14, // 01A9 GETMET R14 R7 K20 + 0x7C380200, // 01AA CALL R14 1 + 0x00381C08, // 01AB ADD R14 R14 R8 + 0x883C0779, // 01AC GETMBR R15 R3 K121 + 0x00381C0F, // 01AD ADD R14 R14 R15 + 0x00381C0C, // 01AE ADD R14 R14 R12 + 0x8C3C0560, // 01AF GETMET R15 R2 K96 + 0x7C3C0200, // 01B0 CALL R15 1 + 0x8C3C1F61, // 01B1 GETMET R15 R15 K97 + 0x88440766, // 01B2 GETMBR R17 R3 K102 + 0x5C481C00, // 01B3 MOVE R18 R14 + 0x5C4C1A00, // 01B4 MOVE R19 R13 + 0x5452000F, // 01B5 LDINT R20 16 + 0x7C3C0A00, // 01B6 CALL R15 5 + 0x8C40173E, // 01B7 GETMET R16 R11 K62 + 0x7C400200, // 01B8 CALL R16 1 + 0x8C440568, // 01B9 GETMET R17 R2 K104 + 0x5C4C1E00, // 01BA MOVE R19 R15 + 0x60500015, // 01BB GETGBL R20 G21 + 0x7C500000, // 01BC CALL R20 0 + 0x8C50294E, // 01BD GETMET R20 R20 K78 + 0x885801B3, // 01BE GETMBR R22 R0 K179 + 0x7C500400, // 01BF CALL R20 2 + 0x60540015, // 01C0 GETGBL R21 G21 + 0x7C540000, // 01C1 CALL R21 0 + 0x6058000C, // 01C2 GETGBL R22 G12 + 0x5C5C2000, // 01C3 MOVE R23 R16 + 0x7C580200, // 01C4 CALL R22 1 + 0x545E000F, // 01C5 LDINT R23 16 + 0x7C440C00, // 01C6 CALL R17 6 + 0x8C4823B4, // 01C7 GETMET R18 R17 K180 + 0x5C502000, // 01C8 MOVE R20 R16 + 0x7C480400, // 01C9 CALL R18 2 + 0x8C4C236B, // 01CA GETMET R19 R17 K107 + 0x7C4C0200, // 01CB CALL R19 1 + 0x00482413, // 01CC ADD R18 R18 R19 + 0xB84E4C00, // 01CD GETNGBL R19 K38 + 0x8C4C27B5, // 01CE GETMET R19 R19 K181 + 0x7C4C0200, // 01CF CALL R19 1 + 0x904E6C08, // 01D0 SETMBR R19 K54 R8 + 0x8850072F, // 01D1 GETMBR R20 R3 K47 + 0x904E7014, // 01D2 SETMBR R19 K56 R20 + 0x88500779, // 01D3 GETMBR R20 R3 K121 + 0x904F6C14, // 01D4 SETMBR R19 K182 R20 + 0x904F6E12, // 01D5 SETMBR R19 K183 R18 + 0x8C50273E, // 01D6 GETMET R20 R19 K62 + 0x7C500200, // 01D7 CALL R20 1 + 0x900E7E14, // 01D8 SETMBR R3 K63 R20 + 0x8C540340, // 01D9 GETMET R21 R1 K64 + 0x545E0030, // 01DA LDINT R23 49 + 0x50600200, // 01DB LDBOOL R24 1 0 + 0x7C540600, // 01DC CALL R21 3 + 0x8C582B41, // 01DD GETMET R22 R21 K65 + 0x5C602800, // 01DE MOVE R24 R20 + 0x7C580400, // 01DF CALL R22 2 + 0xB85E0A00, // 01E0 GETNGBL R23 K5 + 0x60600018, // 01E1 GETGBL R24 G24 + 0x586400B8, // 01E2 LDCONST R25 K184 + 0x8868072F, // 01E3 GETMBR R26 R3 K47 + 0x886C075A, // 01E4 GETMBR R27 R3 K90 + 0x8870075B, // 01E5 GETMBR R28 R3 K91 + 0x7C600800, // 01E6 CALL R24 4 + 0x58640022, // 01E7 LDCONST R25 K34 + 0x7C5C0400, // 01E8 CALL R23 2 + 0x885C0142, // 01E9 GETMBR R23 R0 K66 + 0x8C5C2F43, // 01EA GETMET R23 R23 K67 + 0x5C642A00, // 01EB MOVE R25 R21 + 0x7C5C0400, // 01EC CALL R23 2 + 0x505C0200, // 01ED LDBOOL R23 1 0 + 0x80042E00, // 01EE RET 1 R23 + 0x501C0200, // 01EF LDBOOL R7 1 0 + 0x80040E00, // 01F0 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Commisioning_Context +********************************************************************/ +be_local_class(Matter_Commisioning_Context, + 2, + NULL, + be_nested_map(20, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Commisioning_Context_every_second_closure) }, + { be_const_key_weak(parse_StatusReport, -1), be_const_closure(class_Matter_Commisioning_Context_parse_StatusReport_closure) }, + { be_const_key_weak(S2K_Info, -1), be_nested_str_weak(Sigma2) }, + { be_const_key_weak(find_fabric_by_destination_id, -1), be_const_closure(class_Matter_Commisioning_Context_find_fabric_by_destination_id_closure) }, + { be_const_key_weak(process_incoming, 18), be_const_closure(class_Matter_Commisioning_Context_process_incoming_closure) }, + { be_const_key_weak(Matter_Context_Prefix, 0), be_nested_str_weak(CHIP_X20PAKE_X20V1_X20Commissioning) }, + { be_const_key_weak(SEKeys_Info, -1), be_nested_str_weak(SessionKeys) }, + { be_const_key_weak(TBEData3_Nonce, 4), be_nested_str_weak(NCASE_Sigma3N) }, + { be_const_key_weak(parse_PBKDFParamRequest, -1), be_const_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest_closure) }, + { be_const_key_weak(send_status_report, -1), be_const_closure(class_Matter_Commisioning_Context_send_status_report_closure) }, + { be_const_key_weak(parse_Sigma3, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Sigma3_closure) }, + { be_const_key_weak(device, -1), be_const_var(1) }, + { be_const_key_weak(TBEData2_Nonce, -1), be_nested_str_weak(NCASE_Sigma2N) }, + { be_const_key_weak(responder, 16), be_const_var(0) }, + { be_const_key_weak(parse_Pake3, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Pake3_closure) }, + { be_const_key_weak(init, 14), be_const_closure(class_Matter_Commisioning_Context_init_closure) }, + { be_const_key_weak(parse_Pake1, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Pake1_closure) }, + { be_const_key_weak(S3K_Info, 10), be_nested_str_weak(Sigma3) }, + { be_const_key_weak(add_session, -1), be_const_closure(class_Matter_Commisioning_Context_add_session_closure) }, + { be_const_key_weak(parse_Sigma1, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Sigma1_closure) }, + })), + be_str_weak(Matter_Commisioning_Context) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Data.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Data.h new file mode 100644 index 000000000..67058d57c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Commissioning_Data.h @@ -0,0 +1,829 @@ +/* Solidification of Matter_Commissioning_Data.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_PBKDFParamRequest; + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_PBKDFParamRequest_parse, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[16]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(parse), + /* K4 */ be_nested_str_weak(initiatorRandom), + /* K5 */ be_nested_str_weak(getsubval), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(initiator_session_id), + /* K8 */ be_const_int(2), + /* K9 */ be_nested_str_weak(passcodeId), + /* K10 */ be_const_int(3), + /* K11 */ be_nested_str_weak(hasPBKDFParameters), + /* K12 */ be_nested_str_weak(findsub), + /* K13 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL), + /* K14 */ be_nested_str_weak(findsubval), + /* K15 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL), + }), + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x880C0701, // 0001 GETMBR R3 R3 K1 + 0x4C100000, // 0002 LDNIL R4 + 0x1C100404, // 0003 EQ R4 R2 R4 + 0x78120000, // 0004 JMPF R4 #0006 + 0x58080002, // 0005 LDCONST R2 K2 + 0x8C100703, // 0006 GETMET R4 R3 K3 + 0x5C180200, // 0007 MOVE R6 R1 + 0x5C1C0400, // 0008 MOVE R7 R2 + 0x7C100600, // 0009 CALL R4 3 + 0x8C140905, // 000A GETMET R5 R4 K5 + 0x581C0006, // 000B LDCONST R7 K6 + 0x7C140400, // 000C CALL R5 2 + 0x90020805, // 000D SETMBR R0 K4 R5 + 0x8C140905, // 000E GETMET R5 R4 K5 + 0x581C0008, // 000F LDCONST R7 K8 + 0x7C140400, // 0010 CALL R5 2 + 0x90020E05, // 0011 SETMBR R0 K7 R5 + 0x8C140905, // 0012 GETMET R5 R4 K5 + 0x581C000A, // 0013 LDCONST R7 K10 + 0x7C140400, // 0014 CALL R5 2 + 0x90021205, // 0015 SETMBR R0 K9 R5 + 0x8C140905, // 0016 GETMET R5 R4 K5 + 0x541E0003, // 0017 LDINT R7 4 + 0x7C140400, // 0018 CALL R5 2 + 0x90021605, // 0019 SETMBR R0 K11 R5 + 0x8C14090C, // 001A GETMET R5 R4 K12 + 0x541E0004, // 001B LDINT R7 5 + 0x7C140400, // 001C CALL R5 2 + 0x4C180000, // 001D LDNIL R6 + 0x20180A06, // 001E NE R6 R5 R6 + 0x781A0007, // 001F JMPF R6 #0028 + 0x8C180B0E, // 0020 GETMET R6 R5 K14 + 0x58200006, // 0021 LDCONST R8 K6 + 0x7C180400, // 0022 CALL R6 2 + 0x90021A06, // 0023 SETMBR R0 K13 R6 + 0x8C180B0E, // 0024 GETMET R6 R5 K14 + 0x58200008, // 0025 LDCONST R8 K8 + 0x7C180400, // 0026 CALL R6 2 + 0x90021E06, // 0027 SETMBR R0 K15 R6 + 0x80040000, // 0028 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_PBKDFParamRequest +********************************************************************/ +be_local_class(Matter_PBKDFParamRequest, + 6, + NULL, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(initiatorRandom, 6), be_const_var(0) }, + { be_const_key_weak(passcodeId, -1), be_const_var(2) }, + { be_const_key_weak(hasPBKDFParameters, -1), be_const_var(3) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_PBKDFParamRequest_parse_closure) }, + { be_const_key_weak(initiator_session_id, 0), be_const_var(1) }, + { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 3), be_const_var(4) }, + { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) }, + })), + be_str_weak(Matter_PBKDFParamRequest) +); + +extern const bclass be_class_Matter_PBKDFParamResponse; + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_PBKDFParamResponse_tlv2raw, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[19]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(B1), + /* K6 */ be_nested_str_weak(initiatorRandom), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(responderRandom), + /* K9 */ be_const_int(3), + /* K10 */ be_nested_str_weak(U2), + /* K11 */ be_nested_str_weak(responderSessionId), + /* K12 */ be_nested_str_weak(add_struct), + /* K13 */ be_nested_str_weak(U4), + /* K14 */ be_nested_str_weak(pbkdf_parameters_iterations), + /* K15 */ be_nested_str_weak(pbkdf_parameters_salt), + /* K16 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL), + /* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL), + /* K18 */ be_nested_str_weak(tlv2raw), + }), + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[57]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x88080501, // 0001 GETMBR R2 R2 K1 + 0x8C0C0502, // 0002 GETMET R3 R2 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C100703, // 0004 GETMET R4 R3 K3 + 0x58180004, // 0005 LDCONST R6 K4 + 0x881C0505, // 0006 GETMBR R7 R2 K5 + 0x88200106, // 0007 GETMBR R8 R0 K6 + 0x7C100800, // 0008 CALL R4 4 + 0x8C100703, // 0009 GETMET R4 R3 K3 + 0x58180007, // 000A LDCONST R6 K7 + 0x881C0505, // 000B GETMBR R7 R2 K5 + 0x88200108, // 000C GETMBR R8 R0 K8 + 0x7C100800, // 000D CALL R4 4 + 0x8C100703, // 000E GETMET R4 R3 K3 + 0x58180009, // 000F LDCONST R6 K9 + 0x881C050A, // 0010 GETMBR R7 R2 K10 + 0x8820010B, // 0011 GETMBR R8 R0 K11 + 0x7C100800, // 0012 CALL R4 4 + 0x8C10070C, // 0013 GETMET R4 R3 K12 + 0x541A0003, // 0014 LDINT R6 4 + 0x7C100400, // 0015 CALL R4 2 + 0x8C140903, // 0016 GETMET R5 R4 K3 + 0x581C0004, // 0017 LDCONST R7 K4 + 0x8820050D, // 0018 GETMBR R8 R2 K13 + 0x8824010E, // 0019 GETMBR R9 R0 K14 + 0x7C140800, // 001A CALL R5 4 + 0x8C140903, // 001B GETMET R5 R4 K3 + 0x581C0007, // 001C LDCONST R7 K7 + 0x88200505, // 001D GETMBR R8 R2 K5 + 0x8824010F, // 001E GETMBR R9 R0 K15 + 0x7C140800, // 001F CALL R5 4 + 0x88140110, // 0020 GETMBR R5 R0 K16 + 0x4C180000, // 0021 LDNIL R6 + 0x20140A06, // 0022 NE R5 R5 R6 + 0x74160003, // 0023 JMPT R5 #0028 + 0x88140111, // 0024 GETMBR R5 R0 K17 + 0x4C180000, // 0025 LDNIL R6 + 0x20140A06, // 0026 NE R5 R5 R6 + 0x7816000C, // 0027 JMPF R5 #0035 + 0x8C14070C, // 0028 GETMET R5 R3 K12 + 0x541E0004, // 0029 LDINT R7 5 + 0x7C140400, // 002A CALL R5 2 + 0x8C180B03, // 002B GETMET R6 R5 K3 + 0x58200004, // 002C LDCONST R8 K4 + 0x8824050D, // 002D GETMBR R9 R2 K13 + 0x88280110, // 002E GETMBR R10 R0 K16 + 0x7C180800, // 002F CALL R6 4 + 0x8C180B03, // 0030 GETMET R6 R5 K3 + 0x58200007, // 0031 LDCONST R8 K7 + 0x8824050D, // 0032 GETMBR R9 R2 K13 + 0x88280111, // 0033 GETMBR R10 R0 K17 + 0x7C180800, // 0034 CALL R6 4 + 0x8C140712, // 0035 GETMET R5 R3 K18 + 0x5C1C0200, // 0036 MOVE R7 R1 + 0x7C140400, // 0037 CALL R5 2 + 0x80040A00, // 0038 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_PBKDFParamResponse +********************************************************************/ +be_local_class(Matter_PBKDFParamResponse, + 7, + NULL, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(pbkdf_parameters_salt, -1), be_const_var(4) }, + { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(6) }, + { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 1), be_const_var(5) }, + { be_const_key_weak(responderSessionId, -1), be_const_var(2) }, + { be_const_key_weak(pbkdf_parameters_iterations, -1), be_const_var(3) }, + { be_const_key_weak(initiatorRandom, 7), be_const_var(0) }, + { be_const_key_weak(responderRandom, 3), be_const_var(1) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_PBKDFParamResponse_tlv2raw_closure) }, + })), + be_str_weak(Matter_PBKDFParamResponse) +); + +extern const bclass be_class_Matter_Pake1; + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_Pake1_parse, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(parse), + /* K4 */ be_nested_str_weak(pA), + /* K5 */ be_nested_str_weak(getsubval), + /* K6 */ be_const_int(1), + }), + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x58080000, // 0003 LDCONST R2 K0 + 0xB80E0200, // 0004 GETNGBL R3 K1 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x8C0C0703, // 0006 GETMET R3 R3 K3 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C0C0600, // 0009 CALL R3 3 + 0x8C100705, // 000A GETMET R4 R3 K5 + 0x58180006, // 000B LDCONST R6 K6 + 0x7C100400, // 000C CALL R4 2 + 0x90020804, // 000D SETMBR R0 K4 R4 + 0x80040000, // 000E RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Pake1 +********************************************************************/ +be_local_class(Matter_Pake1, + 1, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(pA, 1), be_const_var(0) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake1_parse_closure) }, + })), + be_str_weak(Matter_Pake1) +); + +extern const bclass be_class_Matter_Pake2; + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_Pake2_tlv2raw, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(B1), + /* K6 */ be_nested_str_weak(pB), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(cB), + /* K9 */ be_nested_str_weak(tlv2raw), + }), + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x88080501, // 0001 GETMBR R2 R2 K1 + 0x8C0C0502, // 0002 GETMET R3 R2 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C100703, // 0004 GETMET R4 R3 K3 + 0x58180004, // 0005 LDCONST R6 K4 + 0x881C0505, // 0006 GETMBR R7 R2 K5 + 0x88200106, // 0007 GETMBR R8 R0 K6 + 0x7C100800, // 0008 CALL R4 4 + 0x8C100703, // 0009 GETMET R4 R3 K3 + 0x58180007, // 000A LDCONST R6 K7 + 0x881C0505, // 000B GETMBR R7 R2 K5 + 0x88200108, // 000C GETMBR R8 R0 K8 + 0x7C100800, // 000D CALL R4 4 + 0x8C100709, // 000E GETMET R4 R3 K9 + 0x5C180200, // 000F MOVE R6 R1 + 0x7C100400, // 0010 CALL R4 2 + 0x80040800, // 0011 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Pake2 +********************************************************************/ +be_local_class(Matter_Pake2, + 2, + NULL, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Pake2_tlv2raw_closure) }, + { be_const_key_weak(cB, -1), be_const_var(1) }, + { be_const_key_weak(pB, 0), be_const_var(0) }, + })), + be_str_weak(Matter_Pake2) +); + +extern const bclass be_class_Matter_Pake3; + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_Pake3_parse, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(parse), + /* K4 */ be_nested_str_weak(cA), + /* K5 */ be_nested_str_weak(getsubval), + /* K6 */ be_const_int(1), + }), + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x58080000, // 0003 LDCONST R2 K0 + 0xB80E0200, // 0004 GETNGBL R3 K1 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x8C0C0703, // 0006 GETMET R3 R3 K3 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C0C0600, // 0009 CALL R3 3 + 0x8C100705, // 000A GETMET R4 R3 K5 + 0x58180006, // 000B LDCONST R6 K6 + 0x7C100400, // 000C CALL R4 2 + 0x90020804, // 000D SETMBR R0 K4 R4 + 0x80040000, // 000E RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Pake3 +********************************************************************/ +be_local_class(Matter_Pake3, + 1, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake3_parse_closure) }, + { be_const_key_weak(cA, -1), be_const_var(0) }, + })), + be_str_weak(Matter_Pake3) +); + +extern const bclass be_class_Matter_Sigma1; + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_Sigma1_parse, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[20]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(parse), + /* K4 */ be_nested_str_weak(Msg1), + /* K5 */ be_const_int(2147483647), + /* K6 */ be_nested_str_weak(initiatorRandom), + /* K7 */ be_nested_str_weak(getsubval), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(initiator_session_id), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(destinationId), + /* K12 */ be_const_int(3), + /* K13 */ be_nested_str_weak(initiatorEphPubKey), + /* K14 */ be_nested_str_weak(findsub), + /* K15 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL), + /* K16 */ be_nested_str_weak(findsubval), + /* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL), + /* K18 */ be_nested_str_weak(resumptionID), + /* K19 */ be_nested_str_weak(initiatorResumeMIC), + }), + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x58080000, // 0003 LDCONST R2 K0 + 0xB80E0200, // 0004 GETNGBL R3 K1 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x8C0C0703, // 0006 GETMET R3 R3 K3 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C0C0600, // 0009 CALL R3 3 + 0x40100505, // 000A CONNECT R4 R2 K5 + 0x94100204, // 000B GETIDX R4 R1 R4 + 0x90020804, // 000C SETMBR R0 K4 R4 + 0x8C100707, // 000D GETMET R4 R3 K7 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0x90020C04, // 0010 SETMBR R0 K6 R4 + 0x8C100707, // 0011 GETMET R4 R3 K7 + 0x5818000A, // 0012 LDCONST R6 K10 + 0x7C100400, // 0013 CALL R4 2 + 0x90021204, // 0014 SETMBR R0 K9 R4 + 0x8C100707, // 0015 GETMET R4 R3 K7 + 0x5818000C, // 0016 LDCONST R6 K12 + 0x7C100400, // 0017 CALL R4 2 + 0x90021604, // 0018 SETMBR R0 K11 R4 + 0x8C100707, // 0019 GETMET R4 R3 K7 + 0x541A0003, // 001A LDINT R6 4 + 0x7C100400, // 001B CALL R4 2 + 0x90021A04, // 001C SETMBR R0 K13 R4 + 0x8C10070E, // 001D GETMET R4 R3 K14 + 0x541A0004, // 001E LDINT R6 5 + 0x7C100400, // 001F CALL R4 2 + 0x4C140000, // 0020 LDNIL R5 + 0x20140805, // 0021 NE R5 R4 R5 + 0x78160007, // 0022 JMPF R5 #002B + 0x8C140910, // 0023 GETMET R5 R4 K16 + 0x581C0008, // 0024 LDCONST R7 K8 + 0x7C140400, // 0025 CALL R5 2 + 0x90021E05, // 0026 SETMBR R0 K15 R5 + 0x8C140910, // 0027 GETMET R5 R4 K16 + 0x581C000A, // 0028 LDCONST R7 K10 + 0x7C140400, // 0029 CALL R5 2 + 0x90022205, // 002A SETMBR R0 K17 R5 + 0x8C140710, // 002B GETMET R5 R3 K16 + 0x541E0005, // 002C LDINT R7 6 + 0x7C140400, // 002D CALL R5 2 + 0x90022405, // 002E SETMBR R0 K18 R5 + 0x8C140710, // 002F GETMET R5 R3 K16 + 0x541E0006, // 0030 LDINT R7 7 + 0x7C140400, // 0031 CALL R5 2 + 0x90022605, // 0032 SETMBR R0 K19 R5 + 0x80040000, // 0033 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Sigma1 +********************************************************************/ +be_local_class(Matter_Sigma1, + 9, + NULL, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) }, + { be_const_key_weak(Msg1, -1), be_const_var(8) }, + { be_const_key_weak(parse, 6), be_const_closure(class_Matter_Sigma1_parse_closure) }, + { be_const_key_weak(initiatorRandom, -1), be_const_var(0) }, + { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 7), be_const_var(4) }, + { be_const_key_weak(initiatorEphPubKey, -1), be_const_var(3) }, + { be_const_key_weak(initiatorResumeMIC, -1), be_const_var(7) }, + { be_const_key_weak(resumptionID, -1), be_const_var(6) }, + { be_const_key_weak(destinationId, -1), be_const_var(2) }, + { be_const_key_weak(initiator_session_id, 1), be_const_var(1) }, + })), + be_str_weak(Matter_Sigma1) +); + +extern const bclass be_class_Matter_Sigma2; + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_Sigma2_tlv2raw, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[18]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(B1), + /* K6 */ be_nested_str_weak(responderRandom), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(U2), + /* K9 */ be_nested_str_weak(responderSessionId), + /* K10 */ be_const_int(3), + /* K11 */ be_nested_str_weak(responderEphPubKey), + /* K12 */ be_nested_str_weak(encrypted2), + /* K13 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL), + /* K14 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL), + /* K15 */ be_nested_str_weak(add_struct), + /* K16 */ be_nested_str_weak(U4), + /* K17 */ be_nested_str_weak(tlv2raw), + }), + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[49]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x88080501, // 0001 GETMBR R2 R2 K1 + 0x8C0C0502, // 0002 GETMET R3 R2 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C100703, // 0004 GETMET R4 R3 K3 + 0x58180004, // 0005 LDCONST R6 K4 + 0x881C0505, // 0006 GETMBR R7 R2 K5 + 0x88200106, // 0007 GETMBR R8 R0 K6 + 0x7C100800, // 0008 CALL R4 4 + 0x8C100703, // 0009 GETMET R4 R3 K3 + 0x58180007, // 000A LDCONST R6 K7 + 0x881C0508, // 000B GETMBR R7 R2 K8 + 0x88200109, // 000C GETMBR R8 R0 K9 + 0x7C100800, // 000D CALL R4 4 + 0x8C100703, // 000E GETMET R4 R3 K3 + 0x5818000A, // 000F LDCONST R6 K10 + 0x881C0505, // 0010 GETMBR R7 R2 K5 + 0x8820010B, // 0011 GETMBR R8 R0 K11 + 0x7C100800, // 0012 CALL R4 4 + 0x8C100703, // 0013 GETMET R4 R3 K3 + 0x541A0003, // 0014 LDINT R6 4 + 0x881C0505, // 0015 GETMBR R7 R2 K5 + 0x8820010C, // 0016 GETMBR R8 R0 K12 + 0x7C100800, // 0017 CALL R4 4 + 0x8810010D, // 0018 GETMBR R4 R0 K13 + 0x4C140000, // 0019 LDNIL R5 + 0x20100805, // 001A NE R4 R4 R5 + 0x74120003, // 001B JMPT R4 #0020 + 0x8810010E, // 001C GETMBR R4 R0 K14 + 0x4C140000, // 001D LDNIL R5 + 0x20100805, // 001E NE R4 R4 R5 + 0x7812000C, // 001F JMPF R4 #002D + 0x8C10070F, // 0020 GETMET R4 R3 K15 + 0x541A0004, // 0021 LDINT R6 5 + 0x7C100400, // 0022 CALL R4 2 + 0x8C140903, // 0023 GETMET R5 R4 K3 + 0x581C0004, // 0024 LDCONST R7 K4 + 0x88200510, // 0025 GETMBR R8 R2 K16 + 0x8824010D, // 0026 GETMBR R9 R0 K13 + 0x7C140800, // 0027 CALL R5 4 + 0x8C140903, // 0028 GETMET R5 R4 K3 + 0x581C0007, // 0029 LDCONST R7 K7 + 0x88200510, // 002A GETMBR R8 R2 K16 + 0x8824010E, // 002B GETMBR R9 R0 K14 + 0x7C140800, // 002C CALL R5 4 + 0x8C100711, // 002D GETMET R4 R3 K17 + 0x5C180200, // 002E MOVE R6 R1 + 0x7C100400, // 002F CALL R4 2 + 0x80040800, // 0030 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Sigma2 +********************************************************************/ +be_local_class(Matter_Sigma2, + 6, + NULL, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2_tlv2raw_closure) }, + { be_const_key_weak(responderEphPubKey, 3), be_const_var(2) }, + { be_const_key_weak(responderSessionId, -1), be_const_var(1) }, + { be_const_key_weak(SLEEPY_IDLE_INTERVAL, -1), be_const_var(4) }, + { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, 6), be_const_var(5) }, + { be_const_key_weak(responderRandom, 1), be_const_var(0) }, + { be_const_key_weak(encrypted2, -1), be_const_var(3) }, + })), + be_str_weak(Matter_Sigma2) +); + +extern const bclass be_class_Matter_Sigma2Resume; + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_Sigma2Resume_tlv2raw, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[17]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(B1), + /* K6 */ be_nested_str_weak(resumptionID), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(sigma2ResumeMIC), + /* K9 */ be_const_int(3), + /* K10 */ be_nested_str_weak(U2), + /* K11 */ be_nested_str_weak(responderSessionID), + /* K12 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL), + /* K13 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL), + /* K14 */ be_nested_str_weak(add_struct), + /* K15 */ be_nested_str_weak(U4), + /* K16 */ be_nested_str_weak(tlv2raw), + }), + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x88080501, // 0001 GETMBR R2 R2 K1 + 0x8C0C0502, // 0002 GETMET R3 R2 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C100703, // 0004 GETMET R4 R3 K3 + 0x58180004, // 0005 LDCONST R6 K4 + 0x881C0505, // 0006 GETMBR R7 R2 K5 + 0x88200106, // 0007 GETMBR R8 R0 K6 + 0x7C100800, // 0008 CALL R4 4 + 0x8C100703, // 0009 GETMET R4 R3 K3 + 0x58180007, // 000A LDCONST R6 K7 + 0x881C0505, // 000B GETMBR R7 R2 K5 + 0x88200108, // 000C GETMBR R8 R0 K8 + 0x7C100800, // 000D CALL R4 4 + 0x8C100703, // 000E GETMET R4 R3 K3 + 0x58180009, // 000F LDCONST R6 K9 + 0x881C050A, // 0010 GETMBR R7 R2 K10 + 0x8820010B, // 0011 GETMBR R8 R0 K11 + 0x7C100800, // 0012 CALL R4 4 + 0x8810010C, // 0013 GETMBR R4 R0 K12 + 0x4C140000, // 0014 LDNIL R5 + 0x20100805, // 0015 NE R4 R4 R5 + 0x74120003, // 0016 JMPT R4 #001B + 0x8810010D, // 0017 GETMBR R4 R0 K13 + 0x4C140000, // 0018 LDNIL R5 + 0x20100805, // 0019 NE R4 R4 R5 + 0x7812000C, // 001A JMPF R4 #0028 + 0x8C10070E, // 001B GETMET R4 R3 K14 + 0x541A0003, // 001C LDINT R6 4 + 0x7C100400, // 001D CALL R4 2 + 0x8C140903, // 001E GETMET R5 R4 K3 + 0x581C0004, // 001F LDCONST R7 K4 + 0x8820050F, // 0020 GETMBR R8 R2 K15 + 0x8824010C, // 0021 GETMBR R9 R0 K12 + 0x7C140800, // 0022 CALL R5 4 + 0x8C140903, // 0023 GETMET R5 R4 K3 + 0x581C0007, // 0024 LDCONST R7 K7 + 0x8820050F, // 0025 GETMBR R8 R2 K15 + 0x8824010D, // 0026 GETMBR R9 R0 K13 + 0x7C140800, // 0027 CALL R5 4 + 0x8C100710, // 0028 GETMET R4 R3 K16 + 0x5C180200, // 0029 MOVE R6 R1 + 0x7C100400, // 002A CALL R4 2 + 0x80040800, // 002B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Sigma2Resume +********************************************************************/ +be_local_class(Matter_Sigma2Resume, + 5, + NULL, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 3), be_const_var(3) }, + { be_const_key_weak(resumptionID, -1), be_const_var(0) }, + { be_const_key_weak(sigma2ResumeMIC, -1), be_const_var(1) }, + { be_const_key_weak(responderSessionID, 1), be_const_var(2) }, + { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(4) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2Resume_tlv2raw_closure) }, + })), + be_str_weak(Matter_Sigma2Resume) +); + +extern const bclass be_class_Matter_Sigma3; + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_Sigma3_parse, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(parse), + /* K4 */ be_nested_str_weak(Msg3), + /* K5 */ be_const_int(2147483647), + /* K6 */ be_nested_str_weak(TBEData3Encrypted), + /* K7 */ be_nested_str_weak(getsubval), + /* K8 */ be_const_int(1), + }), + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x58080000, // 0003 LDCONST R2 K0 + 0xB80E0200, // 0004 GETNGBL R3 K1 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x8C0C0703, // 0006 GETMET R3 R3 K3 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C0C0600, // 0009 CALL R3 3 + 0x40100505, // 000A CONNECT R4 R2 K5 + 0x94100204, // 000B GETIDX R4 R1 R4 + 0x90020804, // 000C SETMBR R0 K4 R4 + 0x8C100707, // 000D GETMET R4 R3 K7 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0x90020C04, // 0010 SETMBR R0 K6 R4 + 0x80040000, // 0011 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Sigma3 +********************************************************************/ +be_local_class(Matter_Sigma3, + 2, + NULL, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TBEData3Encrypted, 2), be_const_var(0) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Sigma3_parse_closure) }, + { be_const_key_weak(Msg3, -1), be_const_var(1) }, + })), + be_str_weak(Matter_Sigma3) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Control_Message.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Control_Message.h new file mode 100644 index 000000000..e8ccdbd73 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Control_Message.h @@ -0,0 +1,215 @@ +/* Solidification of Matter_Control_Message.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Control_Message' ktab size: 22, total: 31 (saved 72 bytes) +static const bvalue be_ktab_class_Matter_Control_Message[22] = { + /* K0 */ be_nested_str_weak(session), + /* K1 */ be_nested_str_weak(log), + /* K2 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncRsp_X20_X2A_X20Not_X20implemented_X20_X25s), + /* K3 */ be_nested_str_weak(raw), + /* K4 */ be_nested_str_weak(app_payload_idx), + /* K5 */ be_const_int(2147483647), + /* K6 */ be_nested_str_weak(tohex), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncReq_X20_X2A_X20Not_X20implemented_X20_X25s), + /* K9 */ be_nested_str_weak(crypto), + /* K10 */ be_nested_str_weak(responder), + /* K11 */ be_nested_str_weak(device), + /* K12 */ be_nested_str_weak(MTR_X3A_X20received_X20control_X20message_X20), + /* K13 */ be_nested_str_weak(matter), + /* K14 */ be_nested_str_weak(inspect), + /* K15 */ be_const_int(3), + /* K16 */ be_nested_str_weak(opcode), + /* K17 */ be_const_int(0), + /* K18 */ be_nested_str_weak(parse_MsgCounterSyncReq), + /* K19 */ be_const_int(1), + /* K20 */ be_nested_str_weak(parse_MsgCounterSyncRsp), + /* K21 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28control_X20message_X29_X20_X2502X), +}; + + +extern const bclass be_class_Matter_Control_Message; + +/******************************************************************** +** Solidified function: parse_MsgCounterSyncRsp +********************************************************************/ +be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Control_Message, /* shared constants */ + be_str_weak(parse_MsgCounterSyncRsp), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0xB80E0200, // 0001 GETNGBL R3 K1 + 0x60100018, // 0002 GETGBL R4 G24 + 0x58140002, // 0003 LDCONST R5 K2 + 0x88180304, // 0004 GETMBR R6 R1 K4 + 0x40180D05, // 0005 CONNECT R6 R6 K5 + 0x881C0303, // 0006 GETMBR R7 R1 K3 + 0x94180E06, // 0007 GETIDX R6 R7 R6 + 0x8C180D06, // 0008 GETMET R6 R6 K6 + 0x7C180200, // 0009 CALL R6 1 + 0x7C100400, // 000A CALL R4 2 + 0x58140007, // 000B LDCONST R5 K7 + 0x7C0C0400, // 000C CALL R3 2 + 0x500C0000, // 000D LDBOOL R3 0 0 + 0x80040600, // 000E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_MsgCounterSyncReq +********************************************************************/ +be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Control_Message, /* shared constants */ + be_str_weak(parse_MsgCounterSyncReq), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0xB80E0200, // 0001 GETNGBL R3 K1 + 0x60100018, // 0002 GETGBL R4 G24 + 0x58140008, // 0003 LDCONST R5 K8 + 0x88180304, // 0004 GETMBR R6 R1 K4 + 0x40180D05, // 0005 CONNECT R6 R6 K5 + 0x881C0303, // 0006 GETMBR R7 R1 K3 + 0x94180E06, // 0007 GETIDX R6 R7 R6 + 0x8C180D06, // 0008 GETMET R6 R6 K6 + 0x7C180200, // 0009 CALL R6 1 + 0x7C100400, // 000A CALL R4 2 + 0x58140007, // 000B LDCONST R5 K7 + 0x7C0C0400, // 000C CALL R3 2 + 0x500C0000, // 000D LDBOOL R3 0 0 + 0x80040600, // 000E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Control_Message_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Control_Message, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA40A1200, // 0000 IMPORT R2 K9 + 0x90021401, // 0001 SETMBR R0 K10 R1 + 0x880C030B, // 0002 GETMBR R3 R1 K11 + 0x90021603, // 0003 SETMBR R0 K11 R3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_incoming_control_message +********************************************************************/ +be_local_closure(class_Matter_Control_Message_process_incoming_control_message, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Control_Message, /* shared constants */ + be_str_weak(process_incoming_control_message), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xB80A0200, // 0000 GETNGBL R2 K1 + 0xB80E1A00, // 0001 GETNGBL R3 K13 + 0x8C0C070E, // 0002 GETMET R3 R3 K14 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C0C0400, // 0004 CALL R3 2 + 0x000E1803, // 0005 ADD R3 K12 R3 + 0x5810000F, // 0006 LDCONST R4 K15 + 0x7C080400, // 0007 CALL R2 2 + 0x88080310, // 0008 GETMBR R2 R1 K16 + 0x1C080511, // 0009 EQ R2 R2 K17 + 0x780A0004, // 000A JMPF R2 #0010 + 0x8C080112, // 000B GETMET R2 R0 K18 + 0x5C100200, // 000C MOVE R4 R1 + 0x7C080400, // 000D CALL R2 2 + 0x80040400, // 000E RET 1 R2 + 0x70020010, // 000F JMP #0021 + 0x88080310, // 0010 GETMBR R2 R1 K16 + 0x1C080513, // 0011 EQ R2 R2 K19 + 0x780A0004, // 0012 JMPF R2 #0018 + 0x8C080114, // 0013 GETMET R2 R0 K20 + 0x5C100200, // 0014 MOVE R4 R1 + 0x7C080400, // 0015 CALL R2 2 + 0x80040400, // 0016 RET 1 R2 + 0x70020008, // 0017 JMP #0021 + 0xB80A0200, // 0018 GETNGBL R2 K1 + 0x600C0018, // 0019 GETGBL R3 G24 + 0x58100015, // 001A LDCONST R4 K21 + 0x88140310, // 001B GETMBR R5 R1 K16 + 0x7C0C0400, // 001C CALL R3 2 + 0x58100007, // 001D LDCONST R4 K7 + 0x7C080400, // 001E CALL R2 2 + 0x50080000, // 001F LDBOOL R2 0 0 + 0x80040400, // 0020 RET 1 R2 + 0x50080000, // 0021 LDBOOL R2 0 0 + 0x80040400, // 0022 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Control_Message +********************************************************************/ +be_local_class(Matter_Control_Message, + 2, + NULL, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(parse_MsgCounterSyncRsp, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp_closure) }, + { be_const_key_weak(responder, 2), be_const_var(0) }, + { be_const_key_weak(parse_MsgCounterSyncReq, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_Matter_Control_Message_init_closure) }, + { be_const_key_weak(device, -1), be_const_var(1) }, + { be_const_key_weak(process_incoming_control_message, -1), be_const_closure(class_Matter_Control_Message_process_incoming_control_message_closure) }, + })), + be_str_weak(Matter_Control_Message) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_EventHandler.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_EventHandler.h new file mode 100644 index 000000000..ca63bd343 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_EventHandler.h @@ -0,0 +1,1158 @@ +/* Solidification of Matter_EventHandler.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_EventHandler' ktab size: 58, total: 86 (saved 224 bytes) +static const bvalue be_ktab_class_Matter_EventHandler[58] = { + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(log), + /* K2 */ be_nested_str_weak(MTR_X3A_X20Events_X20queues_X20sizes_X3A_X20critical_X20_X25s_X2C_X20info_X20_X25s_X2C_X20debug_X20_X25s), + /* K3 */ be_nested_str_weak(queue_critical), + /* K4 */ be_nested_str_weak(queue_info), + /* K5 */ be_nested_str_weak(queue_debug), + /* K6 */ be_const_int(2), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(priority), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(stop_iteration), + /* K11 */ be_nested_str_weak(MTR_X3A_X20Events_X20by_X20types_X3A_X20critical_X20_X25s_X2C_X20info_X20_X25s_X2C_X20debug_X20_X25s), + /* K12 */ be_nested_str_weak(counter_event_no), + /* K13 */ be_nested_str_weak(add), + /* K14 */ be_nested_str_weak(counter_event_no_persisted), + /* K15 */ be_nested_str_weak(load_event_no_persisted), + /* K16 */ be_nested_str_weak(persist), + /* K17 */ be_nested_str_weak(find), + /* K18 */ be_nested_str_weak(EVENT_NO_KEY), + /* K19 */ be_nested_str_weak(0), + /* K20 */ be_nested_str_weak(int64), + /* K21 */ be_nested_str_weak(fromstring), + /* K22 */ be_nested_str_weak(EVENT_NO_INCR), + /* K23 */ be_nested_str_weak(setmember), + /* K24 */ be_nested_str_weak(tostring), + /* K25 */ be_nested_str_weak(save), + /* K26 */ be_nested_str_weak(push), + /* K27 */ be_nested_str_weak(EVENT_QUEUE_SIZE_MAX), + /* K28 */ be_nested_str_weak(pop), + /* K29 */ be_nested_str_weak(matter), + /* K30 */ be_nested_str_weak(EVENT_DEBUG), + /* K31 */ be_nested_str_weak(EVENT_INFO), + /* K32 */ be_nested_str_weak(compact), + /* K33 */ be_nested_str_weak(device), + /* K34 */ be_nested_str_weak(EventQueued), + /* K35 */ be_nested_str_weak(get_next_event_no), + /* K36 */ be_nested_str_weak(loglevel), + /* K37 */ be_const_int(3), + /* K38 */ be_nested_str_weak(), + /* K39 */ be_nested_str_weak(_X2C_X20), + /* K40 */ be_nested_str_weak(val), + /* K41 */ be_nested_str_weak(_X25i_X2E_X25i_X2E_X25i_X2E_X25i), + /* K42 */ be_nested_str_weak(CRIT_X20_X20), + /* K43 */ be_nested_str_weak(INFO_X20_X20), + /* K44 */ be_nested_str_weak(DEBUG_X20), + /* K45 */ be_nested_str_weak(get_event_name), + /* K46 */ be_nested_str_weak(_X28), + /* K47 */ be_nested_str_weak(_X29_X20), + /* K48 */ be_nested_str_weak(MTR_X3A_X20_X2BAdd_Event_X20_X28_X25s_X258s_X29_X20_X5B_X2502X_X5D_X2504X_X2F_X2502X_X20_X25s_X2D_X20_X25s), + /* K49 */ be_nested_str_weak(event_no), + /* K50 */ be_nested_str_weak(endpoint), + /* K51 */ be_nested_str_weak(cluster), + /* K52 */ be_nested_str_weak(event_id), + /* K53 */ be_nested_str_weak(queue_event), + /* K54 */ be_nested_str_weak(message_handler), + /* K55 */ be_nested_str_weak(im), + /* K56 */ be_nested_str_weak(subs_shop), + /* K57 */ be_nested_str_weak(event_published), +}; + + +extern const bclass be_class_Matter_EventHandler; + +/******************************************************************** +** Solidified function: dump +********************************************************************/ +be_local_closure(class_Matter_EventHandler_dump, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(dump), + &be_const_str_solidified, + ( &(const binstruction[74]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x600C0018, // 0002 GETGBL R3 G24 + 0x58100002, // 0003 LDCONST R4 K2 + 0x6014000C, // 0004 GETGBL R5 G12 + 0x88180103, // 0005 GETMBR R6 R0 K3 + 0x7C140200, // 0006 CALL R5 1 + 0x6018000C, // 0007 GETGBL R6 G12 + 0x881C0104, // 0008 GETMBR R7 R0 K4 + 0x7C180200, // 0009 CALL R6 1 + 0x601C000C, // 000A GETGBL R7 G12 + 0x88200105, // 000B GETMBR R8 R0 K5 + 0x7C1C0200, // 000C CALL R7 1 + 0x7C0C0800, // 000D CALL R3 4 + 0x58100006, // 000E LDCONST R4 K6 + 0x7C040600, // 000F CALL R1 3 + 0x60040012, // 0010 GETGBL R1 G18 + 0x7C040000, // 0011 CALL R1 0 + 0x40080307, // 0012 CONNECT R2 R1 K7 + 0x40080307, // 0013 CONNECT R2 R1 K7 + 0x40080307, // 0014 CONNECT R2 R1 K7 + 0x60080010, // 0015 GETGBL R2 G16 + 0x880C0105, // 0016 GETMBR R3 R0 K5 + 0x7C080200, // 0017 CALL R2 1 + 0xA8020006, // 0018 EXBLK 0 #0020 + 0x5C0C0400, // 0019 MOVE R3 R2 + 0x7C0C0000, // 001A CALL R3 0 + 0x88100708, // 001B GETMBR R4 R3 K8 + 0x94140204, // 001C GETIDX R5 R1 R4 + 0x00140B09, // 001D ADD R5 R5 K9 + 0x98040805, // 001E SETIDX R1 R4 R5 + 0x7001FFF8, // 001F JMP #0019 + 0x5808000A, // 0020 LDCONST R2 K10 + 0xAC080200, // 0021 CATCH R2 1 0 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x60080010, // 0023 GETGBL R2 G16 + 0x880C0104, // 0024 GETMBR R3 R0 K4 + 0x7C080200, // 0025 CALL R2 1 + 0xA8020006, // 0026 EXBLK 0 #002E + 0x5C0C0400, // 0027 MOVE R3 R2 + 0x7C0C0000, // 0028 CALL R3 0 + 0x88100708, // 0029 GETMBR R4 R3 K8 + 0x94140204, // 002A GETIDX R5 R1 R4 + 0x00140B09, // 002B ADD R5 R5 K9 + 0x98040805, // 002C SETIDX R1 R4 R5 + 0x7001FFF8, // 002D JMP #0027 + 0x5808000A, // 002E LDCONST R2 K10 + 0xAC080200, // 002F CATCH R2 1 0 + 0xB0080000, // 0030 RAISE 2 R0 R0 + 0x60080010, // 0031 GETGBL R2 G16 + 0x880C0103, // 0032 GETMBR R3 R0 K3 + 0x7C080200, // 0033 CALL R2 1 + 0xA8020006, // 0034 EXBLK 0 #003C + 0x5C0C0400, // 0035 MOVE R3 R2 + 0x7C0C0000, // 0036 CALL R3 0 + 0x88100708, // 0037 GETMBR R4 R3 K8 + 0x94140204, // 0038 GETIDX R5 R1 R4 + 0x00140B09, // 0039 ADD R5 R5 K9 + 0x98040805, // 003A SETIDX R1 R4 R5 + 0x7001FFF8, // 003B JMP #0035 + 0x5808000A, // 003C LDCONST R2 K10 + 0xAC080200, // 003D CATCH R2 1 0 + 0xB0080000, // 003E RAISE 2 R0 R0 + 0xB80A0000, // 003F GETNGBL R2 K0 + 0x8C080501, // 0040 GETMET R2 R2 K1 + 0x60100018, // 0041 GETGBL R4 G24 + 0x5814000B, // 0042 LDCONST R5 K11 + 0x94180306, // 0043 GETIDX R6 R1 K6 + 0x941C0309, // 0044 GETIDX R7 R1 K9 + 0x94200307, // 0045 GETIDX R8 R1 K7 + 0x7C100800, // 0046 CALL R4 4 + 0x58140006, // 0047 LDCONST R5 K6 + 0x7C080600, // 0048 CALL R2 3 + 0x80000000, // 0049 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_last_event_no +********************************************************************/ +be_local_closure(class_Matter_EventHandler_get_last_event_no, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(get_last_event_no), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_next_event_no +********************************************************************/ +be_local_closure(class_Matter_EventHandler_get_next_event_no, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(get_next_event_no), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x580C0009, // 0002 LDCONST R3 K9 + 0x7C040400, // 0003 CALL R1 2 + 0x90021801, // 0004 SETMBR R0 K12 R1 + 0x8804010C, // 0005 GETMBR R1 R0 K12 + 0x8808010E, // 0006 GETMBR R2 R0 K14 + 0x28040202, // 0007 GE R1 R1 R2 + 0x78060001, // 0008 JMPF R1 #000B + 0x8C04010F, // 0009 GETMET R1 R0 K15 + 0x7C040200, // 000A CALL R1 1 + 0x8804010C, // 000B GETMBR R1 R0 K12 + 0x80040200, // 000C RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load_event_no_persisted +********************************************************************/ +be_local_closure(class_Matter_EventHandler_load_event_no_persisted, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(load_event_no_persisted), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0xA4062000, // 0000 IMPORT R1 K16 + 0x60080008, // 0001 GETGBL R2 G8 + 0x8C0C0311, // 0002 GETMET R3 R1 K17 + 0x88140112, // 0003 GETMBR R5 R0 K18 + 0x58180013, // 0004 LDCONST R6 K19 + 0x7C0C0600, // 0005 CALL R3 3 + 0x7C080200, // 0006 CALL R2 1 + 0xB80E2800, // 0007 GETNGBL R3 K20 + 0x8C0C0715, // 0008 GETMET R3 R3 K21 + 0x5C140400, // 0009 MOVE R5 R2 + 0x7C0C0400, // 000A CALL R3 2 + 0x90021803, // 000B SETMBR R0 K12 R3 + 0x880C010C, // 000C GETMBR R3 R0 K12 + 0x8C0C070D, // 000D GETMET R3 R3 K13 + 0x88140116, // 000E GETMBR R5 R0 K22 + 0x7C0C0400, // 000F CALL R3 2 + 0x90021C03, // 0010 SETMBR R0 K14 R3 + 0x8C0C0317, // 0011 GETMET R3 R1 K23 + 0x88140112, // 0012 GETMBR R5 R0 K18 + 0x8818010E, // 0013 GETMBR R6 R0 K14 + 0x8C180D18, // 0014 GETMET R6 R6 K24 + 0x7C180200, // 0015 CALL R6 1 + 0x7C0C0600, // 0016 CALL R3 3 + 0x8C0C0319, // 0017 GETMET R3 R1 K25 + 0x7C0C0200, // 0018 CALL R3 1 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: queue_event +********************************************************************/ +be_local_closure(class_Matter_EventHandler_queue_event, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(queue_event), + &be_const_str_solidified, + ( &(const binstruction[54]) { /* code */ + 0x88080308, // 0000 GETMBR R2 R1 K8 + 0x880C0105, // 0001 GETMBR R3 R0 K5 + 0x8C0C071A, // 0002 GETMET R3 R3 K26 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C0C0400, // 0004 CALL R3 2 + 0x600C000C, // 0005 GETGBL R3 G12 + 0x88100105, // 0006 GETMBR R4 R0 K5 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8810011B, // 0008 GETMBR R4 R0 K27 + 0x240C0604, // 0009 GT R3 R3 R4 + 0x780E0029, // 000A JMPF R3 #0035 + 0x880C0105, // 000B GETMBR R3 R0 K5 + 0x8C0C071C, // 000C GETMET R3 R3 K28 + 0x58140007, // 000D LDCONST R5 K7 + 0x7C0C0400, // 000E CALL R3 2 + 0x88100708, // 000F GETMBR R4 R3 K8 + 0xB8163A00, // 0010 GETNGBL R5 K29 + 0x88140B1E, // 0011 GETMBR R5 R5 K30 + 0x24100805, // 0012 GT R4 R4 R5 + 0x78120020, // 0013 JMPF R4 #0035 + 0x88100104, // 0014 GETMBR R4 R0 K4 + 0x8C10091A, // 0015 GETMET R4 R4 K26 + 0x5C180600, // 0016 MOVE R6 R3 + 0x7C100400, // 0017 CALL R4 2 + 0x6010000C, // 0018 GETGBL R4 G12 + 0x88140104, // 0019 GETMBR R5 R0 K4 + 0x7C100200, // 001A CALL R4 1 + 0x8814011B, // 001B GETMBR R5 R0 K27 + 0x24100805, // 001C GT R4 R4 R5 + 0x78120016, // 001D JMPF R4 #0035 + 0x88100104, // 001E GETMBR R4 R0 K4 + 0x8C10091C, // 001F GETMET R4 R4 K28 + 0x58180007, // 0020 LDCONST R6 K7 + 0x7C100400, // 0021 CALL R4 2 + 0x88140908, // 0022 GETMBR R5 R4 K8 + 0xB81A3A00, // 0023 GETNGBL R6 K29 + 0x88180D1F, // 0024 GETMBR R6 R6 K31 + 0x24140A06, // 0025 GT R5 R5 R6 + 0x7816000D, // 0026 JMPF R5 #0035 + 0x88140103, // 0027 GETMBR R5 R0 K3 + 0x8C140B1A, // 0028 GETMET R5 R5 K26 + 0x5C1C0800, // 0029 MOVE R7 R4 + 0x7C140400, // 002A CALL R5 2 + 0x6014000C, // 002B GETGBL R5 G12 + 0x88180103, // 002C GETMBR R6 R0 K3 + 0x7C140200, // 002D CALL R5 1 + 0x8818011B, // 002E GETMBR R6 R0 K27 + 0x24140A06, // 002F GT R5 R5 R6 + 0x78160003, // 0030 JMPF R5 #0035 + 0x88140103, // 0031 GETMBR R5 R0 K3 + 0x8C140B1C, // 0032 GETMET R5 R5 K28 + 0x581C0007, // 0033 LDCONST R7 K7 + 0x7C140400, // 0034 CALL R5 2 + 0x80000000, // 0035 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_EventHandler_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040120, // 0000 GETMET R1 R0 K32 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_EventHandler_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x90024201, // 0000 SETMBR R0 K33 R1 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x90020A02, // 0003 SETMBR R0 K5 R2 + 0x60080012, // 0004 GETGBL R2 G18 + 0x7C080000, // 0005 CALL R2 0 + 0x90020802, // 0006 SETMBR R0 K4 R2 + 0x60080012, // 0007 GETGBL R2 G18 + 0x7C080000, // 0008 CALL R2 0 + 0x90020602, // 0009 SETMBR R0 K3 R2 + 0x8C08010F, // 000A GETMET R2 R0 K15 + 0x7C080200, // 000B CALL R2 1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_min_no +********************************************************************/ +be_local_closure(class_Matter_EventHandler_find_min_no, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_const_int(1), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(event_no), + }), + be_str_weak(find_in_queue), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x600C000C, // 0000 GETGBL R3 G12 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C0C0200, // 0002 CALL R3 1 + 0x040C0700, // 0003 SUB R3 R3 K0 + 0x28100701, // 0004 GE R4 R3 K1 + 0x78120011, // 0005 JMPF R4 #0018 + 0x94100203, // 0006 GETIDX R4 R1 R3 + 0x4C140000, // 0007 LDNIL R5 + 0x20140405, // 0008 NE R5 R2 R5 + 0x78160003, // 0009 JMPF R5 #000E + 0x88140902, // 000A GETMBR R5 R4 K2 + 0x18140A02, // 000B LE R5 R5 R2 + 0x78160000, // 000C JMPF R5 #000E + 0x80040000, // 000D RET 1 R0 + 0x4C140000, // 000E LDNIL R5 + 0x1C140005, // 000F EQ R5 R0 R5 + 0x74160003, // 0010 JMPT R5 #0015 + 0x88140902, // 0011 GETMBR R5 R4 K2 + 0x88180102, // 0012 GETMBR R6 R0 K2 + 0x14140A06, // 0013 LT R5 R5 R6 + 0x78160000, // 0014 JMPF R5 #0016 + 0x5C000800, // 0015 MOVE R0 R4 + 0x040C0700, // 0016 SUB R3 R3 K0 + 0x7001FFEB, // 0017 JMP #0004 + 0x80040000, // 0018 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(find_min_no), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0004, // 0002 JMPF R2 #0008 + 0x8808010C, // 0003 GETMBR R2 R0 K12 + 0x28080202, // 0004 GE R2 R1 R2 + 0x780A0001, // 0005 JMPF R2 #0008 + 0x4C080000, // 0006 LDNIL R2 + 0x80040400, // 0007 RET 1 R2 + 0x84080000, // 0008 CLOSURE R2 P0 + 0x4C0C0000, // 0009 LDNIL R3 + 0x5C100400, // 000A MOVE R4 R2 + 0x5C140600, // 000B MOVE R5 R3 + 0x88180105, // 000C GETMBR R6 R0 K5 + 0x5C1C0200, // 000D MOVE R7 R1 + 0x7C100600, // 000E CALL R4 3 + 0x5C0C0800, // 000F MOVE R3 R4 + 0x5C100400, // 0010 MOVE R4 R2 + 0x5C140600, // 0011 MOVE R5 R3 + 0x88180104, // 0012 GETMBR R6 R0 K4 + 0x5C1C0200, // 0013 MOVE R7 R1 + 0x7C100600, // 0014 CALL R4 3 + 0x5C0C0800, // 0015 MOVE R3 R4 + 0x5C100400, // 0016 MOVE R4 R2 + 0x5C140600, // 0017 MOVE R5 R3 + 0x88180103, // 0018 GETMBR R6 R0 K3 + 0x5C1C0200, // 0019 MOVE R7 R1 + 0x7C100600, // 001A CALL R4 3 + 0x5C0C0800, // 001B MOVE R3 R4 + 0x80040600, // 001C RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: publish_event +********************************************************************/ +be_local_closure(class_Matter_EventHandler_publish_event, /* name */ + be_nested_proto( + 23, /* nstack */ + 9, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(publish_event), + &be_const_str_solidified, + ( &(const binstruction[112]) { /* code */ + 0xB8263A00, // 0000 GETNGBL R9 K29 + 0x8C241322, // 0001 GETMET R9 R9 K34 + 0x8C2C0123, // 0002 GETMET R11 R0 K35 + 0x7C2C0200, // 0003 CALL R11 1 + 0x5C300200, // 0004 MOVE R12 R1 + 0x5C340400, // 0005 MOVE R13 R2 + 0x5C380600, // 0006 MOVE R14 R3 + 0x5C3C0800, // 0007 MOVE R15 R4 + 0x5C400A00, // 0008 MOVE R16 R5 + 0x5C440C00, // 0009 MOVE R17 R6 + 0x5C480E00, // 000A MOVE R18 R7 + 0x5C4C1000, // 000B MOVE R19 R8 + 0x7C241400, // 000C CALL R9 10 + 0xB82A0000, // 000D GETNGBL R10 K0 + 0x8C281524, // 000E GETMET R10 R10 K36 + 0x58300025, // 000F LDCONST R12 K37 + 0x7C280400, // 0010 CALL R10 2 + 0x782A0052, // 0011 JMPF R10 #0065 + 0x58280026, // 0012 LDCONST R10 K38 + 0x4C2C0000, // 0013 LDNIL R11 + 0x202C0C0B, // 0014 NE R11 R6 R11 + 0x782E0003, // 0015 JMPF R11 #001A + 0x602C0008, // 0016 GETGBL R11 G8 + 0x5C300C00, // 0017 MOVE R12 R6 + 0x7C2C0200, // 0018 CALL R11 1 + 0x5C281600, // 0019 MOVE R10 R11 + 0x4C2C0000, // 001A LDNIL R11 + 0x202C0E0B, // 001B NE R11 R7 R11 + 0x782E0004, // 001C JMPF R11 #0022 + 0x602C0008, // 001D GETGBL R11 G8 + 0x5C300E00, // 001E MOVE R12 R7 + 0x7C2C0200, // 001F CALL R11 1 + 0x002E4E0B, // 0020 ADD R11 K39 R11 + 0x0028140B, // 0021 ADD R10 R10 R11 + 0x4C2C0000, // 0022 LDNIL R11 + 0x202C100B, // 0023 NE R11 R8 R11 + 0x782E0004, // 0024 JMPF R11 #002A + 0x602C0008, // 0025 GETGBL R11 G8 + 0x5C301000, // 0026 MOVE R12 R8 + 0x7C2C0200, // 0027 CALL R11 1 + 0x002E4E0B, // 0028 ADD R11 K39 R11 + 0x0028140B, // 0029 ADD R10 R10 R11 + 0x542E0027, // 002A LDINT R11 40 + 0x1C2C040B, // 002B EQ R11 R2 R11 + 0x782E0014, // 002C JMPF R11 #0042 + 0x1C2C0707, // 002D EQ R11 R3 K7 + 0x782E0012, // 002E JMPF R11 #0042 + 0x882C0D28, // 002F GETMBR R11 R6 K40 + 0x60300018, // 0030 GETGBL R12 G24 + 0x58340029, // 0031 LDCONST R13 K41 + 0x543A0017, // 0032 LDINT R14 24 + 0x3C38160E, // 0033 SHR R14 R11 R14 + 0x543E00FE, // 0034 LDINT R15 255 + 0x2C381C0F, // 0035 AND R14 R14 R15 + 0x543E000F, // 0036 LDINT R15 16 + 0x3C3C160F, // 0037 SHR R15 R11 R15 + 0x544200FE, // 0038 LDINT R16 255 + 0x2C3C1E10, // 0039 AND R15 R15 R16 + 0x54420007, // 003A LDINT R16 8 + 0x3C401610, // 003B SHR R16 R11 R16 + 0x544600FE, // 003C LDINT R17 255 + 0x2C402011, // 003D AND R16 R16 R17 + 0x544600FE, // 003E LDINT R17 255 + 0x2C441611, // 003F AND R17 R11 R17 + 0x7C300A00, // 0040 CALL R12 5 + 0x5C281800, // 0041 MOVE R10 R12 + 0x1C2C0B06, // 0042 EQ R11 R5 K6 + 0x782E0001, // 0043 JMPF R11 #0046 + 0x582C002A, // 0044 LDCONST R11 K42 + 0x70020004, // 0045 JMP #004B + 0x1C2C0B09, // 0046 EQ R11 R5 K9 + 0x782E0001, // 0047 JMPF R11 #004A + 0x582C002B, // 0048 LDCONST R11 K43 + 0x70020000, // 0049 JMP #004B + 0x582C002C, // 004A LDCONST R11 K44 + 0xB8323A00, // 004B GETNGBL R12 K29 + 0x8C30192D, // 004C GETMET R12 R12 K45 + 0x5C380400, // 004D MOVE R14 R2 + 0x5C3C0600, // 004E MOVE R15 R3 + 0x7C300600, // 004F CALL R12 3 + 0x4C340000, // 0050 LDNIL R13 + 0x2034180D, // 0051 NE R13 R12 R13 + 0x78360002, // 0052 JMPF R13 #0056 + 0x00365C0C, // 0053 ADD R13 K46 R12 + 0x00341B2F, // 0054 ADD R13 R13 K47 + 0x70020000, // 0055 JMP #0057 + 0x58340026, // 0056 LDCONST R13 K38 + 0x5C301A00, // 0057 MOVE R12 R13 + 0xB8360200, // 0058 GETNGBL R13 K1 + 0x60380018, // 0059 GETGBL R14 G24 + 0x583C0030, // 005A LDCONST R15 K48 + 0x5C401600, // 005B MOVE R16 R11 + 0x88441331, // 005C GETMBR R17 R9 K49 + 0x88481332, // 005D GETMBR R18 R9 K50 + 0x884C1333, // 005E GETMBR R19 R9 K51 + 0x88501334, // 005F GETMBR R20 R9 K52 + 0x5C541800, // 0060 MOVE R21 R12 + 0x5C581400, // 0061 MOVE R22 R10 + 0x7C381000, // 0062 CALL R14 8 + 0x583C0006, // 0063 LDCONST R15 K6 + 0x7C340400, // 0064 CALL R13 2 + 0x8C280135, // 0065 GETMET R10 R0 K53 + 0x5C301200, // 0066 MOVE R12 R9 + 0x7C280400, // 0067 CALL R10 2 + 0x88280121, // 0068 GETMBR R10 R0 K33 + 0x88281536, // 0069 GETMBR R10 R10 K54 + 0x88281537, // 006A GETMBR R10 R10 K55 + 0x88281538, // 006B GETMBR R10 R10 K56 + 0x8C281539, // 006C GETMET R10 R10 K57 + 0x5C301200, // 006D MOVE R12 R9 + 0x7C280400, // 006E CALL R10 2 + 0x80000000, // 006F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compact +********************************************************************/ +be_local_closure(class_Matter_EventHandler_compact, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(compact), + /* K2 */ be_const_int(1), + }), + be_str_weak(compact_queue), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x14080202, // 0004 LT R2 R1 R2 + 0x780A0004, // 0005 JMPF R2 #000B + 0x94080001, // 0006 GETIDX R2 R0 R1 + 0x8C080501, // 0007 GETMET R2 R2 K1 + 0x7C080200, // 0008 CALL R2 1 + 0x00040302, // 0009 ADD R1 R1 K2 + 0x7001FFF5, // 000A JMP #0001 + 0x80000000, // 000B RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_EventHandler, /* shared constants */ + be_str_weak(compact), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x84040000, // 0000 CLOSURE R1 P0 + 0x5C080200, // 0001 MOVE R2 R1 + 0x880C0105, // 0002 GETMBR R3 R0 K5 + 0x7C080200, // 0003 CALL R2 1 + 0x5C080200, // 0004 MOVE R2 R1 + 0x880C0104, // 0005 GETMBR R3 R0 K4 + 0x7C080200, // 0006 CALL R2 1 + 0x5C080200, // 0007 MOVE R2 R1 + 0x880C0103, // 0008 GETMBR R3 R0 K3 + 0x7C080200, // 0009 CALL R2 1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventHandler +********************************************************************/ +be_local_class(Matter_EventHandler, + 6, + NULL, + be_nested_map(19, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(queue_info, -1), be_const_var(1) }, + { be_const_key_weak(dump, 4), be_const_closure(class_Matter_EventHandler_dump_closure) }, + { be_const_key_weak(compact, -1), be_const_closure(class_Matter_EventHandler_compact_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_EventHandler_init_closure) }, + { be_const_key_weak(EVENT_NO_INCR, -1), be_const_int(1000) }, + { be_const_key_weak(load_event_no_persisted, 2), be_const_closure(class_Matter_EventHandler_load_event_no_persisted_closure) }, + { be_const_key_weak(EVENT_NO_KEY, -1), be_nested_str_weak(_matter_event_no) }, + { be_const_key_weak(EVENT_QUEUE_SIZE_MAX, -1), be_const_int(10) }, + { be_const_key_weak(counter_event_no, -1), be_const_var(4) }, + { be_const_key_weak(queue_debug, -1), be_const_var(0) }, + { be_const_key_weak(publish_event, -1), be_const_closure(class_Matter_EventHandler_publish_event_closure) }, + { be_const_key_weak(queue_event, -1), be_const_closure(class_Matter_EventHandler_queue_event_closure) }, + { be_const_key_weak(get_last_event_no, 18), be_const_closure(class_Matter_EventHandler_get_last_event_no_closure) }, + { be_const_key_weak(get_next_event_no, 3), be_const_closure(class_Matter_EventHandler_get_next_event_no_closure) }, + { be_const_key_weak(counter_event_no_persisted, 16), be_const_var(5) }, + { be_const_key_weak(device, 10), be_const_var(3) }, + { be_const_key_weak(find_min_no, -1), be_const_closure(class_Matter_EventHandler_find_min_no_closure) }, + { be_const_key_weak(queue_critical, -1), be_const_var(2) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_EventHandler_every_second_closure) }, + })), + be_str_weak(Matter_EventHandler) +); +// compact class 'Matter_EventQueued' ktab size: 28, total: 43 (saved 120 bytes) +static const bvalue be_ktab_class_Matter_EventQueued[28] = { + /* K0 */ be_nested_str_weak(raw_tlv), + /* K1 */ be_nested_str_weak(eventreport2raw), + /* K2 */ be_nested_str_weak(endpoint), + /* K3 */ be_nested_str_weak(cluster), + /* K4 */ be_nested_str_weak(event_id), + /* K5 */ be_nested_str_weak(is_urgent), + /* K6 */ be_nested_str_weak(priority), + /* K7 */ be_nested_str_weak(event_no), + /* K8 */ be_nested_str_weak(epoch_timestamp), + /* K9 */ be_nested_str_weak(data0), + /* K10 */ be_nested_str_weak(data1), + /* K11 */ be_nested_str_weak(data2), + /* K12 */ be_const_int(0), + /* K13 */ be_nested_str_weak(matter), + /* K14 */ be_nested_str_weak(EVENT_CRITICAL), + /* K15 */ be_nested_str_weak(tasmota), + /* K16 */ be_nested_str_weak(rtc), + /* K17 */ be_nested_str_weak(utc), + /* K18 */ be_const_int(1700000000), + /* K19 */ be_nested_str_weak(config_time), + /* K20 */ be_nested_str_weak(add), + /* K21 */ be_const_int(1), + /* K22 */ be_const_int(2), + /* K23 */ be_nested_str_weak(eventpath2raw), + /* K24 */ be_nested_str_weak(low32), + /* K25 */ be_nested_str_weak(high32), + /* K26 */ be_nested_str_weak(tag_sub), + /* K27 */ be_nested_str_weak(tlv2raw), +}; + + +extern const bclass be_class_Matter_EventQueued; + +/******************************************************************** +** Solidified function: to_raw_bytes +********************************************************************/ +be_local_closure(class_Matter_EventQueued_to_raw_bytes, /* name */ + be_nested_proto( + 14, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventQueued, /* shared constants */ + be_str_weak(to_raw_bytes), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060010, // 0003 JMPF R1 #0015 + 0x60040015, // 0004 GETGBL R1 G21 + 0x540A003F, // 0005 LDINT R2 64 + 0x7C040200, // 0006 CALL R1 1 + 0x90020001, // 0007 SETMBR R0 K0 R1 + 0x8C040101, // 0008 GETMET R1 R0 K1 + 0x880C0100, // 0009 GETMBR R3 R0 K0 + 0x88100102, // 000A GETMBR R4 R0 K2 + 0x88140103, // 000B GETMBR R5 R0 K3 + 0x88180104, // 000C GETMBR R6 R0 K4 + 0x881C0105, // 000D GETMBR R7 R0 K5 + 0x88200106, // 000E GETMBR R8 R0 K6 + 0x88240107, // 000F GETMBR R9 R0 K7 + 0x88280108, // 0010 GETMBR R10 R0 K8 + 0x882C0109, // 0011 GETMBR R11 R0 K9 + 0x8830010A, // 0012 GETMBR R12 R0 K10 + 0x8834010B, // 0013 GETMBR R13 R0 K11 + 0x7C041800, // 0014 CALL R1 12 + 0x88040100, // 0015 GETMBR R1 R0 K0 + 0x80040200, // 0016 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_EventQueued_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 10, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventQueued, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x90020E01, // 0000 SETMBR R0 K7 R1 + 0x90020402, // 0001 SETMBR R0 K2 R2 + 0x90020603, // 0002 SETMBR R0 K3 R3 + 0x90020804, // 0003 SETMBR R0 K4 R4 + 0x90020A05, // 0004 SETMBR R0 K5 R5 + 0x90020C06, // 0005 SETMBR R0 K6 R6 + 0x88280106, // 0006 GETMBR R10 R0 K6 + 0x1428150C, // 0007 LT R10 R10 K12 + 0x782A0000, // 0008 JMPF R10 #000A + 0x90020D0C, // 0009 SETMBR R0 K6 K12 + 0x88280106, // 000A GETMBR R10 R0 K6 + 0xB82E1A00, // 000B GETNGBL R11 K13 + 0x882C170E, // 000C GETMBR R11 R11 K14 + 0x2428140B, // 000D GT R10 R10 R11 + 0x782A0002, // 000E JMPF R10 #0012 + 0xB82A1A00, // 000F GETNGBL R10 K13 + 0x8828150E, // 0010 GETMBR R10 R10 K14 + 0x90020C0A, // 0011 SETMBR R0 K6 R10 + 0xB82A1E00, // 0012 GETNGBL R10 K15 + 0x8C281510, // 0013 GETMET R10 R10 K16 + 0x58300011, // 0014 LDCONST R12 K17 + 0x7C280400, // 0015 CALL R10 2 + 0x9002100A, // 0016 SETMBR R0 K8 R10 + 0x88280108, // 0017 GETMBR R10 R0 K8 + 0x14281512, // 0018 LT R10 R10 K18 + 0x782A0004, // 0019 JMPF R10 #001F + 0xB82A1E00, // 001A GETNGBL R10 K15 + 0x8C281510, // 001B GETMET R10 R10 K16 + 0x58300013, // 001C LDCONST R12 K19 + 0x7C280400, // 001D CALL R10 2 + 0x9002100A, // 001E SETMBR R0 K8 R10 + 0x90021207, // 001F SETMBR R0 K9 R7 + 0x90021408, // 0020 SETMBR R0 K10 R8 + 0x90021609, // 0021 SETMBR R0 K11 R9 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compact +********************************************************************/ +be_local_closure(class_Matter_EventQueued_compact, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventQueued, /* shared constants */ + be_str_weak(compact), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: eventpath2raw +********************************************************************/ +be_local_closure(class_Matter_EventQueued_eventpath2raw, /* name */ + be_nested_proto( + 10, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventQueued, /* shared constants */ + be_str_weak(eventpath2raw), + &be_const_str_solidified, + ( &(const binstruction[91]) { /* code */ + 0x8C180314, // 0000 GETMET R6 R1 K20 + 0x542236FF, // 0001 LDINT R8 14080 + 0x5425FFFD, // 0002 LDINT R9 -2 + 0x7C180600, // 0003 CALL R6 3 + 0x541A00FE, // 0004 LDINT R6 255 + 0x18180406, // 0005 LE R6 R2 R6 + 0x781A0008, // 0006 JMPF R6 #0010 + 0x8C180314, // 0007 GETMET R6 R1 K20 + 0x54222400, // 0008 LDINT R8 9217 + 0x5425FFFD, // 0009 LDINT R9 -2 + 0x7C180600, // 000A CALL R6 3 + 0x8C180314, // 000B GETMET R6 R1 K20 + 0x5C200400, // 000C MOVE R8 R2 + 0x58240015, // 000D LDCONST R9 K21 + 0x7C180600, // 000E CALL R6 3 + 0x70020007, // 000F JMP #0018 + 0x8C180314, // 0010 GETMET R6 R1 K20 + 0x54222500, // 0011 LDINT R8 9473 + 0x5425FFFD, // 0012 LDINT R9 -2 + 0x7C180600, // 0013 CALL R6 3 + 0x8C180314, // 0014 GETMET R6 R1 K20 + 0x5C200400, // 0015 MOVE R8 R2 + 0x58240016, // 0016 LDCONST R9 K22 + 0x7C180600, // 0017 CALL R6 3 + 0x541A00FE, // 0018 LDINT R6 255 + 0x18180606, // 0019 LE R6 R3 R6 + 0x781A0008, // 001A JMPF R6 #0024 + 0x8C180314, // 001B GETMET R6 R1 K20 + 0x54222401, // 001C LDINT R8 9218 + 0x5425FFFD, // 001D LDINT R9 -2 + 0x7C180600, // 001E CALL R6 3 + 0x8C180314, // 001F GETMET R6 R1 K20 + 0x5C200600, // 0020 MOVE R8 R3 + 0x58240015, // 0021 LDCONST R9 K21 + 0x7C180600, // 0022 CALL R6 3 + 0x70020013, // 0023 JMP #0038 + 0x541AFFFE, // 0024 LDINT R6 65535 + 0x18180606, // 0025 LE R6 R3 R6 + 0x781A0008, // 0026 JMPF R6 #0030 + 0x8C180314, // 0027 GETMET R6 R1 K20 + 0x54222501, // 0028 LDINT R8 9474 + 0x5425FFFD, // 0029 LDINT R9 -2 + 0x7C180600, // 002A CALL R6 3 + 0x8C180314, // 002B GETMET R6 R1 K20 + 0x5C200600, // 002C MOVE R8 R3 + 0x58240016, // 002D LDCONST R9 K22 + 0x7C180600, // 002E CALL R6 3 + 0x70020007, // 002F JMP #0038 + 0x8C180314, // 0030 GETMET R6 R1 K20 + 0x54222601, // 0031 LDINT R8 9730 + 0x5425FFFD, // 0032 LDINT R9 -2 + 0x7C180600, // 0033 CALL R6 3 + 0x8C180314, // 0034 GETMET R6 R1 K20 + 0x5C200600, // 0035 MOVE R8 R3 + 0x54260003, // 0036 LDINT R9 4 + 0x7C180600, // 0037 CALL R6 3 + 0x541A00FE, // 0038 LDINT R6 255 + 0x18180806, // 0039 LE R6 R4 R6 + 0x781A0008, // 003A JMPF R6 #0044 + 0x8C180314, // 003B GETMET R6 R1 K20 + 0x54222402, // 003C LDINT R8 9219 + 0x5425FFFD, // 003D LDINT R9 -2 + 0x7C180600, // 003E CALL R6 3 + 0x8C180314, // 003F GETMET R6 R1 K20 + 0x5C200800, // 0040 MOVE R8 R4 + 0x58240015, // 0041 LDCONST R9 K21 + 0x7C180600, // 0042 CALL R6 3 + 0x70020007, // 0043 JMP #004C + 0x8C180314, // 0044 GETMET R6 R1 K20 + 0x54222502, // 0045 LDINT R8 9475 + 0x5425FFFD, // 0046 LDINT R9 -2 + 0x7C180600, // 0047 CALL R6 3 + 0x8C180314, // 0048 GETMET R6 R1 K20 + 0x5C200800, // 0049 MOVE R8 R4 + 0x58240016, // 004A LDCONST R9 K22 + 0x7C180600, // 004B CALL R6 3 + 0x78160004, // 004C JMPF R5 #0052 + 0x8C180314, // 004D GETMET R6 R1 K20 + 0x54222903, // 004E LDINT R8 10500 + 0x5425FFFD, // 004F LDINT R9 -2 + 0x7C180600, // 0050 CALL R6 3 + 0x70020003, // 0051 JMP #0056 + 0x8C180314, // 0052 GETMET R6 R1 K20 + 0x54222803, // 0053 LDINT R8 10244 + 0x5425FFFD, // 0054 LDINT R9 -2 + 0x7C180600, // 0055 CALL R6 3 + 0x8C180314, // 0056 GETMET R6 R1 K20 + 0x54220017, // 0057 LDINT R8 24 + 0x58240015, // 0058 LDCONST R9 K21 + 0x7C180600, // 0059 CALL R6 3 + 0x80000000, // 005A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: eventreport2raw +********************************************************************/ +be_local_closure(class_Matter_EventQueued_eventreport2raw, /* name */ + be_nested_proto( + 19, /* nstack */ + 12, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventQueued, /* shared constants */ + be_str_weak(eventreport2raw), + &be_const_str_solidified, + ( &(const binstruction[83]) { /* code */ + 0x8C300314, // 0000 GETMET R12 R1 K20 + 0x543A0014, // 0001 LDINT R14 21 + 0x583C0015, // 0002 LDCONST R15 K21 + 0x7C300600, // 0003 CALL R12 3 + 0x8C300314, // 0004 GETMET R12 R1 K20 + 0x543A3500, // 0005 LDINT R14 13569 + 0x543DFFFD, // 0006 LDINT R15 -2 + 0x7C300600, // 0007 CALL R12 3 + 0x8C300117, // 0008 GETMET R12 R0 K23 + 0x5C380200, // 0009 MOVE R14 R1 + 0x5C3C0400, // 000A MOVE R15 R2 + 0x5C400600, // 000B MOVE R16 R3 + 0x5C440800, // 000C MOVE R17 R4 + 0x5C480A00, // 000D MOVE R18 R5 + 0x7C300C00, // 000E CALL R12 6 + 0x8C300314, // 000F GETMET R12 R1 K20 + 0x543A2700, // 0010 LDINT R14 9985 + 0x543DFFFD, // 0011 LDINT R15 -2 + 0x7C300600, // 0012 CALL R12 3 + 0x8C300314, // 0013 GETMET R12 R1 K20 + 0x8C380F18, // 0014 GETMET R14 R7 K24 + 0x7C380200, // 0015 CALL R14 1 + 0x543E0003, // 0016 LDINT R15 4 + 0x7C300600, // 0017 CALL R12 3 + 0x8C300314, // 0018 GETMET R12 R1 K20 + 0x8C380F19, // 0019 GETMET R14 R7 K25 + 0x7C380200, // 001A CALL R14 1 + 0x543E0003, // 001B LDINT R15 4 + 0x7C300600, // 001C CALL R12 3 + 0x8C300314, // 001D GETMET R12 R1 K20 + 0x543A2401, // 001E LDINT R14 9218 + 0x543DFFFD, // 001F LDINT R15 -2 + 0x7C300600, // 0020 CALL R12 3 + 0x8C300314, // 0021 GETMET R12 R1 K20 + 0x5C380C00, // 0022 MOVE R14 R6 + 0x583C0015, // 0023 LDCONST R15 K21 + 0x7C300600, // 0024 CALL R12 3 + 0x8C300314, // 0025 GETMET R12 R1 K20 + 0x543A2602, // 0026 LDINT R14 9731 + 0x543DFFFD, // 0027 LDINT R15 -2 + 0x7C300600, // 0028 CALL R12 3 + 0x8C300314, // 0029 GETMET R12 R1 K20 + 0x5C381000, // 002A MOVE R14 R8 + 0x543E0003, // 002B LDINT R15 4 + 0x7C300600, // 002C CALL R12 3 + 0x8C300314, // 002D GETMET R12 R1 K20 + 0x543A3506, // 002E LDINT R14 13575 + 0x543DFFFD, // 002F LDINT R15 -2 + 0x7C300600, // 0030 CALL R12 3 + 0x4C300000, // 0031 LDNIL R12 + 0x2030120C, // 0032 NE R12 R9 R12 + 0x78320003, // 0033 JMPF R12 #0038 + 0x9026350C, // 0034 SETMBR R9 K26 K12 + 0x8C30131B, // 0035 GETMET R12 R9 K27 + 0x5C380200, // 0036 MOVE R14 R1 + 0x7C300400, // 0037 CALL R12 2 + 0x4C300000, // 0038 LDNIL R12 + 0x2030140C, // 0039 NE R12 R10 R12 + 0x78320003, // 003A JMPF R12 #003F + 0x902A3515, // 003B SETMBR R10 K26 K21 + 0x8C30151B, // 003C GETMET R12 R10 K27 + 0x5C380200, // 003D MOVE R14 R1 + 0x7C300400, // 003E CALL R12 2 + 0x4C300000, // 003F LDNIL R12 + 0x2030160C, // 0040 NE R12 R11 R12 + 0x78320003, // 0041 JMPF R12 #0046 + 0x902E3516, // 0042 SETMBR R11 K26 K22 + 0x8C30171B, // 0043 GETMET R12 R11 K27 + 0x5C380200, // 0044 MOVE R14 R1 + 0x7C300400, // 0045 CALL R12 2 + 0x8C300314, // 0046 GETMET R12 R1 K20 + 0x543A0017, // 0047 LDINT R14 24 + 0x583C0015, // 0048 LDCONST R15 K21 + 0x7C300600, // 0049 CALL R12 3 + 0x8C300314, // 004A GETMET R12 R1 K20 + 0x543A0017, // 004B LDINT R14 24 + 0x583C0015, // 004C LDCONST R15 K21 + 0x7C300600, // 004D CALL R12 3 + 0x8C300314, // 004E GETMET R12 R1 K20 + 0x543A0017, // 004F LDINT R14 24 + 0x583C0015, // 0050 LDCONST R15 K21 + 0x7C300600, // 0051 CALL R12 3 + 0x80000000, // 0052 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventQueued +********************************************************************/ +be_local_class(Matter_EventQueued, + 11, + NULL, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(data0, -1), be_const_var(5) }, + { be_const_key_weak(eventreport2raw, -1), be_const_closure(class_Matter_EventQueued_eventreport2raw_closure) }, + { be_const_key_weak(event_id, 11), be_const_var(2) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_EventQueued_init_closure) }, + { be_const_key_weak(data1, 14), be_const_var(6) }, + { be_const_key_weak(data2, 1), be_const_var(7) }, + { be_const_key_weak(compact, -1), be_const_closure(class_Matter_EventQueued_compact_closure) }, + { be_const_key_weak(is_urgent, -1), be_const_var(3) }, + { be_const_key_weak(eventpath2raw, -1), be_const_closure(class_Matter_EventQueued_eventpath2raw_closure) }, + { be_const_key_weak(epoch_timestamp, 10), be_const_var(9) }, + { be_const_key_weak(priority, -1), be_const_var(4) }, + { be_const_key_weak(cluster, -1), be_const_var(1) }, + { be_const_key_weak(raw_tlv, 4), be_const_var(10) }, + { be_const_key_weak(to_raw_bytes, 2), be_const_closure(class_Matter_EventQueued_to_raw_bytes_closure) }, + { be_const_key_weak(endpoint, -1), be_const_var(0) }, + { be_const_key_weak(event_no, 0), be_const_var(8) }, + })), + be_str_weak(Matter_EventQueued) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Expirable.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Expirable.h new file mode 100644 index 000000000..32861ccb9 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Expirable.h @@ -0,0 +1,734 @@ +/* Solidification of Matter_Expirable.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Expirable' ktab size: 6, total: 13 (saved 56 bytes) +static const bvalue be_ktab_class_Matter_Expirable[6] = { + /* K0 */ be_nested_str_weak(_expiration), + /* K1 */ be_nested_str_weak(_persist), + /* K2 */ be_nested_str_weak(tasmota), + /* K3 */ be_nested_str_weak(rtc_utc), + /* K4 */ be_nested_str_weak(_list), + /* K5 */ be_nested_str_weak(set_expire_time), +}; + + +extern const bclass be_class_Matter_Expirable; + +/******************************************************************** +** Solidified function: before_remove +********************************************************************/ +be_local_closure(class_Matter_Expirable_before_remove, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(before_remove), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_no_expiration +********************************************************************/ +be_local_closure(class_Matter_Expirable_set_no_expiration, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(set_no_expiration), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Expirable_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x90020201, // 0001 SETMBR R0 K1 R1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_expire_time +********************************************************************/ +be_local_closure(class_Matter_Expirable_set_expire_time, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(set_expire_time), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020002, // 0003 SETMBR R0 K0 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: has_expired +********************************************************************/ +be_local_closure(class_Matter_Expirable_has_expired, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(has_expired), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0003, // 0002 JMPF R2 #0007 + 0xB80A0400, // 0003 GETNGBL R2 K2 + 0x8C080503, // 0004 GETMET R2 R2 K3 + 0x7C080200, // 0005 CALL R2 1 + 0x5C040400, // 0006 MOVE R1 R2 + 0x88080100, // 0007 GETMBR R2 R0 K0 + 0x4C0C0000, // 0008 LDNIL R3 + 0x20080403, // 0009 NE R2 R2 R3 + 0x780A0002, // 000A JMPF R2 #000E + 0x88080100, // 000B GETMBR R2 R0 K0 + 0x28080202, // 000C GE R2 R1 R2 + 0x80040400, // 000D RET 1 R2 + 0x50080000, // 000E LDBOOL R2 0 0 + 0x80040400, // 000F RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_parent_list +********************************************************************/ +be_local_closure(class_Matter_Expirable_set_parent_list, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(set_parent_list), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020801, // 0000 SETMBR R0 K4 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: hydrate_post +********************************************************************/ +be_local_closure(class_Matter_Expirable_hydrate_post, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(hydrate_post), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_expire_in_seconds +********************************************************************/ +be_local_closure(class_Matter_Expirable_set_expire_in_seconds, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(set_expire_in_seconds), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0203, // 0001 EQ R3 R1 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x80000600, // 0003 RET 0 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C0C0403, // 0005 EQ R3 R2 R3 + 0x780E0003, // 0006 JMPF R3 #000B + 0xB80E0400, // 0007 GETNGBL R3 K2 + 0x8C0C0703, // 0008 GETMET R3 R3 K3 + 0x7C0C0200, // 0009 CALL R3 1 + 0x5C080600, // 000A MOVE R2 R3 + 0x8C0C0105, // 000B GETMET R3 R0 K5 + 0x00140401, // 000C ADD R5 R2 R1 + 0x7C0C0400, // 000D CALL R3 2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_parent_list +********************************************************************/ +be_local_closure(class_Matter_Expirable_get_parent_list, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(get_parent_list), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: does_persist +********************************************************************/ +be_local_closure(class_Matter_Expirable_does_persist, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(does_persist), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_persist +********************************************************************/ +be_local_closure(class_Matter_Expirable_set_persist, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(set_persist), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020202, // 0003 SETMBR R0 K1 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: persist_pre +********************************************************************/ +be_local_closure(class_Matter_Expirable_persist_pre, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(persist_pre), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: persist_post +********************************************************************/ +be_local_closure(class_Matter_Expirable_persist_post, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable, /* shared constants */ + be_str_weak(persist_post), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Expirable +********************************************************************/ +be_local_class(Matter_Expirable, + 3, + NULL, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_expiration, -1), be_const_var(2) }, + { be_const_key_weak(set_no_expiration, 9), be_const_closure(class_Matter_Expirable_set_no_expiration_closure) }, + { be_const_key_weak(persist_post, -1), be_const_closure(class_Matter_Expirable_persist_post_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Expirable_init_closure) }, + { be_const_key_weak(has_expired, -1), be_const_closure(class_Matter_Expirable_has_expired_closure) }, + { be_const_key_weak(set_expire_time, 6), be_const_closure(class_Matter_Expirable_set_expire_time_closure) }, + { be_const_key_weak(set_parent_list, 4), be_const_closure(class_Matter_Expirable_set_parent_list_closure) }, + { be_const_key_weak(hydrate_post, -1), be_const_closure(class_Matter_Expirable_hydrate_post_closure) }, + { be_const_key_weak(set_expire_in_seconds, -1), be_const_closure(class_Matter_Expirable_set_expire_in_seconds_closure) }, + { be_const_key_weak(get_parent_list, 8), be_const_closure(class_Matter_Expirable_get_parent_list_closure) }, + { be_const_key_weak(_list, -1), be_const_var(0) }, + { be_const_key_weak(does_persist, -1), be_const_closure(class_Matter_Expirable_does_persist_closure) }, + { be_const_key_weak(set_persist, -1), be_const_closure(class_Matter_Expirable_set_persist_closure) }, + { be_const_key_weak(persist_pre, -1), be_const_closure(class_Matter_Expirable_persist_pre_closure) }, + { be_const_key_weak(_persist, 2), be_const_var(1) }, + { be_const_key_weak(before_remove, 0), be_const_closure(class_Matter_Expirable_before_remove_closure) }, + })), + be_str_weak(Matter_Expirable) +); +// compact class 'Matter_Expirable_list' ktab size: 15, total: 25 (saved 80 bytes) +static const bvalue be_ktab_class_Matter_Expirable_list[15] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(_persist), + /* K2 */ be_const_int(1), + /* K3 */ be_nested_str_weak(before_remove), + /* K4 */ be_nested_str_weak(remove), + /* K5 */ be_nested_str_weak(matter), + /* K6 */ be_nested_str_weak(Expirable), + /* K7 */ be_nested_str_weak(type_error), + /* K8 */ be_nested_str_weak(argument_X20must_X20be_X20of_X20class_X20_X27Expirable_X27), + /* K9 */ be_nested_str_weak(set_parent_list), + /* K10 */ be_nested_str_weak(push), + /* K11 */ be_nested_str_weak(remove_expired), + /* K12 */ be_nested_str_weak(has_expired), + /* K13 */ be_nested_str_weak(iter), + /* K14 */ be_nested_str_weak(setitem), +}; + + +extern const bclass be_class_Matter_Expirable_list; + +/******************************************************************** +** Solidified function: count_persistables +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_count_persistables, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(count_persistables), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x58080000, // 0001 LDCONST R2 K0 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x140C0403, // 0005 LT R3 R2 R3 + 0x780E0005, // 0006 JMPF R3 #000D + 0x940C0002, // 0007 GETIDX R3 R0 R2 + 0x880C0701, // 0008 GETMBR R3 R3 K1 + 0x780E0000, // 0009 JMPF R3 #000B + 0x00040302, // 000A ADD R1 R1 K2 + 0x00080502, // 000B ADD R2 R2 K2 + 0x7001FFF4, // 000C JMP #0002 + 0x80040200, // 000D RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_remove, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(remove), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0010, // 0002 JMPF R2 #0014 + 0x28080300, // 0003 GE R2 R1 K0 + 0x780A0007, // 0004 JMPF R2 #000D + 0x6008000C, // 0005 GETGBL R2 G12 + 0x5C0C0000, // 0006 MOVE R3 R0 + 0x7C080200, // 0007 CALL R2 1 + 0x14080202, // 0008 LT R2 R1 R2 + 0x780A0002, // 0009 JMPF R2 #000D + 0x94080001, // 000A GETIDX R2 R0 R1 + 0x8C080503, // 000B GETMET R2 R2 K3 + 0x7C080200, // 000C CALL R2 1 + 0x60080003, // 000D GETGBL R2 G3 + 0x5C0C0000, // 000E MOVE R3 R0 + 0x7C080200, // 000F CALL R2 1 + 0x8C080504, // 0010 GETMET R2 R2 K4 + 0x5C100200, // 0011 MOVE R4 R1 + 0x7C080400, // 0012 CALL R2 2 + 0x80040400, // 0013 RET 1 R2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: push +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_push, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(push), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0xB8120A00, // 0002 GETNGBL R4 K5 + 0x88100906, // 0003 GETMBR R4 R4 K6 + 0x7C080400, // 0004 CALL R2 2 + 0x740A0000, // 0005 JMPT R2 #0007 + 0xB0060F08, // 0006 RAISE 1 K7 K8 + 0x8C080309, // 0007 GETMET R2 R1 K9 + 0x5C100000, // 0008 MOVE R4 R0 + 0x7C080400, // 0009 CALL R2 2 + 0x60080003, // 000A GETGBL R2 G3 + 0x5C0C0000, // 000B MOVE R3 R0 + 0x7C080200, // 000C CALL R2 1 + 0x8C08050A, // 000D GETMET R2 R2 K10 + 0x5C100200, // 000E MOVE R4 R1 + 0x7C080400, // 000F CALL R2 2 + 0x80040400, // 0010 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04010B, // 0000 GETMET R1 R0 K11 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_expired +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_remove_expired, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(remove_expired), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x58080000, // 0001 LDCONST R2 K0 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x140C0403, // 0005 LT R3 R2 R3 + 0x780E000D, // 0006 JMPF R3 #0015 + 0x940C0002, // 0007 GETIDX R3 R0 R2 + 0x8C0C070C, // 0008 GETMET R3 R3 K12 + 0x7C0C0200, // 0009 CALL R3 1 + 0x780E0007, // 000A JMPF R3 #0013 + 0x940C0002, // 000B GETIDX R3 R0 R2 + 0x880C0701, // 000C GETMBR R3 R3 K1 + 0x780E0000, // 000D JMPF R3 #000F + 0x50040200, // 000E LDBOOL R1 1 0 + 0x8C0C0104, // 000F GETMET R3 R0 K4 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x70020000, // 0012 JMP #0014 + 0x00080502, // 0013 ADD R2 R2 K2 + 0x7001FFEC, // 0014 JMP #0002 + 0x80040200, // 0015 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: persistables +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_persistables, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 1), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(_persist), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x50000200, // 0000 LDBOOL R0 1 0 + 0x78020005, // 0001 JMPF R0 #0008 + 0x68000000, // 0002 GETUPV R0 U0 + 0x7C000000, // 0003 CALL R0 0 + 0x88040100, // 0004 GETMBR R1 R0 K0 + 0x78060000, // 0005 JMPF R1 #0007 + 0x80040000, // 0006 RET 1 R0 + 0x7001FFF7, // 0007 JMP #0000 + 0x80000000, // 0008 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(persistables), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C04010D, // 0000 GETMET R1 R0 K13 + 0x7C040200, // 0001 CALL R1 1 + 0x84080000, // 0002 CLOSURE R2 P0 + 0xA0000000, // 0003 CLOSE R0 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_Matter_Expirable_list_setitem, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Expirable_list, /* shared constants */ + be_str_weak(setitem), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x600C000F, // 0000 GETGBL R3 G15 + 0x5C100400, // 0001 MOVE R4 R2 + 0xB8160A00, // 0002 GETNGBL R5 K5 + 0x88140B06, // 0003 GETMBR R5 R5 K6 + 0x7C0C0400, // 0004 CALL R3 2 + 0x740E0000, // 0005 JMPT R3 #0007 + 0xB0060F08, // 0006 RAISE 1 K7 K8 + 0x8C0C0509, // 0007 GETMET R3 R2 K9 + 0x5C140000, // 0008 MOVE R5 R0 + 0x7C0C0400, // 0009 CALL R3 2 + 0x600C0003, // 000A GETGBL R3 G3 + 0x5C100000, // 000B MOVE R4 R0 + 0x7C0C0200, // 000C CALL R3 1 + 0x8C0C070E, // 000D GETMET R3 R3 K14 + 0x5C140200, // 000E MOVE R5 R1 + 0x5C180400, // 000F MOVE R6 R2 + 0x7C0C0600, // 0010 CALL R3 3 + 0x80040600, // 0011 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Expirable_list +********************************************************************/ +extern const bclass be_class_list; +be_local_class(Matter_Expirable_list, + 0, + &be_class_list, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(count_persistables, 4), be_const_closure(class_Matter_Expirable_list_count_persistables_closure) }, + { be_const_key_weak(remove, -1), be_const_closure(class_Matter_Expirable_list_remove_closure) }, + { be_const_key_weak(push, 5), be_const_closure(class_Matter_Expirable_list_push_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Expirable_list_every_second_closure) }, + { be_const_key_weak(setitem, 6), be_const_closure(class_Matter_Expirable_list_setitem_closure) }, + { be_const_key_weak(persistables, -1), be_const_closure(class_Matter_Expirable_list_persistables_closure) }, + { be_const_key_weak(remove_expired, -1), be_const_closure(class_Matter_Expirable_list_remove_expired_closure) }, + })), + be_str_weak(Matter_Expirable_list) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Fabric.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Fabric.h new file mode 100644 index 000000000..34c30935f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Fabric.h @@ -0,0 +1,1852 @@ +/* Solidification of Matter_Fabric.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_Fabric; +// compact class 'Matter_Fabric' ktab size: 111, total: 212 (saved 808 bytes) +static const bvalue be_ktab_class_Matter_Fabric[111] = { + /* K0 */ be_nested_str_weak(icac), + /* K1 */ be_nested_str_weak(log), + /* K2 */ be_nested_str_weak(MTR_X3A_X20_X2DFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20_X28removed_X29), + /* K3 */ be_nested_str_weak(get_fabric_id), + /* K4 */ be_nested_str_weak(copy), + /* K5 */ be_nested_str_weak(reverse), + /* K6 */ be_nested_str_weak(tohex), + /* K7 */ be_const_int(3), + /* K8 */ be_nested_str_weak(no_private_key), + /* K9 */ be_nested_str_weak(fabric_compressed), + /* K10 */ be_nested_str_weak(fabric_id), + /* K11 */ be_nested_str_weak(admin_subject), + /* K12 */ be_nested_str_weak(admin_vendor), + /* K13 */ be_nested_str_weak(noc), + /* K14 */ be_const_class(be_class_Matter_Fabric), + /* K15 */ be_nested_str_weak(string), + /* K16 */ be_nested_str_weak(introspect), + /* K17 */ be_nested_str_weak(matter), + /* K18 */ be_nested_str_weak(Fabric), + /* K19 */ be_nested_str_weak(keys), + /* K20 */ be_const_int(0), + /* K21 */ be_nested_str_weak(_), + /* K22 */ be_nested_str_weak(find), + /* K23 */ be_nested_str_weak(0x), + /* K24 */ be_nested_str_weak(set), + /* K25 */ be_nested_str_weak(fromhex), + /* K26 */ be_const_int(2), + /* K27 */ be_const_int(2147483647), + /* K28 */ be_nested_str_weak(_X24_X24), + /* K29 */ be_nested_str_weak(fromb64), + /* K30 */ be_nested_str_weak(stop_iteration), + /* K31 */ be_nested_str_weak(hydrate_post), + /* K32 */ be_nested_str_weak(root_ca_certificate), + /* K33 */ be_nested_str_weak(json), + /* K34 */ be_nested_str_weak(persist_pre), + /* K35 */ be_nested_str_weak(members), + /* K36 */ be_nested_str_weak(get), + /* K37 */ be_nested_str_weak(function), + /* K38 */ be_nested_str_weak(push), + /* K39 */ be_nested_str_weak(sort), + /* K40 */ be_nested_str_weak(tob64), + /* K41 */ be_nested_str_weak(_X25s_X3A_X25s), + /* K42 */ be_nested_str_weak(dump), + /* K43 */ be_nested_str_weak(_sessions), + /* K44 */ be_nested_str_weak(persistables), + /* K45 */ be_nested_str_weak(tojson), + /* K46 */ be_nested_str_weak(_X5B), + /* K47 */ be_nested_str_weak(concat), + /* K48 */ be_nested_str_weak(_X2C), + /* K49 */ be_nested_str_weak(_X5D), + /* K50 */ be_nested_str_weak(_X22_sessions_X22_X3A), + /* K51 */ be_nested_str_weak(persist_post), + /* K52 */ be_nested_str_weak(_X7B), + /* K53 */ be_nested_str_weak(_X7D), + /* K54 */ be_nested_str_weak(_counter_group_data_snd_impl), + /* K55 */ be_nested_str_weak(reset), + /* K56 */ be_nested_str_weak(counter_group_data_snd), + /* K57 */ be_nested_str_weak(_counter_group_ctrl_snd_impl), + /* K58 */ be_nested_str_weak(counter_group_ctrl_snd), + /* K59 */ be_nested_str_weak(val), + /* K60 */ be_nested_str_weak(ipk_epoch_key), + /* K61 */ be_nested_str_weak(device_id), + /* K62 */ be_nested_str_weak(fabric_parent), + /* K63 */ be_nested_str_weak(get_fabric_index), + /* K64 */ be_nested_str_weak(deleted), + /* K65 */ be_nested_str_weak(int64), + /* K66 */ be_nested_str_weak(frombytes), + /* K67 */ be_nested_str_weak(get_old_recent_session), + /* K68 */ be_nested_str_weak(set_no_expiration), + /* K69 */ be_nested_str_weak(set_persist), + /* K70 */ be_nested_str_weak(assign_fabric_index), + /* K71 */ be_nested_str_weak(_store), + /* K72 */ be_nested_str_weak(add_fabric), + /* K73 */ be_nested_str_weak(next), + /* K74 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_data_snd_X3D_X25i), + /* K75 */ be_nested_str_weak(Counter), + /* K76 */ be_nested_str_weak(is_greater), + /* K77 */ be_nested_str_weak(_GROUP_SND_INCR), + /* K78 */ be_nested_str_weak(does_persist), + /* K79 */ be_nested_str_weak(save), + /* K80 */ be_nested_str_weak(MTR_X3A_X20_X2BFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20vendorid_X3D_X25s), + /* K81 */ be_nested_str_weak(get_admin_vendor_name), + /* K82 */ be_nested_str_weak(TLV), + /* K83 */ be_nested_str_weak(parse), + /* K84 */ be_nested_str_weak(findsubval), + /* K85 */ be_nested_str_weak(fabric_index), + /* K86 */ be_nested_str_weak(write), + /* K87 */ be_nested_str_weak(_X2C_X22_sessions_X22_X3A_X5B), + /* K88 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_ctrl_snd_X3D_X25i), + /* K89 */ be_nested_str_weak(set_expire_in_seconds), + /* K90 */ be_nested_str_weak(set_fabric_index), + /* K91 */ be_nested_str_weak(next_fabric_idx), + /* K92 */ be_nested_str_weak(last_used), + /* K93 */ be_const_int(1), + /* K94 */ be_nested_str_weak(crypto), + /* K95 */ be_nested_str_weak(Expirable_list), + /* K96 */ be_nested_str_weak(fabric_label), + /* K97 */ be_nested_str_weak(), + /* K98 */ be_nested_str_weak(created), + /* K99 */ be_nested_str_weak(tasmota), + /* K100 */ be_nested_str_weak(rtc_utc), + /* K101 */ be_nested_str_weak(_MAX_CASE), + /* K102 */ be_nested_str_weak(get_oldest_session), + /* K103 */ be_nested_str_weak(remove), + /* K104 */ be_nested_str_weak(remove_session), + /* K105 */ be_nested_str_weak(HKDF_SHA256), + /* K106 */ be_nested_str_weak(fromstring), + /* K107 */ be_nested_str_weak(_GROUP_KEY), + /* K108 */ be_nested_str_weak(derive), + /* K109 */ be_nested_str_weak(get_vendor_name), + /* K110 */ be_nested_str_weak(0x_X2504X), +}; + + +extern const bclass be_class_Matter_Fabric; + +/******************************************************************** +** Solidified function: get_icac +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_icac, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_icac), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: before_remove +********************************************************************/ +be_local_closure(class_Matter_Fabric_before_remove, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(before_remove), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x60080018, // 0001 GETGBL R2 G24 + 0x580C0002, // 0002 LDCONST R3 K2 + 0x8C100103, // 0003 GETMET R4 R0 K3 + 0x7C100200, // 0004 CALL R4 1 + 0x8C100904, // 0005 GETMET R4 R4 K4 + 0x7C100200, // 0006 CALL R4 1 + 0x8C100905, // 0007 GETMET R4 R4 K5 + 0x7C100200, // 0008 CALL R4 1 + 0x8C100906, // 0009 GETMET R4 R4 K6 + 0x7C100200, // 000A CALL R4 1 + 0x7C080400, // 000B CALL R2 2 + 0x580C0007, // 000C LDCONST R3 K7 + 0x7C040400, // 000D CALL R1 2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pk +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_pk, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_pk), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_compressed +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_fabric_compressed, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_fabric_compressed), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_id +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_fabric_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_fabric_id), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_admin_subject_vendor +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_admin_subject_vendor, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_admin_subject_vendor), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x90021601, // 0000 SETMBR R0 K11 R1 + 0x90021802, // 0001 SETMBR R0 K12 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_admin_vendor +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_admin_vendor, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_admin_vendor), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_noc +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_noc, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_noc), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010D, // 0000 GETMBR R1 R0 K13 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fromjson +********************************************************************/ +be_local_closure(class_Matter_Fabric_fromjson, /* name */ + be_nested_proto( + 16, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(fromjson), + &be_const_str_solidified, + ( &(const binstruction[76]) { /* code */ + 0x5808000E, // 0000 LDCONST R2 K14 + 0xA40E1E00, // 0001 IMPORT R3 K15 + 0xA4122000, // 0002 IMPORT R4 K16 + 0xB8162200, // 0003 GETNGBL R5 K17 + 0x8C140B12, // 0004 GETMET R5 R5 K18 + 0x5C1C0000, // 0005 MOVE R7 R0 + 0x7C140400, // 0006 CALL R5 2 + 0x60180010, // 0007 GETGBL R6 G16 + 0x8C1C0313, // 0008 GETMET R7 R1 K19 + 0x7C1C0200, // 0009 CALL R7 1 + 0x7C180200, // 000A CALL R6 1 + 0xA8020039, // 000B EXBLK 0 #0046 + 0x5C1C0C00, // 000C MOVE R7 R6 + 0x7C1C0000, // 000D CALL R7 0 + 0x94200F14, // 000E GETIDX R8 R7 K20 + 0x1C201115, // 000F EQ R8 R8 K21 + 0x78220000, // 0010 JMPF R8 #0012 + 0x7001FFF9, // 0011 JMP #000C + 0x94200207, // 0012 GETIDX R8 R1 R7 + 0x60240004, // 0013 GETGBL R9 G4 + 0x5C281000, // 0014 MOVE R10 R8 + 0x7C240200, // 0015 CALL R9 1 + 0x1C24130F, // 0016 EQ R9 R9 K15 + 0x78260027, // 0017 JMPF R9 #0040 + 0x8C240716, // 0018 GETMET R9 R3 K22 + 0x5C2C1000, // 0019 MOVE R11 R8 + 0x58300017, // 001A LDCONST R12 K23 + 0x7C240600, // 001B CALL R9 3 + 0x1C241314, // 001C EQ R9 R9 K20 + 0x7826000A, // 001D JMPF R9 #0029 + 0x8C240918, // 001E GETMET R9 R4 K24 + 0x5C2C0A00, // 001F MOVE R11 R5 + 0x5C300E00, // 0020 MOVE R12 R7 + 0x60340015, // 0021 GETGBL R13 G21 + 0x7C340000, // 0022 CALL R13 0 + 0x8C341B19, // 0023 GETMET R13 R13 K25 + 0x403E351B, // 0024 CONNECT R15 K26 K27 + 0x943C100F, // 0025 GETIDX R15 R8 R15 + 0x7C340400, // 0026 CALL R13 2 + 0x7C240800, // 0027 CALL R9 4 + 0x70020015, // 0028 JMP #003F + 0x8C240716, // 0029 GETMET R9 R3 K22 + 0x5C2C1000, // 002A MOVE R11 R8 + 0x5830001C, // 002B LDCONST R12 K28 + 0x7C240600, // 002C CALL R9 3 + 0x1C241314, // 002D EQ R9 R9 K20 + 0x7826000A, // 002E JMPF R9 #003A + 0x8C240918, // 002F GETMET R9 R4 K24 + 0x5C2C0A00, // 0030 MOVE R11 R5 + 0x5C300E00, // 0031 MOVE R12 R7 + 0x60340015, // 0032 GETGBL R13 G21 + 0x7C340000, // 0033 CALL R13 0 + 0x8C341B1D, // 0034 GETMET R13 R13 K29 + 0x403E351B, // 0035 CONNECT R15 K26 K27 + 0x943C100F, // 0036 GETIDX R15 R8 R15 + 0x7C340400, // 0037 CALL R13 2 + 0x7C240800, // 0038 CALL R9 4 + 0x70020004, // 0039 JMP #003F + 0x8C240918, // 003A GETMET R9 R4 K24 + 0x5C2C0A00, // 003B MOVE R11 R5 + 0x5C300E00, // 003C MOVE R12 R7 + 0x5C341000, // 003D MOVE R13 R8 + 0x7C240800, // 003E CALL R9 4 + 0x70020004, // 003F JMP #0045 + 0x8C240918, // 0040 GETMET R9 R4 K24 + 0x5C2C0A00, // 0041 MOVE R11 R5 + 0x5C300E00, // 0042 MOVE R12 R7 + 0x5C341000, // 0043 MOVE R13 R8 + 0x7C240800, // 0044 CALL R9 4 + 0x7001FFC5, // 0045 JMP #000C + 0x5818001E, // 0046 LDCONST R6 K30 + 0xAC180200, // 0047 CATCH R6 1 0 + 0xB0080000, // 0048 RAISE 2 R0 R0 + 0x8C180B1F, // 0049 GETMET R6 R5 K31 + 0x7C180200, // 004A CALL R6 1 + 0x80040A00, // 004B RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ca +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_ca, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_ca), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90024001, // 0000 SETMBR R0 K32 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tojson +********************************************************************/ +be_local_closure(class_Matter_Fabric_tojson, /* name */ + be_nested_proto( + 16, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(tojson), + &be_const_str_solidified, + ( &(const binstruction[119]) { /* code */ + 0xA4064200, // 0000 IMPORT R1 K33 + 0xA40A2000, // 0001 IMPORT R2 K16 + 0x8C0C0122, // 0002 GETMET R3 R0 K34 + 0x7C0C0200, // 0003 CALL R3 1 + 0x600C0012, // 0004 GETGBL R3 G18 + 0x7C0C0000, // 0005 CALL R3 0 + 0x60100010, // 0006 GETGBL R4 G16 + 0x8C140523, // 0007 GETMET R5 R2 K35 + 0x5C1C0000, // 0008 MOVE R7 R0 + 0x7C140400, // 0009 CALL R5 2 + 0x7C100200, // 000A CALL R4 1 + 0xA8020011, // 000B EXBLK 0 #001E + 0x5C140800, // 000C MOVE R5 R4 + 0x7C140000, // 000D CALL R5 0 + 0x8C180524, // 000E GETMET R6 R2 K36 + 0x5C200000, // 000F MOVE R8 R0 + 0x5C240A00, // 0010 MOVE R9 R5 + 0x7C180600, // 0011 CALL R6 3 + 0x601C0004, // 0012 GETGBL R7 G4 + 0x5C200C00, // 0013 MOVE R8 R6 + 0x7C1C0200, // 0014 CALL R7 1 + 0x201C0F25, // 0015 NE R7 R7 K37 + 0x781E0005, // 0016 JMPF R7 #001D + 0x941C0B14, // 0017 GETIDX R7 R5 K20 + 0x201C0F15, // 0018 NE R7 R7 K21 + 0x781E0002, // 0019 JMPF R7 #001D + 0x8C1C0726, // 001A GETMET R7 R3 K38 + 0x5C240A00, // 001B MOVE R9 R5 + 0x7C1C0400, // 001C CALL R7 2 + 0x7001FFED, // 001D JMP #000C + 0x5810001E, // 001E LDCONST R4 K30 + 0xAC100200, // 001F CATCH R4 1 0 + 0xB0080000, // 0020 RAISE 2 R0 R0 + 0xB8122200, // 0021 GETNGBL R4 K17 + 0x8C100927, // 0022 GETMET R4 R4 K39 + 0x5C180600, // 0023 MOVE R6 R3 + 0x7C100400, // 0024 CALL R4 2 + 0x5C0C0800, // 0025 MOVE R3 R4 + 0x60100012, // 0026 GETGBL R4 G18 + 0x7C100000, // 0027 CALL R4 0 + 0x60140010, // 0028 GETGBL R5 G16 + 0x5C180600, // 0029 MOVE R6 R3 + 0x7C140200, // 002A CALL R5 1 + 0xA8020020, // 002B EXBLK 0 #004D + 0x5C180A00, // 002C MOVE R6 R5 + 0x7C180000, // 002D CALL R6 0 + 0x8C1C0524, // 002E GETMET R7 R2 K36 + 0x5C240000, // 002F MOVE R9 R0 + 0x5C280C00, // 0030 MOVE R10 R6 + 0x7C1C0600, // 0031 CALL R7 3 + 0x4C200000, // 0032 LDNIL R8 + 0x1C200E08, // 0033 EQ R8 R7 R8 + 0x78220000, // 0034 JMPF R8 #0036 + 0x7001FFF5, // 0035 JMP #002C + 0x6020000F, // 0036 GETGBL R8 G15 + 0x5C240E00, // 0037 MOVE R9 R7 + 0x60280015, // 0038 GETGBL R10 G21 + 0x7C200400, // 0039 CALL R8 2 + 0x78220003, // 003A JMPF R8 #003F + 0x8C200F28, // 003B GETMET R8 R7 K40 + 0x7C200200, // 003C CALL R8 1 + 0x00223808, // 003D ADD R8 K28 R8 + 0x5C1C1000, // 003E MOVE R7 R8 + 0x8C200926, // 003F GETMET R8 R4 K38 + 0x60280018, // 0040 GETGBL R10 G24 + 0x582C0029, // 0041 LDCONST R11 K41 + 0x8C30032A, // 0042 GETMET R12 R1 K42 + 0x60380008, // 0043 GETGBL R14 G8 + 0x5C3C0C00, // 0044 MOVE R15 R6 + 0x7C380200, // 0045 CALL R14 1 + 0x7C300400, // 0046 CALL R12 2 + 0x8C34032A, // 0047 GETMET R13 R1 K42 + 0x5C3C0E00, // 0048 MOVE R15 R7 + 0x7C340400, // 0049 CALL R13 2 + 0x7C280600, // 004A CALL R10 3 + 0x7C200400, // 004B CALL R8 2 + 0x7001FFDE, // 004C JMP #002C + 0x5814001E, // 004D LDCONST R5 K30 + 0xAC140200, // 004E CATCH R5 1 0 + 0xB0080000, // 004F RAISE 2 R0 R0 + 0x60140012, // 0050 GETGBL R5 G18 + 0x7C140000, // 0051 CALL R5 0 + 0x60180010, // 0052 GETGBL R6 G16 + 0x881C012B, // 0053 GETMBR R7 R0 K43 + 0x8C1C0F2C, // 0054 GETMET R7 R7 K44 + 0x7C1C0200, // 0055 CALL R7 1 + 0x7C180200, // 0056 CALL R6 1 + 0xA8020006, // 0057 EXBLK 0 #005F + 0x5C1C0C00, // 0058 MOVE R7 R6 + 0x7C1C0000, // 0059 CALL R7 0 + 0x8C200B26, // 005A GETMET R8 R5 K38 + 0x8C280F2D, // 005B GETMET R10 R7 K45 + 0x7C280200, // 005C CALL R10 1 + 0x7C200400, // 005D CALL R8 2 + 0x7001FFF8, // 005E JMP #0058 + 0x5818001E, // 005F LDCONST R6 K30 + 0xAC180200, // 0060 CATCH R6 1 0 + 0xB0080000, // 0061 RAISE 2 R0 R0 + 0x6018000C, // 0062 GETGBL R6 G12 + 0x5C1C0A00, // 0063 MOVE R7 R5 + 0x7C180200, // 0064 CALL R6 1 + 0x24180D14, // 0065 GT R6 R6 K20 + 0x781A0007, // 0066 JMPF R6 #006F + 0x8C180B2F, // 0067 GETMET R6 R5 K47 + 0x58200030, // 0068 LDCONST R8 K48 + 0x7C180400, // 0069 CALL R6 2 + 0x001A5C06, // 006A ADD R6 K46 R6 + 0x00180D31, // 006B ADD R6 R6 K49 + 0x8C1C0926, // 006C GETMET R7 R4 K38 + 0x00266406, // 006D ADD R9 K50 R6 + 0x7C1C0400, // 006E CALL R7 2 + 0x8C180133, // 006F GETMET R6 R0 K51 + 0x7C180200, // 0070 CALL R6 1 + 0x8C18092F, // 0071 GETMET R6 R4 K47 + 0x58200030, // 0072 LDCONST R8 K48 + 0x7C180400, // 0073 CALL R6 2 + 0x001A6806, // 0074 ADD R6 K52 R6 + 0x00180D35, // 0075 ADD R6 R6 K53 + 0x80040C00, // 0076 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: hydrate_post +********************************************************************/ +be_local_closure(class_Matter_Fabric_hydrate_post, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(hydrate_post), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x88040136, // 0000 GETMBR R1 R0 K54 + 0x8C040337, // 0001 GETMET R1 R1 K55 + 0x880C0138, // 0002 GETMBR R3 R0 K56 + 0x7C040400, // 0003 CALL R1 2 + 0x88040139, // 0004 GETMBR R1 R0 K57 + 0x8C040337, // 0005 GETMET R1 R1 K55 + 0x880C013A, // 0006 GETMBR R3 R0 K58 + 0x7C040400, // 0007 CALL R1 2 + 0x88040136, // 0008 GETMBR R1 R0 K54 + 0x8C04033B, // 0009 GETMET R1 R1 K59 + 0x7C040200, // 000A CALL R1 1 + 0x90027001, // 000B SETMBR R0 K56 R1 + 0x88040139, // 000C GETMBR R1 R0 K57 + 0x8C04033B, // 000D GETMET R1 R1 K59 + 0x7C040200, // 000E CALL R1 1 + 0x90027401, // 000F SETMBR R0 K58 R1 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ipk_epoch_key +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_ipk_epoch_key, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_ipk_epoch_key), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90027801, // 0000 SETMBR R0 K60 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_fabric_device +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_fabric_device, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_fabric_device), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x90021401, // 0000 SETMBR R0 K10 R1 + 0x90027A02, // 0001 SETMBR R0 K61 R2 + 0x90021203, // 0002 SETMBR R0 K9 R3 + 0x4C140000, // 0003 LDNIL R5 + 0x20140805, // 0004 NE R5 R4 R5 + 0x78160002, // 0005 JMPF R5 #0009 + 0x8C14093F, // 0006 GETMET R5 R4 K63 + 0x7C140200, // 0007 CALL R5 1 + 0x70020000, // 0008 JMP #000A + 0x4C140000, // 0009 LDNIL R5 + 0x90027C05, // 000A SETMBR R0 K62 R5 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_device_id +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_device_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_device_id), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804013D, // 0000 GETMBR R1 R0 K61 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_admin_subject +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_admin_subject, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_admin_subject), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_marked_for_deletion +********************************************************************/ +be_local_closure(class_Matter_Fabric_is_marked_for_deletion, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(is_marked_for_deletion), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040140, // 0000 GETMBR R1 R0 K64 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_id_as_int64 +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_fabric_id_as_int64, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_fabric_id_as_int64), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8068200, // 0000 GETNGBL R1 K65 + 0x8C040342, // 0001 GETMET R1 R1 K66 + 0x880C010A, // 0002 GETMBR R3 R0 K10 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ca +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_ca, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_ca), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040120, // 0000 GETMBR R1 R0 K32 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_oldest_session +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_oldest_session, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_oldest_session), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040143, // 0000 GETMET R1 R0 K67 + 0x500C0200, // 0001 LDBOOL R3 1 0 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fabric_completed +********************************************************************/ +be_local_closure(class_Matter_Fabric_fabric_completed, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(fabric_completed), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8C040144, // 0000 GETMET R1 R0 K68 + 0x7C040200, // 0001 CALL R1 1 + 0x8C040145, // 0002 GETMET R1 R0 K69 + 0x500C0200, // 0003 LDBOOL R3 1 0 + 0x7C040400, // 0004 CALL R1 2 + 0x8C040146, // 0005 GETMET R1 R0 K70 + 0x7C040200, // 0006 CALL R1 1 + 0x88040147, // 0007 GETMBR R1 R0 K71 + 0x8C040348, // 0008 GETMET R1 R1 K72 + 0x5C0C0000, // 0009 MOVE R3 R0 + 0x7C040400, // 000A CALL R1 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: counter_group_data_snd_next +********************************************************************/ +be_local_closure(class_Matter_Fabric_counter_group_data_snd_next, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(counter_group_data_snd_next), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x88040136, // 0000 GETMBR R1 R0 K54 + 0x8C040349, // 0001 GETMET R1 R1 K73 + 0x7C040200, // 0002 CALL R1 1 + 0xB80A0200, // 0003 GETNGBL R2 K1 + 0x600C0018, // 0004 GETGBL R3 G24 + 0x5810004A, // 0005 LDCONST R4 K74 + 0x5C140200, // 0006 MOVE R5 R1 + 0x7C0C0400, // 0007 CALL R3 2 + 0x58100007, // 0008 LDCONST R4 K7 + 0x7C080400, // 0009 CALL R2 2 + 0xB80A2200, // 000A GETNGBL R2 K17 + 0x8808054B, // 000B GETMBR R2 R2 K75 + 0x8C08054C, // 000C GETMET R2 R2 K76 + 0x5C100200, // 000D MOVE R4 R1 + 0x88140138, // 000E GETMBR R5 R0 K56 + 0x7C080600, // 000F CALL R2 3 + 0x780A0007, // 0010 JMPF R2 #0019 + 0x8808014D, // 0011 GETMBR R2 R0 K77 + 0x00080202, // 0012 ADD R2 R1 R2 + 0x90027002, // 0013 SETMBR R0 K56 R2 + 0x8C08014E, // 0014 GETMET R2 R0 K78 + 0x7C080200, // 0015 CALL R2 1 + 0x780A0001, // 0016 JMPF R2 #0019 + 0x8C08014F, // 0017 GETMET R2 R0 K79 + 0x7C080200, // 0018 CALL R2 1 + 0x80040200, // 0019 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_noc_icac +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_noc_icac, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_noc_icac), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x90021A01, // 0000 SETMBR R0 K13 R1 + 0x90020002, // 0001 SETMBR R0 K0 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pk +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_pk, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_pk), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021001, // 0000 SETMBR R0 K8 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_newest_session +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_newest_session, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_newest_session), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040143, // 0000 GETMET R1 R0 K67 + 0x500C0000, // 0001 LDBOOL R3 0 0 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: log_new_fabric +********************************************************************/ +be_local_closure(class_Matter_Fabric_log_new_fabric, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(log_new_fabric), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x60080018, // 0001 GETGBL R2 G24 + 0x580C0050, // 0002 LDCONST R3 K80 + 0x8C100103, // 0003 GETMET R4 R0 K3 + 0x7C100200, // 0004 CALL R4 1 + 0x8C100904, // 0005 GETMET R4 R4 K4 + 0x7C100200, // 0006 CALL R4 1 + 0x8C100905, // 0007 GETMET R4 R4 K5 + 0x7C100200, // 0008 CALL R4 1 + 0x8C100906, // 0009 GETMET R4 R4 K6 + 0x7C100200, // 000A CALL R4 1 + 0x8C140151, // 000B GETMET R5 R0 K81 + 0x7C140200, // 000C CALL R5 1 + 0x7C080600, // 000D CALL R2 3 + 0x580C0007, // 000E LDCONST R3 K7 + 0x7C040400, // 000F CALL R1 2 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ca_pub +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_ca_pub, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_ca_pub), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040120, // 0000 GETMBR R1 R0 K32 + 0x78060008, // 0001 JMPF R1 #000B + 0xB80A2200, // 0002 GETNGBL R2 K17 + 0x88080552, // 0003 GETMBR R2 R2 K82 + 0x8C080553, // 0004 GETMET R2 R2 K83 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C080400, // 0006 CALL R2 2 + 0x8C0C0554, // 0007 GETMET R3 R2 K84 + 0x54160008, // 0008 LDINT R5 9 + 0x7C0C0400, // 0009 CALL R3 2 + 0x80040600, // 000A RET 1 R3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_index +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_fabric_index, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_fabric_index), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040155, // 0000 GETMBR R1 R0 K85 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: writejson +********************************************************************/ +be_local_closure(class_Matter_Fabric_writejson, /* name */ + be_nested_proto( + 17, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(writejson), + &be_const_str_solidified, + ( &(const binstruction[125]) { /* code */ + 0xA40A4200, // 0000 IMPORT R2 K33 + 0xA40E2000, // 0001 IMPORT R3 K16 + 0x8C100356, // 0002 GETMET R4 R1 K86 + 0x58180034, // 0003 LDCONST R6 K52 + 0x7C100400, // 0004 CALL R4 2 + 0x8C100122, // 0005 GETMET R4 R0 K34 + 0x7C100200, // 0006 CALL R4 1 + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C100000, // 0008 CALL R4 0 + 0x60140010, // 0009 GETGBL R5 G16 + 0x8C180723, // 000A GETMET R6 R3 K35 + 0x5C200000, // 000B MOVE R8 R0 + 0x7C180400, // 000C CALL R6 2 + 0x7C140200, // 000D CALL R5 1 + 0xA8020011, // 000E EXBLK 0 #0021 + 0x5C180A00, // 000F MOVE R6 R5 + 0x7C180000, // 0010 CALL R6 0 + 0x8C1C0724, // 0011 GETMET R7 R3 K36 + 0x5C240000, // 0012 MOVE R9 R0 + 0x5C280C00, // 0013 MOVE R10 R6 + 0x7C1C0600, // 0014 CALL R7 3 + 0x60200004, // 0015 GETGBL R8 G4 + 0x5C240E00, // 0016 MOVE R9 R7 + 0x7C200200, // 0017 CALL R8 1 + 0x20201125, // 0018 NE R8 R8 K37 + 0x78220005, // 0019 JMPF R8 #0020 + 0x94200D14, // 001A GETIDX R8 R6 K20 + 0x20201115, // 001B NE R8 R8 K21 + 0x78220002, // 001C JMPF R8 #0020 + 0x8C200926, // 001D GETMET R8 R4 K38 + 0x5C280C00, // 001E MOVE R10 R6 + 0x7C200400, // 001F CALL R8 2 + 0x7001FFED, // 0020 JMP #000F + 0x5814001E, // 0021 LDCONST R5 K30 + 0xAC140200, // 0022 CATCH R5 1 0 + 0xB0080000, // 0023 RAISE 2 R0 R0 + 0xB8162200, // 0024 GETNGBL R5 K17 + 0x8C140B27, // 0025 GETMET R5 R5 K39 + 0x5C1C0800, // 0026 MOVE R7 R4 + 0x7C140400, // 0027 CALL R5 2 + 0x5C100A00, // 0028 MOVE R4 R5 + 0x50140200, // 0029 LDBOOL R5 1 0 + 0x60180010, // 002A GETGBL R6 G16 + 0x5C1C0800, // 002B MOVE R7 R4 + 0x7C180200, // 002C CALL R6 1 + 0xA8020026, // 002D EXBLK 0 #0055 + 0x5C1C0C00, // 002E MOVE R7 R6 + 0x7C1C0000, // 002F CALL R7 0 + 0x8C200724, // 0030 GETMET R8 R3 K36 + 0x5C280000, // 0031 MOVE R10 R0 + 0x5C2C0E00, // 0032 MOVE R11 R7 + 0x7C200600, // 0033 CALL R8 3 + 0x4C240000, // 0034 LDNIL R9 + 0x1C241009, // 0035 EQ R9 R8 R9 + 0x78260000, // 0036 JMPF R9 #0038 + 0x7001FFF5, // 0037 JMP #002E + 0x6024000F, // 0038 GETGBL R9 G15 + 0x5C281000, // 0039 MOVE R10 R8 + 0x602C0015, // 003A GETGBL R11 G21 + 0x7C240400, // 003B CALL R9 2 + 0x78260003, // 003C JMPF R9 #0041 + 0x8C241128, // 003D GETMET R9 R8 K40 + 0x7C240200, // 003E CALL R9 1 + 0x00263809, // 003F ADD R9 K28 R9 + 0x5C201200, // 0040 MOVE R8 R9 + 0x5C240A00, // 0041 MOVE R9 R5 + 0x74260002, // 0042 JMPT R9 #0046 + 0x8C240356, // 0043 GETMET R9 R1 K86 + 0x582C0030, // 0044 LDCONST R11 K48 + 0x7C240400, // 0045 CALL R9 2 + 0x8C240356, // 0046 GETMET R9 R1 K86 + 0x602C0018, // 0047 GETGBL R11 G24 + 0x58300029, // 0048 LDCONST R12 K41 + 0x8C34052A, // 0049 GETMET R13 R2 K42 + 0x603C0008, // 004A GETGBL R15 G8 + 0x5C400E00, // 004B MOVE R16 R7 + 0x7C3C0200, // 004C CALL R15 1 + 0x7C340400, // 004D CALL R13 2 + 0x8C38052A, // 004E GETMET R14 R2 K42 + 0x5C401000, // 004F MOVE R16 R8 + 0x7C380400, // 0050 CALL R14 2 + 0x7C2C0600, // 0051 CALL R11 3 + 0x7C240400, // 0052 CALL R9 2 + 0x50140000, // 0053 LDBOOL R5 0 0 + 0x7001FFD8, // 0054 JMP #002E + 0x5818001E, // 0055 LDCONST R6 K30 + 0xAC180200, // 0056 CATCH R6 1 0 + 0xB0080000, // 0057 RAISE 2 R0 R0 + 0x50180200, // 0058 LDBOOL R6 1 0 + 0x601C0010, // 0059 GETGBL R7 G16 + 0x8820012B, // 005A GETMBR R8 R0 K43 + 0x8C20112C, // 005B GETMET R8 R8 K44 + 0x7C200200, // 005C CALL R8 1 + 0x7C1C0200, // 005D CALL R7 1 + 0xA802000F, // 005E EXBLK 0 #006F + 0x5C200E00, // 005F MOVE R8 R7 + 0x7C200000, // 0060 CALL R8 0 + 0x781A0003, // 0061 JMPF R6 #0066 + 0x8C240356, // 0062 GETMET R9 R1 K86 + 0x582C0057, // 0063 LDCONST R11 K87 + 0x7C240400, // 0064 CALL R9 2 + 0x70020002, // 0065 JMP #0069 + 0x8C240356, // 0066 GETMET R9 R1 K86 + 0x582C0030, // 0067 LDCONST R11 K48 + 0x7C240400, // 0068 CALL R9 2 + 0x8C240356, // 0069 GETMET R9 R1 K86 + 0x8C2C112D, // 006A GETMET R11 R8 K45 + 0x7C2C0200, // 006B CALL R11 1 + 0x7C240400, // 006C CALL R9 2 + 0x50180000, // 006D LDBOOL R6 0 0 + 0x7001FFEF, // 006E JMP #005F + 0x581C001E, // 006F LDCONST R7 K30 + 0xAC1C0200, // 0070 CATCH R7 1 0 + 0xB0080000, // 0071 RAISE 2 R0 R0 + 0x5C1C0C00, // 0072 MOVE R7 R6 + 0x741E0002, // 0073 JMPT R7 #0077 + 0x8C1C0356, // 0074 GETMET R7 R1 K86 + 0x58240031, // 0075 LDCONST R9 K49 + 0x7C1C0400, // 0076 CALL R7 2 + 0x8C1C0133, // 0077 GETMET R7 R0 K51 + 0x7C1C0200, // 0078 CALL R7 1 + 0x8C1C0356, // 0079 GETMET R7 R1 K86 + 0x58240035, // 007A LDCONST R9 K53 + 0x7C1C0400, // 007B CALL R7 2 + 0x80000000, // 007C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: counter_group_ctrl_snd_next +********************************************************************/ +be_local_closure(class_Matter_Fabric_counter_group_ctrl_snd_next, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(counter_group_ctrl_snd_next), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x88040139, // 0000 GETMBR R1 R0 K57 + 0x8C040349, // 0001 GETMET R1 R1 K73 + 0x7C040200, // 0002 CALL R1 1 + 0xB80A0200, // 0003 GETNGBL R2 K1 + 0x600C0018, // 0004 GETGBL R3 G24 + 0x58100058, // 0005 LDCONST R4 K88 + 0x5C140200, // 0006 MOVE R5 R1 + 0x7C0C0400, // 0007 CALL R3 2 + 0x58100007, // 0008 LDCONST R4 K7 + 0x7C080400, // 0009 CALL R2 2 + 0xB80A2200, // 000A GETNGBL R2 K17 + 0x8808054B, // 000B GETMBR R2 R2 K75 + 0x8C08054C, // 000C GETMET R2 R2 K76 + 0x5C100200, // 000D MOVE R4 R1 + 0x8814013A, // 000E GETMBR R5 R0 K58 + 0x7C080600, // 000F CALL R2 3 + 0x780A0007, // 0010 JMPF R2 #0019 + 0x8808014D, // 0011 GETMBR R2 R0 K77 + 0x00080202, // 0012 ADD R2 R1 R2 + 0x90027402, // 0013 SETMBR R0 K58 R2 + 0x8C08014E, // 0014 GETMET R2 R0 K78 + 0x7C080200, // 0015 CALL R2 1 + 0x780A0001, // 0016 JMPF R2 #0019 + 0x8C08014F, // 0017 GETMET R2 R0 K79 + 0x7C080200, // 0018 CALL R2 1 + 0x80040200, // 0019 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fabric_candidate +********************************************************************/ +be_local_closure(class_Matter_Fabric_fabric_candidate, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(fabric_candidate), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8C040159, // 0000 GETMET R1 R0 K89 + 0x540E0077, // 0001 LDINT R3 120 + 0x7C040400, // 0002 CALL R1 2 + 0x8C040146, // 0003 GETMET R1 R0 K70 + 0x7C040200, // 0004 CALL R1 1 + 0x88040147, // 0005 GETMBR R1 R0 K71 + 0x8C040348, // 0006 GETMET R1 R1 K72 + 0x5C0C0000, // 0007 MOVE R3 R0 + 0x7C040400, // 0008 CALL R1 2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: assign_fabric_index +********************************************************************/ +be_local_closure(class_Matter_Fabric_assign_fabric_index, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(assign_fabric_index), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x8C04013F, // 0000 GETMET R1 R0 K63 + 0x7C040200, // 0001 CALL R1 1 + 0x4C080000, // 0002 LDNIL R2 + 0x1C040202, // 0003 EQ R1 R1 R2 + 0x78060004, // 0004 JMPF R1 #000A + 0x8C04015A, // 0005 GETMET R1 R0 K90 + 0x880C0147, // 0006 GETMBR R3 R0 K71 + 0x8C0C075B, // 0007 GETMET R3 R3 K91 + 0x7C0C0200, // 0008 CALL R3 1 + 0x7C040400, // 0009 CALL R1 2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_old_recent_session +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_old_recent_session, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_old_recent_session), + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0x6008000C, // 0000 GETGBL R2 G12 + 0x880C012B, // 0001 GETMBR R3 R0 K43 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080514, // 0003 EQ R2 R2 K20 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x4C080000, // 0005 LDNIL R2 + 0x80040400, // 0006 RET 1 R2 + 0x8808012B, // 0007 GETMBR R2 R0 K43 + 0x94080514, // 0008 GETIDX R2 R2 K20 + 0x880C055C, // 0009 GETMBR R3 R2 K92 + 0x5810005D, // 000A LDCONST R4 K93 + 0x6014000C, // 000B GETGBL R5 G12 + 0x8818012B, // 000C GETMBR R6 R0 K43 + 0x7C140200, // 000D CALL R5 1 + 0x14140805, // 000E LT R5 R4 R5 + 0x7816000C, // 000F JMPF R5 #001D + 0x8814012B, // 0010 GETMBR R5 R0 K43 + 0x94140A04, // 0011 GETIDX R5 R5 R4 + 0x88140B5C, // 0012 GETMBR R5 R5 K92 + 0x78060001, // 0013 JMPF R1 #0016 + 0x14180A03, // 0014 LT R6 R5 R3 + 0x70020000, // 0015 JMP #0017 + 0x24180A03, // 0016 GT R6 R5 R3 + 0x781A0002, // 0017 JMPF R6 #001B + 0x8818012B, // 0018 GETMBR R6 R0 K43 + 0x94080C04, // 0019 GETIDX R2 R6 R4 + 0x5C0C0A00, // 001A MOVE R3 R5 + 0x0010095D, // 001B ADD R4 R4 K93 + 0x7001FFED, // 001C JMP #000B + 0x80040400, // 001D RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Fabric_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0xA40ABC00, // 0000 IMPORT R2 K94 + 0x90028E01, // 0001 SETMBR R0 K71 R1 + 0xB80E2200, // 0002 GETNGBL R3 K17 + 0x8C0C075F, // 0003 GETMET R3 R3 K95 + 0x7C0C0200, // 0004 CALL R3 1 + 0x90025603, // 0005 SETMBR R0 K43 R3 + 0x9002C161, // 0006 SETMBR R0 K96 K97 + 0xB80EC600, // 0007 GETNGBL R3 K99 + 0x8C0C0764, // 0008 GETMET R3 R3 K100 + 0x7C0C0200, // 0009 CALL R3 1 + 0x9002C403, // 000A SETMBR R0 K98 R3 + 0xB80E2200, // 000B GETNGBL R3 K17 + 0x8C0C074B, // 000C GETMET R3 R3 K75 + 0x7C0C0200, // 000D CALL R3 1 + 0x90026C03, // 000E SETMBR R0 K54 R3 + 0xB80E2200, // 000F GETNGBL R3 K17 + 0x8C0C074B, // 0010 GETMET R3 R3 K75 + 0x7C0C0200, // 0011 CALL R3 1 + 0x90027203, // 0012 SETMBR R0 K57 R3 + 0x880C0136, // 0013 GETMBR R3 R0 K54 + 0x8C0C0749, // 0014 GETMET R3 R3 K73 + 0x7C0C0200, // 0015 CALL R3 1 + 0x8810014D, // 0016 GETMBR R4 R0 K77 + 0x000C0604, // 0017 ADD R3 R3 R4 + 0x90027003, // 0018 SETMBR R0 K56 R3 + 0x880C0136, // 0019 GETMBR R3 R0 K54 + 0x8C0C0749, // 001A GETMET R3 R3 K73 + 0x7C0C0200, // 001B CALL R3 1 + 0x8810014D, // 001C GETMBR R4 R0 K77 + 0x000C0604, // 001D ADD R3 R3 R4 + 0x90027403, // 001E SETMBR R0 K58 R3 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ipk_epoch_key +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_ipk_epoch_key, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_ipk_epoch_key), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804013C, // 0000 GETMBR R1 R0 K60 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_session +********************************************************************/ +be_local_closure(class_Matter_Fabric_add_session, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(add_session), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x8808012B, // 0000 GETMBR R2 R0 K43 + 0x8C080516, // 0001 GETMET R2 R2 K22 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C080403, // 0005 EQ R2 R2 R3 + 0x780A0017, // 0006 JMPF R2 #001F + 0x6008000C, // 0007 GETGBL R2 G12 + 0x880C012B, // 0008 GETMBR R3 R0 K43 + 0x7C080200, // 0009 CALL R2 1 + 0x880C0165, // 000A GETMBR R3 R0 K101 + 0x28080403, // 000B GE R2 R2 R3 + 0x780A000D, // 000C JMPF R2 #001B + 0x8C080166, // 000D GETMET R2 R0 K102 + 0x7C080200, // 000E CALL R2 1 + 0x880C012B, // 000F GETMBR R3 R0 K43 + 0x8C0C0767, // 0010 GETMET R3 R3 K103 + 0x8814012B, // 0011 GETMBR R5 R0 K43 + 0x8C140B16, // 0012 GETMET R5 R5 K22 + 0x5C1C0400, // 0013 MOVE R7 R2 + 0x7C140400, // 0014 CALL R5 2 + 0x7C0C0400, // 0015 CALL R3 2 + 0x880C0147, // 0016 GETMBR R3 R0 K71 + 0x8C0C0768, // 0017 GETMET R3 R3 K104 + 0x5C140400, // 0018 MOVE R5 R2 + 0x7C0C0400, // 0019 CALL R3 2 + 0x7001FFEB, // 001A JMP #0007 + 0x8808012B, // 001B GETMBR R2 R0 K43 + 0x8C080526, // 001C GETMET R2 R2 K38 + 0x5C100200, // 001D MOVE R4 R1 + 0x7C080400, // 001E CALL R2 2 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_fabric_index +********************************************************************/ +be_local_closure(class_Matter_Fabric_set_fabric_index, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(set_fabric_index), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x9002AA01, // 0000 SETMBR R0 K85 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_device_id_as_int64 +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_device_id_as_int64, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_device_id_as_int64), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8068200, // 0000 GETNGBL R1 K65 + 0x8C040342, // 0001 GETMET R1 R1 K66 + 0x880C013D, // 0002 GETMBR R3 R0 K61 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_label +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_fabric_label, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_fabric_label), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040160, // 0000 GETMBR R1 R0 K96 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ipk_group_key +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_ipk_group_key, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_ipk_group_key), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x8804013C, // 0000 GETMBR R1 R0 K60 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x74060003, // 0003 JMPT R1 #0008 + 0x88040109, // 0004 GETMBR R1 R0 K9 + 0x4C080000, // 0005 LDNIL R2 + 0x1C040202, // 0006 EQ R1 R1 R2 + 0x78060001, // 0007 JMPF R1 #000A + 0x4C040000, // 0008 LDNIL R1 + 0x80040200, // 0009 RET 1 R1 + 0xA406BC00, // 000A IMPORT R1 K94 + 0x8C080369, // 000B GETMET R2 R1 K105 + 0x7C080200, // 000C CALL R2 1 + 0x600C0015, // 000D GETGBL R3 G21 + 0x7C0C0000, // 000E CALL R3 0 + 0x8C0C076A, // 000F GETMET R3 R3 K106 + 0x8814016B, // 0010 GETMBR R5 R0 K107 + 0x7C0C0400, // 0011 CALL R3 2 + 0x8C10056C, // 0012 GETMET R4 R2 K108 + 0x8818013C, // 0013 GETMBR R6 R0 K60 + 0x881C0109, // 0014 GETMBR R7 R0 K9 + 0x5C200600, // 0015 MOVE R8 R3 + 0x5426000F, // 0016 LDINT R9 16 + 0x7C100A00, // 0017 CALL R4 5 + 0x80040800, // 0018 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mark_for_deletion +********************************************************************/ +be_local_closure(class_Matter_Fabric_mark_for_deletion, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(mark_for_deletion), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB806C600, // 0000 GETNGBL R1 K99 + 0x8C040364, // 0001 GETMET R1 R1 K100 + 0x7C040200, // 0002 CALL R1 1 + 0x90028001, // 0003 SETMBR R0 K64 R1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_admin_vendor_name +********************************************************************/ +be_local_closure(class_Matter_Fabric_get_admin_vendor_name, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Fabric, /* shared constants */ + be_str_weak(get_admin_vendor_name), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x4C080000, // 0001 LDNIL R2 + 0x1C080202, // 0002 EQ R2 R1 R2 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x8006C200, // 0004 RET 1 K97 + 0xB80A2200, // 0005 GETNGBL R2 K17 + 0x8C08056D, // 0006 GETMET R2 R2 K109 + 0x5C100200, // 0007 MOVE R4 R1 + 0x7C080400, // 0008 CALL R2 2 + 0x4C0C0000, // 0009 LDNIL R3 + 0x200C0403, // 000A NE R3 R2 R3 + 0x780E0001, // 000B JMPF R3 #000E + 0x80040400, // 000C RET 1 R2 + 0x70020004, // 000D JMP #0013 + 0x600C0018, // 000E GETGBL R3 G24 + 0x5810006E, // 000F LDCONST R4 K110 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C0C0400, // 0011 CALL R3 2 + 0x80040600, // 0012 RET 1 R3 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Fabric +********************************************************************/ +extern const bclass be_class_Matter_Expirable; +be_local_class(Matter_Fabric, + 21, + &be_class_Matter_Expirable, + be_nested_map(66, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_icac, -1), be_const_closure(class_Matter_Fabric_get_icac_closure) }, + { be_const_key_weak(_counter_group_ctrl_snd_impl, 2), be_const_var(18) }, + { be_const_key_weak(get_fabric_compressed, -1), be_const_closure(class_Matter_Fabric_get_fabric_compressed_closure) }, + { be_const_key_weak(get_pk, -1), be_const_closure(class_Matter_Fabric_get_pk_closure) }, + { be_const_key_weak(get_admin_vendor_name, 8), be_const_closure(class_Matter_Fabric_get_admin_vendor_name_closure) }, + { be_const_key_weak(get_fabric_id, -1), be_const_closure(class_Matter_Fabric_get_fabric_id_closure) }, + { be_const_key_weak(deleted, 49), be_const_var(2) }, + { be_const_key_weak(set_admin_subject_vendor, -1), be_const_closure(class_Matter_Fabric_set_admin_subject_vendor_closure) }, + { be_const_key_weak(set_ipk_epoch_key, -1), be_const_closure(class_Matter_Fabric_set_ipk_epoch_key_closure) }, + { be_const_key_weak(fabric_parent, 45), be_const_var(4) }, + { be_const_key_weak(get_ipk_group_key, 18), be_const_closure(class_Matter_Fabric_get_ipk_group_key_closure) }, + { be_const_key_weak(fromjson, -1), be_const_static_closure(class_Matter_Fabric_fromjson_closure) }, + { be_const_key_weak(set_ca, -1), be_const_closure(class_Matter_Fabric_set_ca_closure) }, + { be_const_key_weak(counter_group_ctrl_snd, -1), be_const_var(16) }, + { be_const_key_weak(tojson, -1), be_const_closure(class_Matter_Fabric_tojson_closure) }, + { be_const_key_weak(hydrate_post, 53), be_const_closure(class_Matter_Fabric_hydrate_post_closure) }, + { be_const_key_weak(no_private_key, 58), be_const_var(6) }, + { be_const_key_weak(_sessions, -1), be_const_var(5) }, + { be_const_key_weak(fabric_compressed, -1), be_const_var(12) }, + { be_const_key_weak(device_id, -1), be_const_var(13) }, + { be_const_key_weak(get_noc, 25), be_const_closure(class_Matter_Fabric_get_noc_closure) }, + { be_const_key_weak(get_fabric_label, -1), be_const_closure(class_Matter_Fabric_get_fabric_label_closure) }, + { be_const_key_weak(get_admin_subject, -1), be_const_closure(class_Matter_Fabric_get_admin_subject_closure) }, + { be_const_key_weak(before_remove, 28), be_const_closure(class_Matter_Fabric_before_remove_closure) }, + { be_const_key_weak(get_fabric_id_as_int64, -1), be_const_closure(class_Matter_Fabric_get_fabric_id_as_int64_closure) }, + { be_const_key_weak(set_fabric_device, -1), be_const_closure(class_Matter_Fabric_set_fabric_device_closure) }, + { be_const_key_weak(get_ca, -1), be_const_closure(class_Matter_Fabric_get_ca_closure) }, + { be_const_key_weak(ipk_epoch_key, -1), be_const_var(10) }, + { be_const_key_weak(fabric_index, 48), be_const_var(3) }, + { be_const_key_weak(set_pk, -1), be_const_closure(class_Matter_Fabric_set_pk_closure) }, + { be_const_key_weak(fabric_completed, -1), be_const_closure(class_Matter_Fabric_fabric_completed_closure) }, + { be_const_key_weak(created, -1), be_const_var(1) }, + { be_const_key_weak(counter_group_data_snd_next, -1), be_const_closure(class_Matter_Fabric_counter_group_data_snd_next_closure) }, + { be_const_key_weak(set_noc_icac, -1), be_const_closure(class_Matter_Fabric_set_noc_icac_closure) }, + { be_const_key_weak(_GROUP_SND_INCR, -1), be_const_int(32) }, + { be_const_key_weak(admin_vendor, 29), be_const_var(20) }, + { be_const_key_weak(fabric_id, -1), be_const_var(11) }, + { be_const_key_weak(fabric_label, -1), be_const_var(14) }, + { be_const_key_weak(log_new_fabric, -1), be_const_closure(class_Matter_Fabric_log_new_fabric_closure) }, + { be_const_key_weak(noc, -1), be_const_var(8) }, + { be_const_key_weak(_counter_group_data_snd_impl, -1), be_const_var(17) }, + { be_const_key_weak(get_newest_session, 37), be_const_closure(class_Matter_Fabric_get_newest_session_closure) }, + { be_const_key_weak(get_ca_pub, -1), be_const_closure(class_Matter_Fabric_get_ca_pub_closure) }, + { be_const_key_weak(add_session, -1), be_const_closure(class_Matter_Fabric_add_session_closure) }, + { be_const_key_weak(get_ipk_epoch_key, -1), be_const_closure(class_Matter_Fabric_get_ipk_epoch_key_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Fabric_init_closure) }, + { be_const_key_weak(writejson, -1), be_const_closure(class_Matter_Fabric_writejson_closure) }, + { be_const_key_weak(counter_group_ctrl_snd_next, -1), be_const_closure(class_Matter_Fabric_counter_group_ctrl_snd_next_closure) }, + { be_const_key_weak(_store, 61), be_const_var(0) }, + { be_const_key_weak(fabric_candidate, -1), be_const_closure(class_Matter_Fabric_fabric_candidate_closure) }, + { be_const_key_weak(counter_group_data_snd, -1), be_const_var(15) }, + { be_const_key_weak(assign_fabric_index, -1), be_const_closure(class_Matter_Fabric_assign_fabric_index_closure) }, + { be_const_key_weak(get_old_recent_session, -1), be_const_closure(class_Matter_Fabric_get_old_recent_session_closure) }, + { be_const_key_weak(admin_subject, -1), be_const_var(19) }, + { be_const_key_weak(get_fabric_index, 44), be_const_closure(class_Matter_Fabric_get_fabric_index_closure) }, + { be_const_key_weak(_GROUP_KEY, 43), be_nested_str_weak(GroupKey_X20v1_X2E0) }, + { be_const_key_weak(set_fabric_index, -1), be_const_closure(class_Matter_Fabric_set_fabric_index_closure) }, + { be_const_key_weak(icac, -1), be_const_var(9) }, + { be_const_key_weak(root_ca_certificate, -1), be_const_var(7) }, + { be_const_key_weak(get_device_id_as_int64, -1), be_const_closure(class_Matter_Fabric_get_device_id_as_int64_closure) }, + { be_const_key_weak(get_device_id, 21), be_const_closure(class_Matter_Fabric_get_device_id_closure) }, + { be_const_key_weak(is_marked_for_deletion, -1), be_const_closure(class_Matter_Fabric_is_marked_for_deletion_closure) }, + { be_const_key_weak(get_oldest_session, 10), be_const_closure(class_Matter_Fabric_get_oldest_session_closure) }, + { be_const_key_weak(mark_for_deletion, -1), be_const_closure(class_Matter_Fabric_mark_for_deletion_closure) }, + { be_const_key_weak(get_admin_vendor, 4), be_const_closure(class_Matter_Fabric_get_admin_vendor_closure) }, + { be_const_key_weak(_MAX_CASE, -1), be_const_int(5) }, + })), + be_str_weak(Matter_Fabric) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_async.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_async.h new file mode 100644 index 000000000..1d755de68 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_async.h @@ -0,0 +1,1096 @@ +/* Solidification of Matter_HTTP_async.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_HTTP_async' ktab size: 74, total: 152 (saved 624 bytes) +static const bvalue be_ktab_class_Matter_HTTP_async[74] = { + /* K0 */ be_nested_str_weak(is_chunked), + /* K1 */ be_nested_str_weak(chunk_size), + /* K2 */ be_nested_str_weak(global), + /* K3 */ be_nested_str_weak(_re_http_chunk), + /* K4 */ be_nested_str_weak(match2), + /* K5 */ be_nested_str_weak(response), + /* K6 */ be_nested_str_weak(response_offset), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(0x), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(status), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(), + /* K13 */ be_nested_str_weak(close), + /* K14 */ be_nested_str_weak(payload), + /* K15 */ be_const_int(2147483647), + /* K16 */ be_nested_str_weak(string), + /* K17 */ be_nested_str_weak(tolower), + /* K18 */ be_nested_str_weak(transfer_X2Dencoding), + /* K19 */ be_nested_str_weak(chunked), + /* K20 */ be_nested_str_weak(find), + /* K21 */ be_nested_str_weak(_X40), + /* K22 */ be_nested_str_weak(auth), + /* K23 */ be_nested_str_weak(fromstring), + /* K24 */ be_nested_str_weak(tob64), + /* K25 */ be_nested_str_weak(init), + /* K26 */ be_nested_str_weak(compile_re), + /* K27 */ be_nested_str_weak(phase), + /* K28 */ be_nested_str_weak(parse_http_status_line), + /* K29 */ be_nested_str_weak(parse_http_headers), + /* K30 */ be_nested_str_weak(parse_http_payload), + /* K31 */ be_nested_str_weak(http_status), + /* K32 */ be_nested_str_weak(event_http_failed), + /* K33 */ be_nested_str_weak(reset), + /* K34 */ be_nested_str_weak(cmd), + /* K35 */ be_nested_str_weak(begin), + /* K36 */ be_nested_str_weak(send_http), + /* K37 */ be_nested_str_weak(_re_http_header), + /* K38 */ be_nested_str_weak(event_http_header), + /* K39 */ be_nested_str_weak(_re_http_body), + /* K40 */ be_nested_str_weak(event_http_headers_end), + /* K41 */ be_nested_str_weak(receive), + /* K42 */ be_nested_str_weak(event_http_timeout), + /* K43 */ be_nested_str_weak(re), + /* K44 */ be_nested_str_weak(contains), + /* K45 */ be_nested_str_weak(_re_http_status), + /* K46 */ be_nested_str_weak(compile), + /* K47 */ be_nested_str_weak(HTTP_STATUS_REGEX), + /* K48 */ be_nested_str_weak(HTTP_HEADER_REGEX), + /* K49 */ be_nested_str_weak(HTTP_BODY_REGEX), + /* K50 */ be_nested_str_weak(HTTP_CHUNK_REGEX), + /* K51 */ be_nested_str_weak(event_http_finished), + /* K52 */ be_nested_str_weak(timeout), + /* K53 */ be_nested_str_weak(set_timeout), + /* K54 */ be_nested_str_weak(SPINLOCK), + /* K55 */ be_nested_str_weak(loop), + /* K56 */ be_nested_str_weak(tasmota), + /* K57 */ be_nested_str_weak(delay), + /* K58 */ be_nested_str_weak(addr), + /* K59 */ be_nested_str_weak(_X3A), + /* K60 */ be_nested_str_weak(_X5B), + /* K61 */ be_nested_str_weak(_X5D), + /* K62 */ be_nested_str_weak(HTTP_GET), + /* K63 */ be_nested_str_weak(port), + /* K64 */ be_nested_str_weak(HTTP_GET_AUTH), + /* K65 */ be_nested_str_weak(write), + /* K66 */ be_nested_str_weak(status_code), + /* K67 */ be_nested_str_weak(tcp_connected), + /* K68 */ be_nested_str_weak(millis), + /* K69 */ be_nested_str_weak(time_start), + /* K70 */ be_nested_str_weak(tcp), + /* K71 */ be_nested_str_weak(available), + /* K72 */ be_nested_str_weak(read), + /* K73 */ be_nested_str_weak(parse_http_response), +}; + + +extern const bclass be_class_Matter_HTTP_async; + +/******************************************************************** +** Solidified function: parse_http_payload +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_parse_http_payload, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(parse_http_payload), + &be_const_str_solidified, + ( &(const binstruction[82]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060045, // 0001 JMPF R1 #0048 + 0x50040200, // 0002 LDBOOL R1 1 0 + 0x78060042, // 0003 JMPF R1 #0047 + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x4C080000, // 0005 LDNIL R2 + 0x1C040202, // 0006 EQ R1 R1 R2 + 0x78060018, // 0007 JMPF R1 #0021 + 0xB8060400, // 0008 GETNGBL R1 K2 + 0x88040303, // 0009 GETMBR R1 R1 K3 + 0x8C040304, // 000A GETMET R1 R1 K4 + 0x880C0105, // 000B GETMBR R3 R0 K5 + 0x88100106, // 000C GETMBR R4 R0 K6 + 0x7C040600, // 000D CALL R1 3 + 0x78060011, // 000E JMPF R1 #0021 + 0x88080106, // 000F GETMBR R2 R0 K6 + 0x940C0307, // 0010 GETIDX R3 R1 K7 + 0x00080403, // 0011 ADD R2 R2 R3 + 0x90020C02, // 0012 SETMBR R0 K6 R2 + 0x60080009, // 0013 GETGBL R2 G9 + 0x940C0309, // 0014 GETIDX R3 R1 K9 + 0x000E1003, // 0015 ADD R3 K8 R3 + 0x7C080200, // 0016 CALL R2 1 + 0x90020202, // 0017 SETMBR R0 K1 R2 + 0x88080101, // 0018 GETMBR R2 R0 K1 + 0x1C080507, // 0019 EQ R2 R2 K7 + 0x780A0005, // 001A JMPF R2 #0021 + 0x9002150B, // 001B SETMBR R0 K10 K11 + 0x90020B0C, // 001C SETMBR R0 K5 K12 + 0x90020D07, // 001D SETMBR R0 K6 K7 + 0x8C08010D, // 001E GETMET R2 R0 K13 + 0x7C080200, // 001F CALL R2 1 + 0x80000400, // 0020 RET 0 + 0x88040101, // 0021 GETMBR R1 R0 K1 + 0x4C080000, // 0022 LDNIL R2 + 0x20040202, // 0023 NE R1 R1 R2 + 0x7806001F, // 0024 JMPF R1 #0045 + 0x88040101, // 0025 GETMBR R1 R0 K1 + 0x6008000C, // 0026 GETGBL R2 G12 + 0x880C0105, // 0027 GETMBR R3 R0 K5 + 0x7C080200, // 0028 CALL R2 1 + 0x880C0106, // 0029 GETMBR R3 R0 K6 + 0x04080403, // 002A SUB R2 R2 R3 + 0x18040202, // 002B LE R1 R1 R2 + 0x78060015, // 002C JMPF R1 #0043 + 0x88080106, // 002D GETMBR R2 R0 K6 + 0x880C0106, // 002E GETMBR R3 R0 K6 + 0x88100101, // 002F GETMBR R4 R0 K1 + 0x000C0604, // 0030 ADD R3 R3 R4 + 0x040C0709, // 0031 SUB R3 R3 K9 + 0x40080403, // 0032 CONNECT R2 R2 R3 + 0x880C0105, // 0033 GETMBR R3 R0 K5 + 0x8804010E, // 0034 GETMBR R1 R0 K14 + 0x94080602, // 0035 GETIDX R2 R3 R2 + 0x00040202, // 0036 ADD R1 R1 R2 + 0x90021C01, // 0037 SETMBR R0 K14 R1 + 0x88040106, // 0038 GETMBR R1 R0 K6 + 0x88080101, // 0039 GETMBR R2 R0 K1 + 0x00040202, // 003A ADD R1 R1 R2 + 0x4004030F, // 003B CONNECT R1 R1 K15 + 0x88080105, // 003C GETMBR R2 R0 K5 + 0x94040401, // 003D GETIDX R1 R2 R1 + 0x90020A01, // 003E SETMBR R0 K5 R1 + 0x90020D07, // 003F SETMBR R0 K6 K7 + 0x4C040000, // 0040 LDNIL R1 + 0x90020201, // 0041 SETMBR R0 K1 R1 + 0x70020000, // 0042 JMP #0044 + 0x80000200, // 0043 RET 0 + 0x70020000, // 0044 JMP #0046 + 0x80000200, // 0045 RET 0 + 0x7001FFBA, // 0046 JMP #0002 + 0x70020008, // 0047 JMP #0051 + 0x88080106, // 0048 GETMBR R2 R0 K6 + 0x4008050F, // 0049 CONNECT R2 R2 K15 + 0x880C0105, // 004A GETMBR R3 R0 K5 + 0x8804010E, // 004B GETMBR R1 R0 K14 + 0x94080602, // 004C GETIDX R2 R3 R2 + 0x00040202, // 004D ADD R1 R1 R2 + 0x90021C01, // 004E SETMBR R0 K14 R1 + 0x90020B0C, // 004F SETMBR R0 K5 K12 + 0x90020D07, // 0050 SETMBR R0 K6 K7 + 0x80000000, // 0051 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_finished +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_finished, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_finished), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_header +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_header, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_header), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0xA40E2000, // 0000 IMPORT R3 K16 + 0x8C100711, // 0001 GETMET R4 R3 K17 + 0x5C180200, // 0002 MOVE R6 R1 + 0x7C100400, // 0003 CALL R4 2 + 0x5C040800, // 0004 MOVE R1 R4 + 0x8C100711, // 0005 GETMET R4 R3 K17 + 0x5C180400, // 0006 MOVE R6 R2 + 0x7C100400, // 0007 CALL R4 2 + 0x5C080800, // 0008 MOVE R2 R4 + 0x1C100312, // 0009 EQ R4 R1 K18 + 0x78120006, // 000A JMPF R4 #0012 + 0x8C100711, // 000B GETMET R4 R3 K17 + 0x5C180400, // 000C MOVE R6 R2 + 0x7C100400, // 000D CALL R4 2 + 0x1C100913, // 000E EQ R4 R4 K19 + 0x78120001, // 000F JMPF R4 #0012 + 0x50100200, // 0010 LDBOOL R4 1 0 + 0x90020004, // 0011 SETMBR R0 K0 R4 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[36]) { /* code */ + 0xA4162000, // 0000 IMPORT R5 K16 + 0x60180008, // 0001 GETGBL R6 G8 + 0x5C1C0200, // 0002 MOVE R7 R1 + 0x7C180200, // 0003 CALL R6 1 + 0x5C040C00, // 0004 MOVE R1 R6 + 0x8C180B14, // 0005 GETMET R6 R5 K20 + 0x5C200200, // 0006 MOVE R8 R1 + 0x58240015, // 0007 LDCONST R9 K21 + 0x7C180600, // 0008 CALL R6 3 + 0x281C0D07, // 0009 GE R7 R6 K7 + 0x781E000C, // 000A JMPF R7 #0018 + 0x601C0015, // 000B GETGBL R7 G21 + 0x7C1C0000, // 000C CALL R7 0 + 0x8C1C0F17, // 000D GETMET R7 R7 K23 + 0x04240D09, // 000E SUB R9 R6 K9 + 0x40260E09, // 000F CONNECT R9 K7 R9 + 0x94240209, // 0010 GETIDX R9 R1 R9 + 0x7C1C0400, // 0011 CALL R7 2 + 0x8C1C0F18, // 0012 GETMET R7 R7 K24 + 0x7C1C0200, // 0013 CALL R7 1 + 0x90022C07, // 0014 SETMBR R0 K22 R7 + 0x001C0D09, // 0015 ADD R7 R6 K9 + 0x401C0F0F, // 0016 CONNECT R7 R7 K15 + 0x94040207, // 0017 GETIDX R1 R1 R7 + 0x601C0003, // 0018 GETGBL R7 G3 + 0x5C200000, // 0019 MOVE R8 R0 + 0x7C1C0200, // 001A CALL R7 1 + 0x8C1C0F19, // 001B GETMET R7 R7 K25 + 0x5C240200, // 001C MOVE R9 R1 + 0x5C280400, // 001D MOVE R10 R2 + 0x5C2C0600, // 001E MOVE R11 R3 + 0x5C300800, // 001F MOVE R12 R4 + 0x7C1C0A00, // 0020 CALL R7 5 + 0x8C1C011A, // 0021 GETMET R7 R0 K26 + 0x7C1C0200, // 0022 CALL R7 1 + 0x80000000, // 0023 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_failed +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_failed, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_failed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_response +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_parse_http_response, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(parse_http_response), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8804011B, // 0000 GETMBR R1 R0 K27 + 0x1C040307, // 0001 EQ R1 R1 K7 + 0x78060002, // 0002 JMPF R1 #0006 + 0x8C04011C, // 0003 GETMET R1 R0 K28 + 0x7C040200, // 0004 CALL R1 1 + 0x7002000A, // 0005 JMP #0011 + 0x8804011B, // 0006 GETMBR R1 R0 K27 + 0x1C040309, // 0007 EQ R1 R1 K9 + 0x78060002, // 0008 JMPF R1 #000C + 0x8C04011D, // 0009 GETMET R1 R0 K29 + 0x7C040200, // 000A CALL R1 1 + 0x70020004, // 000B JMP #0011 + 0x8804011B, // 000C GETMBR R1 R0 K27 + 0x1C04030B, // 000D EQ R1 R1 K11 + 0x78060001, // 000E JMPF R1 #0011 + 0x8C04011E, // 000F GETMET R1 R0 K30 + 0x7C040200, // 0010 CALL R1 1 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_refused +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_refused, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_refused), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x5405FFFE, // 0000 LDINT R1 -1 + 0x90023E01, // 0001 SETMBR R0 K31 R1 + 0x8C040120, // 0002 GETMET R1 R0 K32 + 0x7C040200, // 0003 CALL R1 1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_reset, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040321, // 0003 GETMET R1 R1 K33 + 0x7C040200, // 0004 CALL R1 1 + 0x4C040000, // 0005 LDNIL R1 + 0x90024401, // 0006 SETMBR R0 K34 R1 + 0x4C040000, // 0007 LDNIL R1 + 0x90020A01, // 0008 SETMBR R0 K5 R1 + 0x90020D07, // 0009 SETMBR R0 K6 K7 + 0x90021D0C, // 000A SETMBR R0 K14 K12 + 0x90023707, // 000B SETMBR R0 K27 K7 + 0x90023F07, // 000C SETMBR R0 K31 K7 + 0x50040000, // 000D LDBOOL R1 0 0 + 0x90020001, // 000E SETMBR R0 K0 R1 + 0x4C040000, // 000F LDNIL R1 + 0x90020201, // 0010 SETMBR R0 K1 R1 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_begin, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(begin), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080523, // 0003 GETMET R2 R2 K35 + 0x7C080200, // 0004 CALL R2 1 + 0x90024401, // 0005 SETMBR R0 K34 R1 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_established +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_established, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_established), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040124, // 0000 GETMET R1 R0 K36 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_headers +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_parse_http_headers, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(parse_http_headers), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x50040200, // 0000 LDBOOL R1 1 0 + 0x7806002B, // 0001 JMPF R1 #002E + 0xB8060400, // 0002 GETNGBL R1 K2 + 0x88040325, // 0003 GETMBR R1 R1 K37 + 0x8C040304, // 0004 GETMET R1 R1 K4 + 0x880C0105, // 0005 GETMBR R3 R0 K5 + 0x88100106, // 0006 GETMBR R4 R0 K6 + 0x7C040600, // 0007 CALL R1 3 + 0x78060008, // 0008 JMPF R1 #0012 + 0x8C080126, // 0009 GETMET R2 R0 K38 + 0x94100309, // 000A GETIDX R4 R1 K9 + 0x9414030B, // 000B GETIDX R5 R1 K11 + 0x7C080600, // 000C CALL R2 3 + 0x88080106, // 000D GETMBR R2 R0 K6 + 0x940C0307, // 000E GETIDX R3 R1 K7 + 0x00080403, // 000F ADD R2 R2 R3 + 0x90020C02, // 0010 SETMBR R0 K6 R2 + 0x7002001A, // 0011 JMP #002D + 0xB80A0400, // 0012 GETNGBL R2 K2 + 0x88080527, // 0013 GETMBR R2 R2 K39 + 0x8C080504, // 0014 GETMET R2 R2 K4 + 0x88100105, // 0015 GETMBR R4 R0 K5 + 0x88140106, // 0016 GETMBR R5 R0 K6 + 0x7C080600, // 0017 CALL R2 3 + 0x780A0004, // 0018 JMPF R2 #001E + 0x8C0C0128, // 0019 GETMET R3 R0 K40 + 0x7C0C0200, // 001A CALL R3 1 + 0x9002370B, // 001B SETMBR R0 K27 K11 + 0x8C0C011E, // 001C GETMET R3 R0 K30 + 0x7C0C0200, // 001D CALL R3 1 + 0x600C000C, // 001E GETGBL R3 G12 + 0x88100105, // 001F GETMBR R4 R0 K5 + 0x7C0C0200, // 0020 CALL R3 1 + 0x541203FF, // 0021 LDINT R4 1024 + 0x240C0604, // 0022 GT R3 R3 R4 + 0x780E0007, // 0023 JMPF R3 #002C + 0x8C0C010D, // 0024 GETMET R3 R0 K13 + 0x7C0C0200, // 0025 CALL R3 1 + 0x540DFFFB, // 0026 LDINT R3 -4 + 0x90021403, // 0027 SETMBR R0 K10 R3 + 0x540DFFFE, // 0028 LDINT R3 -1 + 0x90023E03, // 0029 SETMBR R0 K31 R3 + 0x8C0C0120, // 002A GETMET R3 R0 K32 + 0x7C0C0200, // 002B CALL R3 1 + 0x80000600, // 002C RET 0 + 0x7001FFD1, // 002D JMP #0000 + 0x80000000, // 002E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_available +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_available, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_available), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040129, // 0000 GETMET R1 R0 K41 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_timeout +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_timeout, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x5405FFFD, // 0000 LDINT R1 -2 + 0x90023E01, // 0001 SETMBR R0 K31 R1 + 0x8C04012A, // 0002 GETMET R1 R0 K42 + 0x7C040200, // 0003 CALL R1 1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compile_re +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_compile_re, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(compile_re), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0xA4065600, // 0000 IMPORT R1 K43 + 0xB80A0400, // 0001 GETNGBL R2 K2 + 0x8C08052C, // 0002 GETMET R2 R2 K44 + 0x5810002D, // 0003 LDCONST R4 K45 + 0x7C080400, // 0004 CALL R2 2 + 0x740A0013, // 0005 JMPT R2 #001A + 0xB80A0400, // 0006 GETNGBL R2 K2 + 0x8C0C032E, // 0007 GETMET R3 R1 K46 + 0x8814012F, // 0008 GETMBR R5 R0 K47 + 0x7C0C0400, // 0009 CALL R3 2 + 0x900A5A03, // 000A SETMBR R2 K45 R3 + 0xB80A0400, // 000B GETNGBL R2 K2 + 0x8C0C032E, // 000C GETMET R3 R1 K46 + 0x88140130, // 000D GETMBR R5 R0 K48 + 0x7C0C0400, // 000E CALL R3 2 + 0x900A4A03, // 000F SETMBR R2 K37 R3 + 0xB80A0400, // 0010 GETNGBL R2 K2 + 0x8C0C032E, // 0011 GETMET R3 R1 K46 + 0x88140131, // 0012 GETMBR R5 R0 K49 + 0x7C0C0400, // 0013 CALL R3 2 + 0x900A4E03, // 0014 SETMBR R2 K39 R3 + 0xB80A0400, // 0015 GETNGBL R2 K2 + 0x8C0C032E, // 0016 GETMET R3 R1 K46 + 0x88140132, // 0017 GETMBR R5 R0 K50 + 0x7C0C0400, // 0018 CALL R3 2 + 0x900A0603, // 0019 SETMBR R2 K3 R3 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_closed +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_closed, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_closed), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8804011F, // 0000 GETMBR R1 R0 K31 + 0x1C040307, // 0001 EQ R1 R1 K7 + 0x78060002, // 0002 JMPF R1 #0006 + 0x90023F09, // 0003 SETMBR R0 K31 K9 + 0x8C040133, // 0004 GETMET R1 R0 K51 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin_sync +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_begin_sync, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(begin_sync), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x880C0134, // 0000 GETMBR R3 R0 K52 + 0x4C100000, // 0001 LDNIL R4 + 0x20100404, // 0002 NE R4 R2 R4 + 0x78120002, // 0003 JMPF R4 #0007 + 0x8C100135, // 0004 GETMET R4 R0 K53 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C100400, // 0006 CALL R4 2 + 0x4C100000, // 0007 LDNIL R4 + 0x88140136, // 0008 GETMBR R5 R0 K54 + 0x8C180123, // 0009 GETMET R6 R0 K35 + 0x5C200200, // 000A MOVE R8 R1 + 0x7C180400, // 000B CALL R6 2 + 0x781A0009, // 000C JMPF R6 #0017 + 0x881C011F, // 000D GETMBR R7 R0 K31 + 0x1C1C0F07, // 000E EQ R7 R7 K7 + 0x781E0006, // 000F JMPF R7 #0017 + 0x8C1C0137, // 0010 GETMET R7 R0 K55 + 0x7C1C0200, // 0011 CALL R7 1 + 0xB81E7000, // 0012 GETNGBL R7 K56 + 0x8C1C0F39, // 0013 GETMET R7 R7 K57 + 0x5C240A00, // 0014 MOVE R9 R5 + 0x7C1C0400, // 0015 CALL R7 2 + 0x7001FFF5, // 0016 JMP #000D + 0x8C1C0135, // 0017 GETMET R7 R0 K53 + 0x5C240600, // 0018 MOVE R9 R3 + 0x7C1C0400, // 0019 CALL R7 2 + 0x881C011F, // 001A GETMBR R7 R0 K31 + 0x241C0F07, // 001B GT R7 R7 K7 + 0x781E0001, // 001C JMPF R7 #001F + 0x881C010E, // 001D GETMBR R7 R0 K14 + 0x70020000, // 001E JMP #0020 + 0x4C1C0000, // 001F LDNIL R7 + 0x80040E00, // 0020 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_http +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_send_http, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(send_http), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0xA4062000, // 0000 IMPORT R1 K16 + 0x90020B0C, // 0001 SETMBR R0 K5 K12 + 0x8808013A, // 0002 GETMBR R2 R0 K58 + 0x8C0C0314, // 0003 GETMET R3 R1 K20 + 0x5C140400, // 0004 MOVE R5 R2 + 0x5818003B, // 0005 LDCONST R6 K59 + 0x7C0C0600, // 0006 CALL R3 3 + 0x280C0707, // 0007 GE R3 R3 K7 + 0x780E0002, // 0008 JMPF R3 #000C + 0x000E7802, // 0009 ADD R3 K60 R2 + 0x000C073D, // 000A ADD R3 R3 K61 + 0x5C080600, // 000B MOVE R2 R3 + 0x4C0C0000, // 000C LDNIL R3 + 0x88100116, // 000D GETMBR R4 R0 K22 + 0x4C140000, // 000E LDNIL R5 + 0x1C100805, // 000F EQ R4 R4 R5 + 0x78120007, // 0010 JMPF R4 #0019 + 0x60100018, // 0011 GETGBL R4 G24 + 0x8814013E, // 0012 GETMBR R5 R0 K62 + 0x88180122, // 0013 GETMBR R6 R0 K34 + 0x5C1C0400, // 0014 MOVE R7 R2 + 0x8820013F, // 0015 GETMBR R8 R0 K63 + 0x7C100800, // 0016 CALL R4 4 + 0x5C0C0800, // 0017 MOVE R3 R4 + 0x70020007, // 0018 JMP #0021 + 0x60100018, // 0019 GETGBL R4 G24 + 0x88140140, // 001A GETMBR R5 R0 K64 + 0x88180122, // 001B GETMBR R6 R0 K34 + 0x5C1C0400, // 001C MOVE R7 R2 + 0x8820013F, // 001D GETMBR R8 R0 K63 + 0x88240116, // 001E GETMBR R9 R0 K22 + 0x7C100A00, // 001F CALL R4 5 + 0x5C0C0800, // 0020 MOVE R3 R4 + 0x8C100141, // 0021 GETMET R4 R0 K65 + 0x5C180600, // 0022 MOVE R6 R3 + 0x7C100400, // 0023 CALL R4 2 + 0x6014000C, // 0024 GETGBL R5 G12 + 0x5C180600, // 0025 MOVE R6 R3 + 0x7C140200, // 0026 CALL R5 1 + 0x20140805, // 0027 NE R5 R4 R5 + 0x78160007, // 0028 JMPF R5 #0031 + 0x8C14010D, // 0029 GETMET R5 R0 K13 + 0x7C140200, // 002A CALL R5 1 + 0x5415FFFB, // 002B LDINT R5 -4 + 0x90021405, // 002C SETMBR R0 K10 R5 + 0x5415FFFE, // 002D LDINT R5 -1 + 0x90023E05, // 002E SETMBR R0 K31 R5 + 0x8C140120, // 002F GETMET R5 R0 K32 + 0x7C140200, // 0030 CALL R5 1 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_headers_end +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_headers_end, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_headers_end), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88040106, // 0000 GETMBR R1 R0 K6 + 0x24040307, // 0001 GT R1 R1 K7 + 0x78060005, // 0002 JMPF R1 #0009 + 0x88040106, // 0003 GETMBR R1 R0 K6 + 0x4004030F, // 0004 CONNECT R1 R1 K15 + 0x88080105, // 0005 GETMBR R2 R0 K5 + 0x94040401, // 0006 GETIDX R1 R2 R1 + 0x90020A01, // 0007 SETMBR R0 K5 R1 + 0x90020D07, // 0008 SETMBR R0 K6 K7 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_status_code +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_status_code, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_status_code), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90028401, // 0000 SETMBR R0 K66 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_status_line +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_parse_http_status_line, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(parse_http_status_line), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0xB8060400, // 0000 GETNGBL R1 K2 + 0x8804032D, // 0001 GETMBR R1 R1 K45 + 0x8C040304, // 0002 GETMET R1 R1 K4 + 0x880C0105, // 0003 GETMBR R3 R0 K5 + 0x88100106, // 0004 GETMBR R4 R0 K6 + 0x7C040600, // 0005 CALL R1 3 + 0x78060009, // 0006 JMPF R1 #0011 + 0x94080307, // 0007 GETIDX R2 R1 K7 + 0x90020C02, // 0008 SETMBR R0 K6 R2 + 0x60080009, // 0009 GETGBL R2 G9 + 0x940C0309, // 000A GETIDX R3 R1 K9 + 0x7C080200, // 000B CALL R2 1 + 0x90028402, // 000C SETMBR R0 K66 R2 + 0x90023709, // 000D SETMBR R0 K27 K9 + 0x8C08011D, // 000E GETMET R2 R0 K29 + 0x7C080200, // 000F CALL R2 1 + 0x70020009, // 0010 JMP #001B + 0x6008000C, // 0011 GETGBL R2 G12 + 0x880C0105, // 0012 GETMBR R3 R0 K5 + 0x7C080200, // 0013 CALL R2 1 + 0x540E0063, // 0014 LDINT R3 100 + 0x24080403, // 0015 GT R2 R2 R3 + 0x780A0003, // 0016 JMPF R2 #001B + 0x8C08010D, // 0017 GETMET R2 R0 K13 + 0x7C080200, // 0018 CALL R2 1 + 0x5409FFFB, // 0019 LDINT R2 -4 + 0x90021402, // 001A SETMBR R0 K10 R2 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_timeout +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_event_http_timeout, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(event_http_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: receive +********************************************************************/ +be_local_closure(class_Matter_HTTP_async_receive, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_async, /* shared constants */ + be_str_weak(receive), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x88040143, // 0000 GETMBR R1 R0 K67 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0xB8067000, // 0005 GETNGBL R1 K56 + 0x8C040344, // 0006 GETMET R1 R1 K68 + 0x7C040200, // 0007 CALL R1 1 + 0x88080145, // 0008 GETMBR R2 R0 K69 + 0x04040202, // 0009 SUB R1 R1 R2 + 0x88080134, // 000A GETMBR R2 R0 K52 + 0x24040202, // 000B GT R1 R1 R2 + 0x78060008, // 000C JMPF R1 #0016 + 0x5405FFFC, // 000D LDINT R1 -3 + 0x90021401, // 000E SETMBR R0 K10 R1 + 0x8C04010D, // 000F GETMET R1 R0 K13 + 0x7C040200, // 0010 CALL R1 1 + 0x5405FFFD, // 0011 LDINT R1 -2 + 0x90023E01, // 0012 SETMBR R0 K31 R1 + 0x8C04012A, // 0013 GETMET R1 R0 K42 + 0x7C040200, // 0014 CALL R1 1 + 0x70020018, // 0015 JMP #002F + 0x88040146, // 0016 GETMBR R1 R0 K70 + 0x8C040347, // 0017 GETMET R1 R1 K71 + 0x7C040200, // 0018 CALL R1 1 + 0x58080007, // 0019 LDCONST R2 K7 + 0x240C0307, // 001A GT R3 R1 K7 + 0x780E000E, // 001B JMPF R3 #002B + 0x880C0146, // 001C GETMBR R3 R0 K70 + 0x8C0C0748, // 001D GETMET R3 R3 K72 + 0x7C0C0200, // 001E CALL R3 1 + 0x88100105, // 001F GETMBR R4 R0 K5 + 0x00100803, // 0020 ADD R4 R4 R3 + 0x90020A04, // 0021 SETMBR R0 K5 R4 + 0x6010000C, // 0022 GETGBL R4 G12 + 0x5C140600, // 0023 MOVE R5 R3 + 0x7C100200, // 0024 CALL R4 1 + 0x00080404, // 0025 ADD R2 R2 R4 + 0x88100146, // 0026 GETMBR R4 R0 K70 + 0x8C100947, // 0027 GETMET R4 R4 K71 + 0x7C100200, // 0028 CALL R4 1 + 0x5C040800, // 0029 MOVE R1 R4 + 0x7001FFEE, // 002A JMP #001A + 0x240C0507, // 002B GT R3 R2 K7 + 0x780E0001, // 002C JMPF R3 #002F + 0x8C0C0149, // 002D GETMET R3 R0 K73 + 0x7C0C0200, // 002E CALL R3 1 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_HTTP_async +********************************************************************/ +extern const bclass be_class_Matter_TCP_async; +be_local_class(Matter_HTTP_async, + 10, + &be_class_Matter_TCP_async, + be_nested_map(39, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(response, -1), be_const_var(2) }, + { be_const_key_weak(parse_http_payload, -1), be_const_closure(class_Matter_HTTP_async_parse_http_payload_closure) }, + { be_const_key_weak(receive, 10), be_const_closure(class_Matter_HTTP_async_receive_closure) }, + { be_const_key_weak(event_http_finished, 22), be_const_closure(class_Matter_HTTP_async_event_http_finished_closure) }, + { be_const_key_weak(HTTP_BODY_REGEX, -1), be_nested_str_weak(_X0D_X0A) }, + { be_const_key_weak(HTTP_GET_AUTH, -1), be_nested_str_weak(GET_X20_X25s_X20HTTP_X2F1_X2E1_X0D_X0AHost_X20_X25s_X3A_X25s_X0D_X0AAuthorization_X3A_X20Basic_X20_X25s_X0D_X0AConnection_X3A_X20close_X0D_X0A_X0D_X0A) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_HTTP_async_init_closure) }, + { be_const_key_weak(response_offset, 23), be_const_var(3) }, + { be_const_key_weak(parse_http_response, -1), be_const_closure(class_Matter_HTTP_async_parse_http_response_closure) }, + { be_const_key_weak(event_refused, -1), be_const_closure(class_Matter_HTTP_async_event_refused_closure) }, + { be_const_key_weak(event_http_timeout, -1), be_const_closure(class_Matter_HTTP_async_event_http_timeout_closure) }, + { be_const_key_weak(HTTP_STATUS_REGEX, -1), be_nested_str_weak(HTTP_X2F1_X5C_X2E_X5B0_X2D1_X5D_X20_X28_X5Cd_X2B_X29_X20_X2E_X2A_X3F_X0D_X0A) }, + { be_const_key_weak(cmd, -1), be_const_var(1) }, + { be_const_key_weak(event_http_status_code, -1), be_const_closure(class_Matter_HTTP_async_event_http_status_code_closure) }, + { be_const_key_weak(payload, -1), be_const_var(5) }, + { be_const_key_weak(is_chunked, -1), be_const_var(8) }, + { be_const_key_weak(HTTP_GET, -1), be_nested_str_weak(GET_X20_X25s_X20HTTP_X2F1_X2E1_X0D_X0AHost_X20_X25s_X3A_X25s_X0D_X0AConnection_X3A_X20close_X0D_X0A_X0D_X0A) }, + { be_const_key_weak(chunk_size, 16), be_const_var(9) }, + { be_const_key_weak(auth, 35), be_const_var(0) }, + { be_const_key_weak(parse_http_headers, 26), be_const_closure(class_Matter_HTTP_async_parse_http_headers_closure) }, + { be_const_key_weak(event_available, -1), be_const_closure(class_Matter_HTTP_async_event_available_closure) }, + { be_const_key_weak(status_code, 11), be_const_var(4) }, + { be_const_key_weak(phase, 36), be_const_var(7) }, + { be_const_key_weak(event_http_headers_end, -1), be_const_closure(class_Matter_HTTP_async_event_http_headers_end_closure) }, + { be_const_key_weak(reset, 31), be_const_closure(class_Matter_HTTP_async_reset_closure) }, + { be_const_key_weak(begin_sync, -1), be_const_closure(class_Matter_HTTP_async_begin_sync_closure) }, + { be_const_key_weak(send_http, -1), be_const_closure(class_Matter_HTTP_async_send_http_closure) }, + { be_const_key_weak(event_timeout, 28), be_const_closure(class_Matter_HTTP_async_event_timeout_closure) }, + { be_const_key_weak(HTTP_CHUNK_REGEX, -1), be_nested_str_weak(_X0D_X0A_X28_X5BA_X2DFa_X2Df0_X2D9_X5D_X2B_X29_X5B_X20_X09_X5D_X2A_X2E_X2A_X3F_X0D_X0A) }, + { be_const_key_weak(compile_re, 7), be_const_closure(class_Matter_HTTP_async_compile_re_closure) }, + { be_const_key_weak(HTTP_HEADER_REGEX, -1), be_nested_str_weak(_X28_X5BA_X2DZa_X2Dz0_X2D9_X2D_X5D_X2B_X29_X3A_X20_X28_X2E_X2A_X3F_X29_X0D_X0A) }, + { be_const_key_weak(event_closed, 30), be_const_closure(class_Matter_HTTP_async_event_closed_closure) }, + { be_const_key_weak(event_http_header, 14), be_const_closure(class_Matter_HTTP_async_event_http_header_closure) }, + { be_const_key_weak(event_http_failed, 13), be_const_closure(class_Matter_HTTP_async_event_http_failed_closure) }, + { be_const_key_weak(parse_http_status_line, -1), be_const_closure(class_Matter_HTTP_async_parse_http_status_line_closure) }, + { be_const_key_weak(event_established, -1), be_const_closure(class_Matter_HTTP_async_event_established_closure) }, + { be_const_key_weak(begin, 4), be_const_closure(class_Matter_HTTP_async_begin_closure) }, + { be_const_key_weak(http_status, -1), be_const_var(6) }, + { be_const_key_weak(SPINLOCK, 2), be_const_int(5) }, + })), + be_str_weak(Matter_HTTP_async) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_remote.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_remote.h new file mode 100644 index 000000000..aa7f30ea2 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_HTTP_remote.h @@ -0,0 +1,1261 @@ +/* Solidification of Matter_HTTP_remote.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_HTTP_remote' ktab size: 83, total: 161 (saved 624 bytes) +static const bvalue be_ktab_class_Matter_HTTP_remote[83] = { + /* K0 */ be_nested_str_weak(probe_update_time_map), + /* K1 */ be_nested_str_weak(contains), + /* K2 */ be_nested_str_weak(probe_next_timestamp_map), + /* K3 */ be_nested_str_weak(matter), + /* K4 */ be_nested_str_weak(jitter), + /* K5 */ be_nested_str_weak(add_async_cb), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(async_cb_map), + /* K8 */ be_nested_str_weak(keys), + /* K9 */ be_nested_str_weak(current_cmd), + /* K10 */ be_nested_str_weak(stop_iteration), + /* K11 */ be_nested_str_weak(info), + /* K12 */ be_nested_str_weak(find), + /* K13 */ be_nested_str_weak(DeviceName), + /* K14 */ be_nested_str_weak(Tasmota), + /* K15 */ be_nested_str_weak(name), + /* K16 */ be_nested_str_weak(remove), + /* K17 */ be_nested_str_weak(log), + /* K18 */ be_nested_str_weak(MTR_X3A_X20update_X20_X27_X25s_X27_X20name_X3D_X27_X25s_X27), + /* K19 */ be_nested_str_weak(addr), + /* K20 */ be_const_int(3), + /* K21 */ be_nested_str_weak(change_schedule), + /* K22 */ be_nested_str_weak(UPDATE_CMD0), + /* K23 */ be_nested_str_weak(UPDATE_TIME2), + /* K24 */ be_const_int(2), + /* K25 */ be_nested_str_weak(Version), + /* K26 */ be_nested_str_weak(Hardware), + /* K27 */ be_nested_str_weak(version), + /* K28 */ be_nested_str_weak(MTR_X3A_X20update_X20_X27_X25s_X27_X20version_X3D_X27_X25s_X27), + /* K29 */ be_nested_str_weak(hardware), + /* K30 */ be_nested_str_weak(MTR_X3A_X20update_X20_X27_X25s_X27_X20hardware_X3D_X27_X25s_X27), + /* K31 */ be_nested_str_weak(UPDATE_CMD2), + /* K32 */ be_nested_str_weak(Mac), + /* K33 */ be_nested_str_weak(mac), + /* K34 */ be_nested_str_weak(MTR_X3A_X20update_X20_X27_X25s_X27_X20mac_X3D_X27_X25s_X27), + /* K35 */ be_nested_str_weak(UPDATE_CMD5), + /* K36 */ be_nested_str_weak(info_changed), + /* K37 */ be_nested_str_weak(reachable), + /* K38 */ be_nested_str_weak(reachable_utc), + /* K39 */ be_nested_str_weak(tasmota), + /* K40 */ be_nested_str_weak(rtc_utc), + /* K41 */ be_nested_str_weak(payload), + /* K42 */ be_nested_str_weak(nil), + /* K43 */ be_nested_str_weak(_X2E_X2E_X2E), + /* K44 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X2Dresp_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27), + /* K45 */ be_nested_str_weak(millis), + /* K46 */ be_nested_str_weak(time_start), + /* K47 */ be_nested_str_weak(dispatch_cb), + /* K48 */ be_nested_str_weak(http_status), + /* K49 */ be_nested_str_weak(string), + /* K50 */ be_nested_str_weak(webserver), + /* K51 */ be_nested_str_weak(wifi), + /* K52 */ be_nested_str_weak(up), + /* K53 */ be_nested_str_weak(eth), + /* K54 */ be_nested_str_weak(_X2Fcm_X3Fcmnd_X3D), + /* K55 */ be_nested_str_weak(tr), + /* K56 */ be_nested_str_weak(_X20), + /* K57 */ be_nested_str_weak(_X2B), + /* K58 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27), + /* K59 */ be_nested_str_weak(port), + /* K60 */ be_nested_str_weak(begin), + /* K61 */ be_nested_str_weak(device), + /* K62 */ be_nested_str_weak(save_param), + /* K63 */ be_nested_str_weak(seconds_to_dhm), + /* K64 */ be_nested_str_weak(init), + /* K65 */ be_nested_str_weak(add_schedule), + /* K66 */ be_nested_str_weak(UPDATE_TIME), + /* K67 */ be_nested_str_weak(device_is_alive), + /* K68 */ be_nested_str_weak(json), + /* K69 */ be_nested_str_weak(load), + /* K70 */ be_nested_str_weak(STATUS_PREFIX), + /* K71 */ be_const_int(1), + /* K72 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X20failed_X20to_X20parse_X20JSON_X20response_X20payload_X3D_X25s), + /* K73 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27), + /* K74 */ be_nested_str_weak(begin_sync), + /* K75 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X2Dresp_X20_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27), + /* K76 */ be_nested_str_weak(time_reached), + /* K77 */ be_nested_str_weak(tcp_connected), + /* K78 */ be_nested_str_weak(probe_async), + /* K79 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20failed), + /* K80 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20timeout_X20http_status_X3D_X25i_X20phase_X3D_X25i_X20tcp_status_X3D_X25i_X20size_payload_X3D_X25i), + /* K81 */ be_nested_str_weak(phase), + /* K82 */ be_nested_str_weak(status), +}; + + +extern const bclass be_class_Matter_HTTP_remote; + +/******************************************************************** +** Solidified function: add_schedule +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_add_schedule, /* name */ + be_nested_proto( + 8, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(add_schedule), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x8C100901, // 0001 GETMET R4 R4 K1 + 0x5C180200, // 0002 MOVE R6 R1 + 0x7C100400, // 0003 CALL R4 2 + 0x78120003, // 0004 JMPF R4 #0009 + 0x88100100, // 0005 GETMBR R4 R0 K0 + 0x94100801, // 0006 GETIDX R4 R4 R1 + 0x14100404, // 0007 LT R4 R2 R4 + 0x78120007, // 0008 JMPF R4 #0011 + 0x88100100, // 0009 GETMBR R4 R0 K0 + 0x98100202, // 000A SETIDX R4 R1 R2 + 0x88100102, // 000B GETMBR R4 R0 K2 + 0xB8160600, // 000C GETNGBL R5 K3 + 0x8C140B04, // 000D GETMET R5 R5 K4 + 0x5C1C0400, // 000E MOVE R7 R2 + 0x7C140400, // 000F CALL R5 2 + 0x98100205, // 0010 SETIDX R4 R1 R5 + 0x4C100000, // 0011 LDNIL R4 + 0x20100604, // 0012 NE R4 R3 R4 + 0x78120003, // 0013 JMPF R4 #0018 + 0x8C100105, // 0014 GETMET R4 R0 K5 + 0x5C180600, // 0015 MOVE R6 R3 + 0x5C1C0200, // 0016 MOVE R7 R1 + 0x7C100600, // 0017 CALL R4 3 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dispatch_cb +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_dispatch_cb, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(dispatch_cb), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x580C0006, // 0000 LDCONST R3 K6 + 0x60100010, // 0001 GETGBL R4 G16 + 0x88140107, // 0002 GETMBR R5 R0 K7 + 0x8C140B08, // 0003 GETMET R5 R5 K8 + 0x7C140200, // 0004 CALL R5 1 + 0x7C100200, // 0005 CALL R4 1 + 0xA802000F, // 0006 EXBLK 0 #0017 + 0x5C140800, // 0007 MOVE R5 R4 + 0x7C140000, // 0008 CALL R5 0 + 0x88180107, // 0009 GETMBR R6 R0 K7 + 0x94180C05, // 000A GETIDX R6 R6 R5 + 0x881C0109, // 000B GETMBR R7 R0 K9 + 0x1C1C0C07, // 000C EQ R7 R6 R7 + 0x741E0002, // 000D JMPT R7 #0011 + 0x4C1C0000, // 000E LDNIL R7 + 0x1C1C0C07, // 000F EQ R7 R6 R7 + 0x781E0004, // 0010 JMPF R7 #0016 + 0x5C1C0A00, // 0011 MOVE R7 R5 + 0x5C200200, // 0012 MOVE R8 R1 + 0x5C240400, // 0013 MOVE R9 R2 + 0x88280109, // 0014 GETMBR R10 R0 K9 + 0x7C1C0600, // 0015 CALL R7 3 + 0x7001FFEF, // 0016 JMP #0007 + 0x5810000A, // 0017 LDCONST R4 K10 + 0xAC100200, // 0018 CATCH R4 1 0 + 0xB0080000, // 0019 RAISE 2 R0 R0 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_info +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_get_info, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(get_info), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status_http +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_parse_status_http, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(parse_status_http), + &be_const_str_solidified, + ( &(const binstruction[141]) { /* code */ + 0x500C0000, // 0000 LDBOOL R3 0 0 + 0x1C100506, // 0001 EQ R4 R2 K6 + 0x78120023, // 0002 JMPF R4 #0027 + 0x8C10030C, // 0003 GETMET R4 R1 K12 + 0x5818000D, // 0004 LDCONST R6 K13 + 0x7C100400, // 0005 CALL R4 2 + 0x1C14090E, // 0006 EQ R5 R4 K14 + 0x78160000, // 0007 JMPF R5 #0009 + 0x4C100000, // 0008 LDNIL R4 + 0x8814010B, // 0009 GETMBR R5 R0 K11 + 0x8C140B0C, // 000A GETMET R5 R5 K12 + 0x581C000F, // 000B LDCONST R7 K15 + 0x7C140400, // 000C CALL R5 2 + 0x20140A04, // 000D NE R5 R5 R4 + 0x78160012, // 000E JMPF R5 #0022 + 0x4C140000, // 000F LDNIL R5 + 0x20140805, // 0010 NE R5 R4 R5 + 0x78160002, // 0011 JMPF R5 #0015 + 0x8814010B, // 0012 GETMBR R5 R0 K11 + 0x98161E04, // 0013 SETIDX R5 K15 R4 + 0x70020003, // 0014 JMP #0019 + 0x8814010B, // 0015 GETMBR R5 R0 K11 + 0x8C140B10, // 0016 GETMET R5 R5 K16 + 0x581C000F, // 0017 LDCONST R7 K15 + 0x7C140400, // 0018 CALL R5 2 + 0xB8162200, // 0019 GETNGBL R5 K17 + 0x60180018, // 001A GETGBL R6 G24 + 0x581C0012, // 001B LDCONST R7 K18 + 0x88200113, // 001C GETMBR R8 R0 K19 + 0x5C240800, // 001D MOVE R9 R4 + 0x7C180600, // 001E CALL R6 3 + 0x581C0014, // 001F LDCONST R7 K20 + 0x7C140400, // 0020 CALL R5 2 + 0x500C0200, // 0021 LDBOOL R3 1 0 + 0x8C140115, // 0022 GETMET R5 R0 K21 + 0x881C0116, // 0023 GETMBR R7 R0 K22 + 0x88200117, // 0024 GETMBR R8 R0 K23 + 0x7C140600, // 0025 CALL R5 3 + 0x70020061, // 0026 JMP #0089 + 0x1C100518, // 0027 EQ R4 R2 K24 + 0x7812003C, // 0028 JMPF R4 #0066 + 0x8C10030C, // 0029 GETMET R4 R1 K12 + 0x58180019, // 002A LDCONST R6 K25 + 0x7C100400, // 002B CALL R4 2 + 0x8C14030C, // 002C GETMET R5 R1 K12 + 0x581C001A, // 002D LDCONST R7 K26 + 0x7C140400, // 002E CALL R5 2 + 0x8818010B, // 002F GETMBR R6 R0 K11 + 0x8C180D0C, // 0030 GETMET R6 R6 K12 + 0x5820001B, // 0031 LDCONST R8 K27 + 0x7C180400, // 0032 CALL R6 2 + 0x20180C04, // 0033 NE R6 R6 R4 + 0x781A0012, // 0034 JMPF R6 #0048 + 0x4C180000, // 0035 LDNIL R6 + 0x20180806, // 0036 NE R6 R4 R6 + 0x781A0002, // 0037 JMPF R6 #003B + 0x8818010B, // 0038 GETMBR R6 R0 K11 + 0x981A3604, // 0039 SETIDX R6 K27 R4 + 0x70020003, // 003A JMP #003F + 0x8818010B, // 003B GETMBR R6 R0 K11 + 0x8C180D10, // 003C GETMET R6 R6 K16 + 0x5820001B, // 003D LDCONST R8 K27 + 0x7C180400, // 003E CALL R6 2 + 0xB81A2200, // 003F GETNGBL R6 K17 + 0x601C0018, // 0040 GETGBL R7 G24 + 0x5820001C, // 0041 LDCONST R8 K28 + 0x88240113, // 0042 GETMBR R9 R0 K19 + 0x5C280800, // 0043 MOVE R10 R4 + 0x7C1C0600, // 0044 CALL R7 3 + 0x58200014, // 0045 LDCONST R8 K20 + 0x7C180400, // 0046 CALL R6 2 + 0x500C0200, // 0047 LDBOOL R3 1 0 + 0x8818010B, // 0048 GETMBR R6 R0 K11 + 0x8C180D0C, // 0049 GETMET R6 R6 K12 + 0x5820001D, // 004A LDCONST R8 K29 + 0x7C180400, // 004B CALL R6 2 + 0x20180C05, // 004C NE R6 R6 R5 + 0x781A0012, // 004D JMPF R6 #0061 + 0x4C180000, // 004E LDNIL R6 + 0x20180A06, // 004F NE R6 R5 R6 + 0x781A0002, // 0050 JMPF R6 #0054 + 0x8818010B, // 0051 GETMBR R6 R0 K11 + 0x981A3A05, // 0052 SETIDX R6 K29 R5 + 0x70020003, // 0053 JMP #0058 + 0x8818010B, // 0054 GETMBR R6 R0 K11 + 0x8C180D10, // 0055 GETMET R6 R6 K16 + 0x5820001D, // 0056 LDCONST R8 K29 + 0x7C180400, // 0057 CALL R6 2 + 0xB81A2200, // 0058 GETNGBL R6 K17 + 0x601C0018, // 0059 GETGBL R7 G24 + 0x5820001E, // 005A LDCONST R8 K30 + 0x88240113, // 005B GETMBR R9 R0 K19 + 0x5C280A00, // 005C MOVE R10 R5 + 0x7C1C0600, // 005D CALL R7 3 + 0x58200014, // 005E LDCONST R8 K20 + 0x7C180400, // 005F CALL R6 2 + 0x500C0200, // 0060 LDBOOL R3 1 0 + 0x8C180115, // 0061 GETMET R6 R0 K21 + 0x8820011F, // 0062 GETMBR R8 R0 K31 + 0x88240117, // 0063 GETMBR R9 R0 K23 + 0x7C180600, // 0064 CALL R6 3 + 0x70020022, // 0065 JMP #0089 + 0x54120004, // 0066 LDINT R4 5 + 0x1C100404, // 0067 EQ R4 R2 R4 + 0x7812001F, // 0068 JMPF R4 #0089 + 0x8C10030C, // 0069 GETMET R4 R1 K12 + 0x58180020, // 006A LDCONST R6 K32 + 0x7C100400, // 006B CALL R4 2 + 0x8814010B, // 006C GETMBR R5 R0 K11 + 0x8C140B0C, // 006D GETMET R5 R5 K12 + 0x581C0021, // 006E LDCONST R7 K33 + 0x7C140400, // 006F CALL R5 2 + 0x20140A04, // 0070 NE R5 R5 R4 + 0x78160012, // 0071 JMPF R5 #0085 + 0x4C140000, // 0072 LDNIL R5 + 0x20140805, // 0073 NE R5 R4 R5 + 0x78160002, // 0074 JMPF R5 #0078 + 0x8814010B, // 0075 GETMBR R5 R0 K11 + 0x98164204, // 0076 SETIDX R5 K33 R4 + 0x70020003, // 0077 JMP #007C + 0x8814010B, // 0078 GETMBR R5 R0 K11 + 0x8C140B10, // 0079 GETMET R5 R5 K16 + 0x581C0021, // 007A LDCONST R7 K33 + 0x7C140400, // 007B CALL R5 2 + 0xB8162200, // 007C GETNGBL R5 K17 + 0x60180018, // 007D GETGBL R6 G24 + 0x581C0022, // 007E LDCONST R7 K34 + 0x88200113, // 007F GETMBR R8 R0 K19 + 0x5C240800, // 0080 MOVE R9 R4 + 0x7C180600, // 0081 CALL R6 3 + 0x581C0014, // 0082 LDCONST R7 K20 + 0x7C140400, // 0083 CALL R5 2 + 0x500C0200, // 0084 LDBOOL R3 1 0 + 0x8C140115, // 0085 GETMET R5 R0 K21 + 0x881C0123, // 0086 GETMBR R7 R0 K35 + 0x88200117, // 0087 GETMBR R8 R0 K23 + 0x7C140600, // 0088 CALL R5 3 + 0x780E0001, // 0089 JMPF R3 #008C + 0x8C100124, // 008A GETMET R4 R0 K36 + 0x7C100200, // 008B CALL R4 1 + 0x80000000, // 008C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_info +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_set_info, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(set_info), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021601, // 0000 SETMBR R0 K11 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: device_is_alive +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_device_is_alive, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(device_is_alive), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x78060006, // 0000 JMPF R1 #0008 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x90024A02, // 0002 SETMBR R0 K37 R2 + 0xB80A4E00, // 0003 GETNGBL R2 K39 + 0x8C080528, // 0004 GETMET R2 R2 K40 + 0x7C080200, // 0005 CALL R2 1 + 0x90024C02, // 0006 SETMBR R0 K38 R2 + 0x70020001, // 0007 JMP #000A + 0x50080000, // 0008 LDBOOL R2 0 0 + 0x90024A02, // 0009 SETMBR R0 K37 R2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_finished +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_event_http_finished, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(event_http_finished), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0x88040129, // 0005 GETMBR R1 R0 K41 + 0x4C080000, // 0006 LDNIL R2 + 0x20040202, // 0007 NE R1 R1 R2 + 0x78060001, // 0008 JMPF R1 #000B + 0x88040129, // 0009 GETMBR R1 R0 K41 + 0x70020000, // 000A JMP #000C + 0x5804002A, // 000B LDCONST R1 K42 + 0x6008000C, // 000C GETGBL R2 G12 + 0x5C0C0200, // 000D MOVE R3 R1 + 0x7C080200, // 000E CALL R2 1 + 0x540E001D, // 000F LDINT R3 30 + 0x24080403, // 0010 GT R2 R2 R3 + 0x780A0004, // 0011 JMPF R2 #0017 + 0x540A001C, // 0012 LDINT R2 29 + 0x400A0C02, // 0013 CONNECT R2 K6 R2 + 0x94080202, // 0014 GETIDX R2 R1 R2 + 0x0008052B, // 0015 ADD R2 R2 K43 + 0x5C040400, // 0016 MOVE R1 R2 + 0xB80A2200, // 0017 GETNGBL R2 K17 + 0x600C0018, // 0018 GETGBL R3 G24 + 0x5810002C, // 0019 LDCONST R4 K44 + 0xB8164E00, // 001A GETNGBL R5 K39 + 0x8C140B2D, // 001B GETMET R5 R5 K45 + 0x7C140200, // 001C CALL R5 1 + 0x8818012E, // 001D GETMBR R6 R0 K46 + 0x04140A06, // 001E SUB R5 R5 R6 + 0x88180113, // 001F GETMBR R6 R0 K19 + 0x601C000C, // 0020 GETGBL R7 G12 + 0x88200129, // 0021 GETMBR R8 R0 K41 + 0x7C1C0200, // 0022 CALL R7 1 + 0x5C200200, // 0023 MOVE R8 R1 + 0x7C0C0A00, // 0024 CALL R3 5 + 0x58100014, // 0025 LDCONST R4 K20 + 0x7C080400, // 0026 CALL R2 2 + 0x8C08012F, // 0027 GETMET R2 R0 K47 + 0x88100130, // 0028 GETMBR R4 R0 K48 + 0x88140129, // 0029 GETMBR R5 R0 K41 + 0x7C080600, // 002A CALL R2 3 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: probe_async +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_probe_async, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(probe_async), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xA40A6200, // 0000 IMPORT R2 K49 + 0xA40E6400, // 0001 IMPORT R3 K50 + 0xB8124E00, // 0002 GETNGBL R4 K39 + 0x8C100933, // 0003 GETMET R4 R4 K51 + 0x7C100200, // 0004 CALL R4 1 + 0x94100934, // 0005 GETIDX R4 R4 K52 + 0x74120006, // 0006 JMPT R4 #000E + 0xB8124E00, // 0007 GETNGBL R4 K39 + 0x8C100935, // 0008 GETMET R4 R4 K53 + 0x7C100200, // 0009 CALL R4 1 + 0x94100934, // 000A GETIDX R4 R4 K52 + 0x74120001, // 000B JMPT R4 #000E + 0x4C100000, // 000C LDNIL R4 + 0x80040800, // 000D RET 1 R4 + 0x90021201, // 000E SETMBR R0 K9 R1 + 0x8C100537, // 000F GETMET R4 R2 K55 + 0x5C180200, // 0010 MOVE R6 R1 + 0x581C0038, // 0011 LDCONST R7 K56 + 0x58200039, // 0012 LDCONST R8 K57 + 0x7C100800, // 0013 CALL R4 4 + 0x00126C04, // 0014 ADD R4 K54 R4 + 0xB8162200, // 0015 GETNGBL R5 K17 + 0x60180018, // 0016 GETGBL R6 G24 + 0x581C003A, // 0017 LDCONST R7 K58 + 0x88200113, // 0018 GETMBR R8 R0 K19 + 0x8824013B, // 0019 GETMBR R9 R0 K59 + 0x5C280800, // 001A MOVE R10 R4 + 0x7C180800, // 001B CALL R6 4 + 0x541E0003, // 001C LDINT R7 4 + 0x7C140400, // 001D CALL R5 2 + 0x8C14013C, // 001E GETMET R5 R0 K60 + 0x5C1C0800, // 001F MOVE R7 R4 + 0x7C140400, // 0020 CALL R5 2 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: info_changed +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_info_changed, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(info_changed), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8804013D, // 0000 GETMBR R1 R0 K61 + 0x8C04033E, // 0001 GETMET R1 R1 K62 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_last_seen +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_web_last_seen, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(web_last_seen), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xA4066400, // 0000 IMPORT R1 K50 + 0x5409FFFE, // 0001 LDINT R2 -1 + 0x880C0126, // 0002 GETMBR R3 R0 K38 + 0x4C100000, // 0003 LDNIL R4 + 0x200C0604, // 0004 NE R3 R3 R4 + 0x780E0005, // 0005 JMPF R3 #000C + 0xB80E4E00, // 0006 GETNGBL R3 K39 + 0x8C0C0728, // 0007 GETMET R3 R3 K40 + 0x7C0C0200, // 0008 CALL R3 1 + 0x88100126, // 0009 GETMBR R4 R0 K38 + 0x040C0604, // 000A SUB R3 R3 R4 + 0x5C080600, // 000B MOVE R2 R3 + 0xB80E0600, // 000C GETNGBL R3 K3 + 0x8C0C073F, // 000D GETMET R3 R3 K63 + 0x5C140400, // 000E MOVE R5 R2 + 0x7C0C0400, // 000F CALL R3 2 + 0x80040600, // 0010 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_init, /* name */ + be_nested_proto( + 11, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 3]) { + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(parse_status_response_and_call_method), + /* K1 */ be_nested_str_weak(parse_status_http), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x68200000, // 0005 GETUPV R8 U0 + 0x68240000, // 0006 GETUPV R9 U0 + 0x88241301, // 0007 GETMBR R9 R9 K1 + 0x7C0C0C00, // 0008 CALL R3 6 + 0x80040600, // 0009 RET 1 R3 + }) + ), + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(parse_status_response_and_call_method), + /* K1 */ be_nested_str_weak(parse_status_http), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x68200000, // 0005 GETUPV R8 U0 + 0x68240000, // 0006 GETUPV R9 U0 + 0x88241301, // 0007 GETMBR R9 R9 K1 + 0x7C0C0C00, // 0008 CALL R3 6 + 0x80040600, // 0009 RET 1 R3 + }) + ), + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(parse_status_response_and_call_method), + /* K1 */ be_nested_str_weak(parse_status_http), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x68200000, // 0005 GETUPV R8 U0 + 0x68240000, // 0006 GETUPV R9 U0 + 0x88241301, // 0007 GETMBR R9 R9 K1 + 0x7C0C0C00, // 0008 CALL R3 6 + 0x80040600, // 0009 RET 1 R3 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x90027A01, // 0000 SETMBR R0 K61 R1 + 0x60140013, // 0001 GETGBL R5 G19 + 0x7C140000, // 0002 CALL R5 0 + 0x90020005, // 0003 SETMBR R0 K0 R5 + 0x60140013, // 0004 GETGBL R5 G19 + 0x7C140000, // 0005 CALL R5 0 + 0x90020405, // 0006 SETMBR R0 K2 R5 + 0x60140013, // 0007 GETGBL R5 G19 + 0x7C140000, // 0008 CALL R5 0 + 0x90020E05, // 0009 SETMBR R0 K7 R5 + 0x4C140000, // 000A LDNIL R5 + 0x90021205, // 000B SETMBR R0 K9 R5 + 0x50140000, // 000C LDBOOL R5 0 0 + 0x90024A05, // 000D SETMBR R0 K37 R5 + 0x60140003, // 000E GETGBL R5 G3 + 0x5C180000, // 000F MOVE R6 R0 + 0x7C140200, // 0010 CALL R5 1 + 0x8C140B40, // 0011 GETMET R5 R5 K64 + 0x5C1C0400, // 0012 MOVE R7 R2 + 0x5422004F, // 0013 LDINT R8 80 + 0x5C240600, // 0014 MOVE R9 R3 + 0x5C280800, // 0015 MOVE R10 R4 + 0x7C140A00, // 0016 CALL R5 5 + 0x60140013, // 0017 GETGBL R5 G19 + 0x7C140000, // 0018 CALL R5 0 + 0x90021605, // 0019 SETMBR R0 K11 R5 + 0x8814013D, // 001A GETMBR R5 R0 K61 + 0x7816000E, // 001B JMPF R5 #002B + 0x8C140141, // 001C GETMET R5 R0 K65 + 0x881C0116, // 001D GETMBR R7 R0 K22 + 0x88200142, // 001E GETMBR R8 R0 K66 + 0x84240000, // 001F CLOSURE R9 P0 + 0x7C140800, // 0020 CALL R5 4 + 0x8C140141, // 0021 GETMET R5 R0 K65 + 0x881C011F, // 0022 GETMBR R7 R0 K31 + 0x88200142, // 0023 GETMBR R8 R0 K66 + 0x84240001, // 0024 CLOSURE R9 P1 + 0x7C140800, // 0025 CALL R5 4 + 0x8C140141, // 0026 GETMET R5 R0 K65 + 0x881C0123, // 0027 GETMBR R7 R0 K35 + 0x88200142, // 0028 GETMBR R8 R0 K66 + 0x84240002, // 0029 CLOSURE R9 P2 + 0x7C140800, // 002A CALL R5 4 + 0xA0000000, // 002B CLOSE R0 + 0x80000000, // 002C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: change_schedule +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_change_schedule, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(change_schedule), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x8C0C0701, // 0001 GETMET R3 R3 K1 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x780E0007, // 0004 JMPF R3 #000D + 0x880C0100, // 0005 GETMBR R3 R0 K0 + 0x980C0202, // 0006 SETIDX R3 R1 R2 + 0x880C0102, // 0007 GETMBR R3 R0 K2 + 0xB8120600, // 0008 GETNGBL R4 K3 + 0x8C100904, // 0009 GETMET R4 R4 K4 + 0x5C180400, // 000A MOVE R6 R2 + 0x7C100400, // 000B CALL R4 2 + 0x980C0204, // 000C SETIDX R3 R1 R4 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status_response_and_call_method +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_parse_status_response_and_call_method, /* name */ + be_nested_proto( + 14, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(parse_status_response_and_call_method), + &be_const_str_solidified, + ( &(const binstruction[57]) { /* code */ + 0x4C180000, // 0000 LDNIL R6 + 0x20180206, // 0001 NE R6 R1 R6 + 0x781A0034, // 0002 JMPF R6 #0038 + 0x24180306, // 0003 GT R6 R1 K6 + 0x781A0032, // 0004 JMPF R6 #0038 + 0x8C180143, // 0005 GETMET R6 R0 K67 + 0x50200200, // 0006 LDBOOL R8 1 0 + 0x7C180400, // 0007 CALL R6 2 + 0x5C180400, // 0008 MOVE R6 R2 + 0x601C0004, // 0009 GETGBL R7 G4 + 0x5C200C00, // 000A MOVE R8 R6 + 0x7C1C0200, // 000B CALL R7 1 + 0x1C1C0F31, // 000C EQ R7 R7 K49 + 0x781E0004, // 000D JMPF R7 #0013 + 0xA41E8800, // 000E IMPORT R7 K68 + 0x8C200F45, // 000F GETMET R8 R7 K69 + 0x5C280C00, // 0010 MOVE R10 R6 + 0x7C200400, // 0011 CALL R8 2 + 0x5C181000, // 0012 MOVE R6 R8 + 0x4C1C0000, // 0013 LDNIL R7 + 0x4C200000, // 0014 LDNIL R8 + 0x20200C08, // 0015 NE R8 R6 R8 + 0x78220019, // 0016 JMPF R8 #0031 + 0x58200006, // 0017 LDCONST R8 K6 + 0x88240146, // 0018 GETMBR R9 R0 K70 + 0x6028000C, // 0019 GETGBL R10 G12 + 0x5C2C1200, // 001A MOVE R11 R9 + 0x7C280200, // 001B CALL R10 1 + 0x1428100A, // 001C LT R10 R8 R10 + 0x782A000C, // 001D JMPF R10 #002B + 0x94281208, // 001E GETIDX R10 R9 R8 + 0x4C2C0000, // 001F LDNIL R11 + 0x202C140B, // 0020 NE R11 R10 R11 + 0x782E0006, // 0021 JMPF R11 #0029 + 0x8C2C0D01, // 0022 GETMET R11 R6 K1 + 0x5C341400, // 0023 MOVE R13 R10 + 0x7C2C0400, // 0024 CALL R11 2 + 0x782E0002, // 0025 JMPF R11 #0029 + 0x94180C0A, // 0026 GETIDX R6 R6 R10 + 0x5C1C1000, // 0027 MOVE R7 R8 + 0x70020001, // 0028 JMP #002B + 0x00201147, // 0029 ADD R8 R8 K71 + 0x7001FFED, // 002A JMP #0019 + 0x5C280A00, // 002B MOVE R10 R5 + 0x5C2C0800, // 002C MOVE R11 R4 + 0x5C300C00, // 002D MOVE R12 R6 + 0x5C340E00, // 002E MOVE R13 R7 + 0x7C280600, // 002F CALL R10 3 + 0x70020006, // 0030 JMP #0038 + 0xB8222200, // 0031 GETNGBL R8 K17 + 0x60240018, // 0032 GETGBL R9 G24 + 0x58280048, // 0033 LDCONST R10 K72 + 0x5C2C0400, // 0034 MOVE R11 R2 + 0x7C240400, // 0035 CALL R9 2 + 0x58280014, // 0036 LDCONST R10 K20 + 0x7C200400, // 0037 CALL R8 2 + 0x80000000, // 0038 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: call_sync +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_call_sync, /* name */ + be_nested_proto( + 15, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(call_sync), + &be_const_str_solidified, + ( &(const binstruction[70]) { /* code */ + 0xA40E6200, // 0000 IMPORT R3 K49 + 0xA4126400, // 0001 IMPORT R4 K50 + 0xB8164E00, // 0002 GETNGBL R5 K39 + 0x8C140B33, // 0003 GETMET R5 R5 K51 + 0x7C140200, // 0004 CALL R5 1 + 0x94140B34, // 0005 GETIDX R5 R5 K52 + 0x74160006, // 0006 JMPT R5 #000E + 0xB8164E00, // 0007 GETNGBL R5 K39 + 0x8C140B35, // 0008 GETMET R5 R5 K53 + 0x7C140200, // 0009 CALL R5 1 + 0x94140B34, // 000A GETIDX R5 R5 K52 + 0x74160001, // 000B JMPT R5 #000E + 0x4C140000, // 000C LDNIL R5 + 0x80040A00, // 000D RET 1 R5 + 0x4C140000, // 000E LDNIL R5 + 0x90021205, // 000F SETMBR R0 K9 R5 + 0x8C140737, // 0010 GETMET R5 R3 K55 + 0x5C1C0200, // 0011 MOVE R7 R1 + 0x58200038, // 0012 LDCONST R8 K56 + 0x58240039, // 0013 LDCONST R9 K57 + 0x7C140800, // 0014 CALL R5 4 + 0x00166C05, // 0015 ADD R5 K54 R5 + 0xB81A2200, // 0016 GETNGBL R6 K17 + 0x601C0018, // 0017 GETGBL R7 G24 + 0x58200049, // 0018 LDCONST R8 K73 + 0x88240113, // 0019 GETMBR R9 R0 K19 + 0x8828013B, // 001A GETMBR R10 R0 K59 + 0x5C2C0A00, // 001B MOVE R11 R5 + 0x7C1C0800, // 001C CALL R7 4 + 0x54220003, // 001D LDINT R8 4 + 0x7C180400, // 001E CALL R6 2 + 0x60180003, // 001F GETGBL R6 G3 + 0x5C1C0000, // 0020 MOVE R7 R0 + 0x7C180200, // 0021 CALL R6 1 + 0x8C180D4A, // 0022 GETMET R6 R6 K74 + 0x5C200A00, // 0023 MOVE R8 R5 + 0x5C240400, // 0024 MOVE R9 R2 + 0x7C180600, // 0025 CALL R6 3 + 0x781A0001, // 0026 JMPF R6 #0029 + 0x5C1C0C00, // 0027 MOVE R7 R6 + 0x70020000, // 0028 JMP #002A + 0x581C002A, // 0029 LDCONST R7 K42 + 0x6020000C, // 002A GETGBL R8 G12 + 0x5C240E00, // 002B MOVE R9 R7 + 0x7C200200, // 002C CALL R8 1 + 0x5426001D, // 002D LDINT R9 30 + 0x24201009, // 002E GT R8 R8 R9 + 0x78220004, // 002F JMPF R8 #0035 + 0x5422001C, // 0030 LDINT R8 29 + 0x40220C08, // 0031 CONNECT R8 K6 R8 + 0x94200E08, // 0032 GETIDX R8 R7 R8 + 0x0020112B, // 0033 ADD R8 R8 K43 + 0x5C1C1000, // 0034 MOVE R7 R8 + 0xB8222200, // 0035 GETNGBL R8 K17 + 0x60240018, // 0036 GETGBL R9 G24 + 0x5828004B, // 0037 LDCONST R10 K75 + 0xB82E4E00, // 0038 GETNGBL R11 K39 + 0x8C2C172D, // 0039 GETMET R11 R11 K45 + 0x7C2C0200, // 003A CALL R11 1 + 0x8830012E, // 003B GETMBR R12 R0 K46 + 0x042C160C, // 003C SUB R11 R11 R12 + 0x88300113, // 003D GETMBR R12 R0 K19 + 0x6034000C, // 003E GETGBL R13 G12 + 0x88380129, // 003F GETMBR R14 R0 K41 + 0x7C340200, // 0040 CALL R13 1 + 0x5C380E00, // 0041 MOVE R14 R7 + 0x7C240A00, // 0042 CALL R9 5 + 0x58280014, // 0043 LDCONST R10 K20 + 0x7C200400, // 0044 CALL R8 2 + 0x80040C00, // 0045 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: scheduler +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_scheduler, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(scheduler), + &be_const_str_solidified, + ( &(const binstruction[66]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x60080010, // 0001 GETGBL R2 G16 + 0x880C0102, // 0002 GETMBR R3 R0 K2 + 0x8C0C0708, // 0003 GETMET R3 R3 K8 + 0x7C0C0200, // 0004 CALL R3 1 + 0x7C080200, // 0005 CALL R2 1 + 0xA802000A, // 0006 EXBLK 0 #0012 + 0x5C0C0400, // 0007 MOVE R3 R2 + 0x7C0C0000, // 0008 CALL R3 0 + 0x88100102, // 0009 GETMBR R4 R0 K2 + 0x94100803, // 000A GETIDX R4 R4 R3 + 0x1C100906, // 000B EQ R4 R4 K6 + 0x78120001, // 000C JMPF R4 #000F + 0x5C040600, // 000D MOVE R1 R3 + 0x70020000, // 000E JMP #0010 + 0x7001FFF6, // 000F JMP #0007 + 0xA8040001, // 0010 EXBLK 1 1 + 0x70020002, // 0011 JMP #0015 + 0x5808000A, // 0012 LDCONST R2 K10 + 0xAC080200, // 0013 CATCH R2 1 0 + 0xB0080000, // 0014 RAISE 2 R0 R0 + 0x4C080000, // 0015 LDNIL R2 + 0x1C080202, // 0016 EQ R2 R1 R2 + 0x780A0015, // 0017 JMPF R2 #002E + 0x60080010, // 0018 GETGBL R2 G16 + 0x880C0102, // 0019 GETMBR R3 R0 K2 + 0x8C0C0708, // 001A GETMET R3 R3 K8 + 0x7C0C0200, // 001B CALL R3 1 + 0x7C080200, // 001C CALL R2 1 + 0xA802000C, // 001D EXBLK 0 #002B + 0x5C0C0400, // 001E MOVE R3 R2 + 0x7C0C0000, // 001F CALL R3 0 + 0xB8124E00, // 0020 GETNGBL R4 K39 + 0x8C10094C, // 0021 GETMET R4 R4 K76 + 0x88180102, // 0022 GETMBR R6 R0 K2 + 0x94180C03, // 0023 GETIDX R6 R6 R3 + 0x7C100400, // 0024 CALL R4 2 + 0x78120001, // 0025 JMPF R4 #0028 + 0x5C040600, // 0026 MOVE R1 R3 + 0x70020000, // 0027 JMP #0029 + 0x7001FFF4, // 0028 JMP #001E + 0xA8040001, // 0029 EXBLK 1 1 + 0x70020002, // 002A JMP #002E + 0x5808000A, // 002B LDCONST R2 K10 + 0xAC080200, // 002C CATCH R2 1 0 + 0xB0080000, // 002D RAISE 2 R0 R0 + 0x4C080000, // 002E LDNIL R2 + 0x1C080202, // 002F EQ R2 R1 R2 + 0x780A0000, // 0030 JMPF R2 #0032 + 0x80000400, // 0031 RET 0 + 0x8808014D, // 0032 GETMBR R2 R0 K77 + 0x780A0002, // 0033 JMPF R2 #0037 + 0x88080102, // 0034 GETMBR R2 R0 K2 + 0x98080306, // 0035 SETIDX R2 R1 K6 + 0x80000400, // 0036 RET 0 + 0x88080102, // 0037 GETMBR R2 R0 K2 + 0xB80E4E00, // 0038 GETNGBL R3 K39 + 0x8C0C072D, // 0039 GETMET R3 R3 K45 + 0x88140100, // 003A GETMBR R5 R0 K0 + 0x94140A01, // 003B GETIDX R5 R5 R1 + 0x7C0C0400, // 003C CALL R3 2 + 0x98080203, // 003D SETIDX R2 R1 R3 + 0x8C08014E, // 003E GETMET R2 R0 K78 + 0x5C100200, // 003F MOVE R4 R1 + 0x7C080400, // 0040 CALL R2 2 + 0x80000000, // 0041 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_failed +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_event_http_failed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(event_http_failed), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0xB8062200, // 0005 GETNGBL R1 K17 + 0x5808004F, // 0006 LDCONST R2 K79 + 0x580C0014, // 0007 LDCONST R3 K20 + 0x7C040400, // 0008 CALL R1 2 + 0x8C04012F, // 0009 GETMET R1 R0 K47 + 0x880C0130, // 000A GETMBR R3 R0 K48 + 0x4C100000, // 000B LDNIL R4 + 0x7C040600, // 000C CALL R1 3 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_async_cb +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_add_async_cb, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(add_async_cb), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x880C0107, // 0000 GETMBR R3 R0 K7 + 0x980C0202, // 0001 SETIDX R3 R1 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_timeout +********************************************************************/ +be_local_closure(class_Matter_HTTP_remote_event_http_timeout, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_HTTP_remote, /* shared constants */ + be_str_weak(event_http_timeout), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0xB8062200, // 0005 GETNGBL R1 K17 + 0x60080018, // 0006 GETGBL R2 G24 + 0x580C0050, // 0007 LDCONST R3 K80 + 0x88100130, // 0008 GETMBR R4 R0 K48 + 0x88140151, // 0009 GETMBR R5 R0 K81 + 0x88180152, // 000A GETMBR R6 R0 K82 + 0x601C000C, // 000B GETGBL R7 G12 + 0x88200129, // 000C GETMBR R8 R0 K41 + 0x7C1C0200, // 000D CALL R7 1 + 0x7C080A00, // 000E CALL R2 5 + 0x580C0014, // 000F LDCONST R3 K20 + 0x7C040400, // 0010 CALL R1 2 + 0x8C04012F, // 0011 GETMET R1 R0 K47 + 0x880C0130, // 0012 GETMBR R3 R0 K48 + 0x4C100000, // 0013 LDNIL R4 + 0x7C040600, // 0014 CALL R1 3 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_HTTP_remote +********************************************************************/ +extern const bclass be_class_Matter_HTTP_async; +be_local_class(Matter_HTTP_remote, + 8, + &be_class_Matter_HTTP_async, + be_nested_map(32, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(add_schedule, -1), be_const_closure(class_Matter_HTTP_remote_add_schedule_closure) }, + { be_const_key_weak(event_http_timeout, 10), be_const_closure(class_Matter_HTTP_remote_event_http_timeout_closure) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(add_async_cb, 31), be_const_closure(class_Matter_HTTP_remote_add_async_cb_closure) }, + { be_const_key_weak(get_info, -1), be_const_closure(class_Matter_HTTP_remote_get_info_closure) }, + { be_const_key_weak(info, 21), be_const_var(7) }, + { be_const_key_weak(event_http_failed, -1), be_const_closure(class_Matter_HTTP_remote_event_http_failed_closure) }, + { be_const_key_weak(UPDATE_TIME2, -1), be_const_int(300000) }, + { be_const_key_weak(set_info, 2), be_const_closure(class_Matter_HTTP_remote_set_info_closure) }, + { be_const_key_weak(scheduler, 27), be_const_closure(class_Matter_HTTP_remote_scheduler_closure) }, + { be_const_key_weak(web_last_seen, -1), be_const_closure(class_Matter_HTTP_remote_web_last_seen_closure) }, + { be_const_key_weak(event_http_finished, -1), be_const_closure(class_Matter_HTTP_remote_event_http_finished_closure) }, + { be_const_key_weak(STATUS_PREFIX, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(14, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Status), + be_nested_str_weak(StatusPRM), + be_nested_str_weak(StatusFWR), + be_nested_str_weak(StatusLOG), + be_nested_str_weak(StatusMEM), + be_nested_str_weak(StatusNET), + be_nested_str_weak(StatusMQT), + be_nested_str_weak(StatusTIM), + be_const_nil(), + be_nested_str_weak(StatusPTH), + be_nested_str_weak(StatusSNS), + be_nested_str_weak(StatusSTS), + be_nested_str_weak(StatusSTK), + be_nested_str_weak(StatusSHT), + })) ) } )) }, + { be_const_key_weak(current_cmd, -1), be_const_var(4) }, + { be_const_key_weak(probe_async, 7), be_const_closure(class_Matter_HTTP_remote_probe_async_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_HTTP_remote_init_closure) }, + { be_const_key_weak(reachable, 1), be_const_var(5) }, + { be_const_key_weak(probe_next_timestamp_map, -1), be_const_var(2) }, + { be_const_key_weak(change_schedule, 15), be_const_closure(class_Matter_HTTP_remote_change_schedule_closure) }, + { be_const_key_weak(device, 18), be_const_var(0) }, + { be_const_key_weak(async_cb_map, -1), be_const_var(3) }, + { be_const_key_weak(reachable_utc, -1), be_const_var(6) }, + { be_const_key_weak(parse_status_response_and_call_method, -1), be_const_closure(class_Matter_HTTP_remote_parse_status_response_and_call_method_closure) }, + { be_const_key_weak(UPDATE_CMD2, -1), be_nested_str_weak(Status_X202) }, + { be_const_key_weak(probe_update_time_map, -1), be_const_var(1) }, + { be_const_key_weak(call_sync, -1), be_const_closure(class_Matter_HTTP_remote_call_sync_closure) }, + { be_const_key_weak(device_is_alive, 9), be_const_closure(class_Matter_HTTP_remote_device_is_alive_closure) }, + { be_const_key_weak(info_changed, -1), be_const_closure(class_Matter_HTTP_remote_info_changed_closure) }, + { be_const_key_weak(parse_status_http, 6), be_const_closure(class_Matter_HTTP_remote_parse_status_http_closure) }, + { be_const_key_weak(dispatch_cb, 3), be_const_closure(class_Matter_HTTP_remote_dispatch_cb_closure) }, + { be_const_key_weak(UPDATE_CMD5, -1), be_nested_str_weak(Status_X205) }, + { be_const_key_weak(UPDATE_CMD0, -1), be_nested_str_weak(Status) }, + })), + be_str_weak(Matter_HTTP_remote) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM.h new file mode 100644 index 000000000..2f3817b58 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM.h @@ -0,0 +1,3196 @@ +/* Solidification of Matter_IM.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_IM; +// compact class 'Matter_IM' ktab size: 203, total: 507 (saved 2432 bytes) +static const bvalue be_ktab_class_Matter_IM[203] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(WriteRequestMessage), + /* K2 */ be_nested_str_weak(from_TLV), + /* K3 */ be_nested_str_weak(Path), + /* K4 */ be_nested_str_weak(suppress_response), + /* K5 */ be_nested_str_weak(write_requests), + /* K6 */ be_nested_str_weak(WriteResponseMessage), + /* K7 */ be_nested_str_weak(write_responses), + /* K8 */ be_nested_str_weak(PathGenerator), + /* K9 */ be_nested_str_weak(device), + /* K10 */ be_nested_str_weak(path), + /* K11 */ be_nested_str_weak(data), + /* K12 */ be_nested_str_weak(copy), + /* K13 */ be_nested_str_weak(cluster), + /* K14 */ be_nested_str_weak(attribute), + /* K15 */ be_nested_str_weak(status), + /* K16 */ be_nested_str_weak(INVALID_ACTION), + /* K17 */ be_nested_str_weak(write_single_attribute_status_to_bytes), + /* K18 */ be_nested_str_weak(endpoint), + /* K19 */ be_nested_str_weak(tasmota), + /* K20 */ be_nested_str_weak(loglevel), + /* K21 */ be_const_int(3), + /* K22 */ be_nested_str_weak(get_attribute_name), + /* K23 */ be_nested_str_weak(log), + /* K24 */ be_nested_str_weak(MTR_X3A_X20Write_Attr_X20), + /* K25 */ be_nested_str_weak(_X20_X28), + /* K26 */ be_nested_str_weak(_X29), + /* K27 */ be_nested_str_weak(), + /* K28 */ be_nested_str_weak(start), + /* K29 */ be_nested_str_weak(is_direct), + /* K30 */ be_nested_str_weak(next_attribute), + /* K31 */ be_nested_str_weak(msg), + /* K32 */ be_nested_str_weak(get_pi), + /* K33 */ be_nested_str_weak(UNSUPPORTED_WRITE), + /* K34 */ be_nested_str_weak(write_attribute), + /* K35 */ be_nested_str_weak(session), + /* K36 */ be_nested_str_weak(SUCCESS), + /* K37 */ be_nested_str_weak(stop_iteration), + /* K38 */ be_nested_str_weak(send_queue), + /* K39 */ be_nested_str_weak(push), + /* K40 */ be_nested_str_weak(IM_WriteResponse), + /* K41 */ be_nested_str_weak(add), + /* K42 */ be_const_int(1), + /* K43 */ be_const_int(2), + /* K44 */ be_const_int(355795236), + /* K45 */ be_nested_str_weak(path2raw), + /* K46 */ be_nested_str_weak(tag_sub), + /* K47 */ be_nested_str_weak(tlv2raw), + /* K48 */ be_nested_str_weak(ReadRequestMessage), + /* K49 */ be_nested_str_weak(fabric_filtered), + /* K50 */ be_nested_str_weak(attributes_requests), + /* K51 */ be_nested_str_weak(updates), + /* K52 */ be_nested_str_weak(AttributePathIB), + /* K53 */ be_nested_str_weak(MTR_X3A_X20_X3CSub_Data_X20_X20_X28_X256i_X29_X20sub_X3D_X25i), + /* K54 */ be_nested_str_weak(local_session_id), + /* K55 */ be_nested_str_weak(subscription_id), + /* K56 */ be_nested_str_weak(is_keep_alive), + /* K57 */ be_nested_str_weak(process_read_or_subscribe_request_pull), + /* K58 */ be_nested_str_weak(update_event_generator_array), + /* K59 */ be_nested_str_weak(IM_ReportDataSubscribed_Pull), + /* K60 */ be_nested_str_weak(_message_handler), + /* K61 */ be_nested_str_weak(send_enqueued), + /* K62 */ be_nested_str_weak(process_read_or_subscribe_request_event_pull), + /* K63 */ be_nested_str_weak(IM_ReportData_Pull), + /* K64 */ be_const_int(0), + /* K65 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr_X20_X28_X256i_X29_X20_X25s), + /* K66 */ be_nested_str_weak(TimedRequestMessage), + /* K67 */ be_nested_str_weak(MTR_X3A_X20_X3ECommand_X20_X20_X20_X28_X256i_X29_X20TimedRequest_X3D_X25i), + /* K68 */ be_nested_str_weak(timeout), + /* K69 */ be_nested_str_weak(send_status), + /* K70 */ be_nested_str_weak(subs_shop), + /* K71 */ be_nested_str_weak(every_50ms), + /* K72 */ be_nested_str_weak(InvokeRequestMessage), + /* K73 */ be_nested_str_weak(invoke_requests), + /* K74 */ be_nested_str_weak(InvokeResponseMessage), + /* K75 */ be_nested_str_weak(invoke_responses), + /* K76 */ be_nested_str_weak(command_path), + /* K77 */ be_nested_str_weak(command), + /* K78 */ be_nested_str_weak(UNSUPPORTED_COMMAND), + /* K79 */ be_nested_str_weak(get_command_name), + /* K80 */ be_nested_str_weak(invoke_request), + /* K81 */ be_nested_str_weak(command_fields), + /* K82 */ be_nested_str_weak(_X28), + /* K83 */ be_nested_str_weak(_X29_X20), + /* K84 */ be_nested_str_weak(MTR_X3A_X20_X3ECommand_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s_X20_X25s), + /* K85 */ be_nested_str_weak(invokeresponse2raw), + /* K86 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20OK_X20exch_X3D_X25i), + /* K87 */ be_nested_str_weak(exchange_id), + /* K88 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s), + /* K89 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20Status_X3D0x_X2502X_X20exch_X3D_X25i), + /* K90 */ be_nested_str_weak(MTR_X3A_X20_Ignore_X20_X20_X20_X20_X28_X256i_X29_X20exch_X3D_X25i), + /* K91 */ be_nested_str_weak(IM_InvokeResponse), + /* K92 */ be_nested_str_weak(event_requests), + /* K93 */ be_nested_str_weak(get_node_id), + /* K94 */ be_nested_str_weak(parse_event_filters_min_no), + /* K95 */ be_nested_str_weak(event_filters), + /* K96 */ be_nested_str_weak(EventGenerator), + /* K97 */ be_nested_str_weak(event), + /* K98 */ be_nested_str_weak(get_event_name), + /* K99 */ be_nested_str_weak(_X2502X), + /* K100 */ be_nested_str_weak(_X2A_X2A), + /* K101 */ be_nested_str_weak(_X2504X), + /* K102 */ be_nested_str_weak(_X2A_X2A_X2A_X2A), + /* K103 */ be_nested_str_weak(_X20_X28event_X3E_X25s_X29), + /* K104 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Event_X28_X256i_X29_X20_X5B_X25s_X5D_X25s_X2F_X25s_X20_X25s_X25s), + /* K105 */ be_nested_str_weak(finished), + /* K106 */ be_nested_str_weak(ready), + /* K107 */ be_nested_str_weak(send_im), + /* K108 */ be_nested_str_weak(remove_sendqueue_by_exchangeid), + /* K109 */ be_nested_str_weak(resp), + /* K110 */ be_nested_str_weak(SubscribeRequestMessage), + /* K111 */ be_nested_str_weak(keep_subscriptions), + /* K112 */ be_nested_str_weak(remove_by_session), + /* K113 */ be_nested_str_weak(new_subscription), + /* K114 */ be_nested_str_weak(MTR_X3A_X20_X3ESubscribe_X20_X28_X256i_X29_X20_X25s_X20_X28min_X3D_X25i_X2C_X20max_X3D_X25i_X2C_X20keep_X3D_X25i_X29_X20sub_X3D_X25i_X20fabric_filtered_X3D_X25s), + /* K115 */ be_nested_str_weak(concat), + /* K116 */ be_nested_str_weak(_X20), + /* K117 */ be_nested_str_weak(min_interval), + /* K118 */ be_nested_str_weak(max_interval), + /* K119 */ be_nested_str_weak(set_event_generator_or_arr), + /* K120 */ be_nested_str_weak(IM_SubscribeResponse_Pull), + /* K121 */ be_nested_str_weak(send_encrypted_ack), + /* K122 */ be_nested_str_weak(time_reached), + /* K123 */ be_nested_str_weak(expiration), + /* K124 */ be_nested_str_weak(reached_timeout), + /* K125 */ be_nested_str_weak(remove), + /* K126 */ be_nested_str_weak(find_sendqueue_by_exchangeid), + /* K127 */ be_nested_str_weak(ack_received), + /* K128 */ be_nested_str_weak(get_exchangeid), + /* K129 */ be_nested_str_weak(TLV), + /* K130 */ be_nested_str_weak(AttributeStatusIB), + /* K131 */ be_nested_str_weak(StatusIB), + /* K132 */ be_nested_str_weak(MTR_X3A_X20_X3EWrite_Attr_X25s_X25s_X20_X2D_X20_X25s_X20STATUS_X3A_X200x_X2502X_X20_X25s), + /* K133 */ be_nested_str_weak(MTR_X3A_X20_X3EWrite_Attr_X25s_X25s_X20_X2D_X20IGNORED), + /* K134 */ be_nested_str_weak(IM_Subscription_Shop), + /* K135 */ be_nested_str_weak(read_request_solo), + /* K136 */ be_nested_str_weak(ReadRequestMessage_solo), + /* K137 */ be_nested_str_weak(invoke_request_solo), + /* K138 */ be_nested_str_weak(InvokeRequestMessage_solo), + /* K139 */ be_nested_str_weak(tlv_solo), + /* K140 */ be_nested_str_weak(Matter_TLV_item), + /* K141 */ be_nested_str_weak(expire_sendqueue), + /* K142 */ be_nested_str_weak(MTR_X3A_X20_X3ECommand1_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s_X20_X25s), + /* K143 */ be_const_int(354943030), + /* K144 */ be_const_int(405077761), + /* K145 */ be_nested_str_weak(build_response), + /* K146 */ be_nested_str_weak(message_handler), + /* K147 */ be_nested_str_weak(raw), + /* K148 */ be_nested_str_weak(clear), + /* K149 */ be_nested_str_weak(encode_frame), + /* K150 */ be_nested_str_weak(encrypt), + /* K151 */ be_nested_str_weak(send_response_frame), + /* K152 */ be_nested_str_weak(MTR_X3A_X20_X3CSub_Alive_X20_X28_X256i_X29_X20sub_X3D_X25s), + /* K153 */ be_nested_str_weak(IM_SubscribedHeartbeat), + /* K154 */ be_nested_str_weak(resolve_attribute_read_solo), + /* K155 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE), + /* K156 */ be_nested_str_weak(read_attribute), + /* K157 */ be_nested_str_weak(is_list), + /* K158 */ be_nested_str_weak(is_array), + /* K159 */ be_nested_str_weak(encode_len), + /* K160 */ be_nested_str_weak(MAX_MESSAGE), + /* K161 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Response_X20to_X20big_X2C_X20revert_X20to_X20non_X2Dsolo), + /* K162 */ be_nested_str_weak(parse), + /* K163 */ be_nested_str_weak(app_payload_idx), + /* K164 */ be_nested_str_weak(process_read_request_pull), + /* K165 */ be_nested_str_weak(attributedata2raw), + /* K166 */ be_nested_str_weak(attributestatus2raw), + /* K167 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr_X20_X28_X256i_X29_X20_X25s_X20_X2D_X20IGNORED), + /* K168 */ be_nested_str_weak(MTR_X3A_X20_X3Csnd_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20id_X3D_X25i_X20exch_X3D_X25i_X20rack_X3D_X25s), + /* K169 */ be_nested_str_weak(message_counter), + /* K170 */ be_nested_str_weak(ack_message_counter), + /* K171 */ be_nested_str_weak(to_str_val), + /* K172 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr1_X28_X256i_X29_X20_X25s_X25s_X20_X2D_X20_X25s), + /* K173 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr1_X28_X256i_X29_X20_X25s_X25s_X20_X2D_X20STATUS_X3A_X200x_X2502X_X20_X25s), + /* K174 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr1_X28_X256i_X29_X20_X25s_X25s_X20_X2D_X20IGNORED), + /* K175 */ be_const_class(be_class_Matter_IM), + /* K176 */ be_nested_str_weak(int64), + /* K177 */ be_nested_str_weak(toint64), + /* K178 */ be_nested_str_weak(node), + /* K179 */ be_nested_str_weak(tobytes), + /* K180 */ be_nested_str_weak(MTR_X3A_X20node_id_X20filter_X20_X25s_X20doesn_X27t_X20match_X20_X25s), + /* K181 */ be_nested_str_weak(tohex), + /* K182 */ be_nested_str_weak(event_min), + /* K183 */ be_nested_str_weak(findsubval), + /* K184 */ be_nested_str_weak(status_ok_received), + /* K185 */ be_nested_str_weak(MTR_X3A_X20_X3EOK_X20_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20exch_X3D_X25i_X20not_X20found), + /* K186 */ be_nested_str_weak(MTR_X3A_X20_X3EStatus_X20_X20_X20_X20ERROR_X20_X3D_X200x_X2502X), + /* K187 */ be_nested_str_weak(status_error_received), + /* K188 */ be_nested_str_weak(Matter_TLV_array), + /* K189 */ be_nested_str_weak(val), + /* K190 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr_X20_X28_X256i_X29_X20_X25s_X25s_X20_X2D_X20_X25s), + /* K191 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Attr_X20_X28_X256i_X29_X20_X25s_X25s_X20_X2D_X20STATUS_X3A_X200x_X2502X_X20_X25s), + /* K192 */ be_nested_str_weak(IM_Status), + /* K193 */ be_nested_str_weak(opcode), + /* K194 */ be_nested_str_weak(from_raw), + /* K195 */ be_nested_str_weak(process_read_request_solo), + /* K196 */ be_nested_str_weak(process_invoke_request_solo), + /* K197 */ be_nested_str_weak(process_status_response), + /* K198 */ be_nested_str_weak(send_ack_now), + /* K199 */ be_nested_str_weak(subscribe_request), + /* K200 */ be_nested_str_weak(process_write_request), + /* K201 */ be_nested_str_weak(process_invoke_request), + /* K202 */ be_nested_str_weak(process_timed_request), +}; + + +extern const bclass be_class_Matter_IM; + +/******************************************************************** +** Solidified function: process_write_request +********************************************************************/ +be_local_closure(class_Matter_IM_process_write_request, /* name */ + be_nested_proto( + 21, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_write_request), + &be_const_str_solidified, + ( &(const binstruction[145]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C0701, // 0001 GETMET R3 R3 K1 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0702, // 0003 GETMET R3 R3 K2 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0xB8120000, // 0006 GETNGBL R4 K0 + 0x8C100903, // 0007 GETMET R4 R4 K3 + 0x7C100200, // 0008 CALL R4 1 + 0x88140704, // 0009 GETMBR R5 R3 K4 + 0x88180705, // 000A GETMBR R6 R3 K5 + 0x4C1C0000, // 000B LDNIL R7 + 0x20180C07, // 000C NE R6 R6 R7 + 0x781A0080, // 000D JMPF R6 #008F + 0xB81A0000, // 000E GETNGBL R6 K0 + 0x8C180D06, // 000F GETMET R6 R6 K6 + 0x7C180200, // 0010 CALL R6 1 + 0x601C0012, // 0011 GETGBL R7 G18 + 0x7C1C0000, // 0012 CALL R7 0 + 0x901A0E07, // 0013 SETMBR R6 K7 R7 + 0xB81E0000, // 0014 GETNGBL R7 K0 + 0x8C1C0F08, // 0015 GETMET R7 R7 K8 + 0x88240109, // 0016 GETMBR R9 R0 K9 + 0x7C1C0400, // 0017 CALL R7 2 + 0x60200010, // 0018 GETGBL R8 G16 + 0x88240705, // 0019 GETMBR R9 R3 K5 + 0x7C200200, // 001A CALL R8 1 + 0xA8020065, // 001B EXBLK 0 #0082 + 0x5C241000, // 001C MOVE R9 R8 + 0x7C240000, // 001D CALL R9 0 + 0x8828130A, // 001E GETMBR R10 R9 K10 + 0x882C130B, // 001F GETMBR R11 R9 K11 + 0x8C30090C, // 0020 GETMET R12 R4 K12 + 0x5C381400, // 0021 MOVE R14 R10 + 0x7C300400, // 0022 CALL R12 2 + 0x8830150D, // 0023 GETMBR R12 R10 K13 + 0x4C340000, // 0024 LDNIL R13 + 0x1C30180D, // 0025 EQ R12 R12 R13 + 0x74320003, // 0026 JMPT R12 #002B + 0x8830150E, // 0027 GETMBR R12 R10 K14 + 0x4C340000, // 0028 LDNIL R13 + 0x1C30180D, // 0029 EQ R12 R12 R13 + 0x78320008, // 002A JMPF R12 #0034 + 0xB8320000, // 002B GETNGBL R12 K0 + 0x88301910, // 002C GETMBR R12 R12 K16 + 0x90121E0C, // 002D SETMBR R4 K15 R12 + 0x8C300111, // 002E GETMET R12 R0 K17 + 0x5C380C00, // 002F MOVE R14 R6 + 0x5C3C0800, // 0030 MOVE R15 R4 + 0x4C400000, // 0031 LDNIL R16 + 0x7C300800, // 0032 CALL R12 4 + 0x7001FFE7, // 0033 JMP #001C + 0x88301512, // 0034 GETMBR R12 R10 K18 + 0x4C340000, // 0035 LDNIL R13 + 0x1C30180D, // 0036 EQ R12 R12 R13 + 0x78320016, // 0037 JMPF R12 #004F + 0xB8322600, // 0038 GETNGBL R12 K19 + 0x8C301914, // 0039 GETMET R12 R12 K20 + 0x58380015, // 003A LDCONST R14 K21 + 0x7C300400, // 003B CALL R12 2 + 0x78320011, // 003C JMPF R12 #004F + 0xB8320000, // 003D GETNGBL R12 K0 + 0x8C301916, // 003E GETMET R12 R12 K22 + 0x8838150D, // 003F GETMBR R14 R10 K13 + 0x883C150E, // 0040 GETMBR R15 R10 K14 + 0x7C300600, // 0041 CALL R12 3 + 0xB8362E00, // 0042 GETNGBL R13 K23 + 0x60380008, // 0043 GETGBL R14 G8 + 0x5C3C0800, // 0044 MOVE R15 R4 + 0x7C380200, // 0045 CALL R14 1 + 0x003A300E, // 0046 ADD R14 K24 R14 + 0x78320002, // 0047 JMPF R12 #004B + 0x003E320C, // 0048 ADD R15 K25 R12 + 0x003C1F1A, // 0049 ADD R15 R15 K26 + 0x70020000, // 004A JMP #004C + 0x583C001B, // 004B LDCONST R15 K27 + 0x00381C0F, // 004C ADD R14 R14 R15 + 0x583C0015, // 004D LDCONST R15 K21 + 0x7C340400, // 004E CALL R13 2 + 0x8C300F1C, // 004F GETMET R12 R7 K28 + 0x88381512, // 0050 GETMBR R14 R10 K18 + 0x883C150D, // 0051 GETMBR R15 R10 K13 + 0x8840150E, // 0052 GETMBR R16 R10 K14 + 0x7C300800, // 0053 CALL R12 4 + 0x8C300F1D, // 0054 GETMET R12 R7 K29 + 0x7C300200, // 0055 CALL R12 1 + 0x4C340000, // 0056 LDNIL R13 + 0x8C380F1E, // 0057 GETMET R14 R7 K30 + 0x7C380200, // 0058 CALL R14 1 + 0x5C341C00, // 0059 MOVE R13 R14 + 0x783A0025, // 005A JMPF R14 #0081 + 0x90363E01, // 005B SETMBR R13 K31 R1 + 0x88381B0F, // 005C GETMBR R14 R13 K15 + 0x4C3C0000, // 005D LDNIL R15 + 0x20381C0F, // 005E NE R14 R14 R15 + 0x783A0007, // 005F JMPF R14 #0068 + 0x4C380000, // 0060 LDNIL R14 + 0x90361E0E, // 0061 SETMBR R13 K15 R14 + 0x8C380111, // 0062 GETMET R14 R0 K17 + 0x5C400C00, // 0063 MOVE R16 R6 + 0x5C441A00, // 0064 MOVE R17 R13 + 0x5C481600, // 0065 MOVE R18 R11 + 0x7C380800, // 0066 CALL R14 4 + 0x70020017, // 0067 JMP #0080 + 0x8C380F20, // 0068 GETMET R14 R7 K32 + 0x7C380200, // 0069 CALL R14 1 + 0xB83E0000, // 006A GETNGBL R15 K0 + 0x883C1F21, // 006B GETMBR R15 R15 K33 + 0x90361E0F, // 006C SETMBR R13 K15 R15 + 0x4C3C0000, // 006D LDNIL R15 + 0x203C1C0F, // 006E NE R15 R14 R15 + 0x783E0005, // 006F JMPF R15 #0076 + 0x8C3C1D22, // 0070 GETMET R15 R14 K34 + 0x88440323, // 0071 GETMBR R17 R1 K35 + 0x5C481A00, // 0072 MOVE R18 R13 + 0x5C4C1600, // 0073 MOVE R19 R11 + 0x7C3C0800, // 0074 CALL R15 4 + 0x70020000, // 0075 JMP #0077 + 0x4C3C0000, // 0076 LDNIL R15 + 0x783E0002, // 0077 JMPF R15 #007B + 0xB8420000, // 0078 GETNGBL R16 K0 + 0x88402124, // 0079 GETMBR R16 R16 K36 + 0x90361E10, // 007A SETMBR R13 K15 R16 + 0x8C400111, // 007B GETMET R16 R0 K17 + 0x5C480C00, // 007C MOVE R18 R6 + 0x5C4C1A00, // 007D MOVE R19 R13 + 0x5C501600, // 007E MOVE R20 R11 + 0x7C400800, // 007F CALL R16 4 + 0x7001FFD5, // 0080 JMP #0057 + 0x7001FF99, // 0081 JMP #001C + 0x58200025, // 0082 LDCONST R8 K37 + 0xAC200200, // 0083 CATCH R8 1 0 + 0xB0080000, // 0084 RAISE 2 R0 R0 + 0x5C200A00, // 0085 MOVE R8 R5 + 0x74220007, // 0086 JMPT R8 #008F + 0x88200126, // 0087 GETMBR R8 R0 K38 + 0x8C201127, // 0088 GETMET R8 R8 K39 + 0xB82A0000, // 0089 GETNGBL R10 K0 + 0x8C281528, // 008A GETMET R10 R10 K40 + 0x5C300200, // 008B MOVE R12 R1 + 0x5C340C00, // 008C MOVE R13 R6 + 0x7C280600, // 008D CALL R10 3 + 0x7C200400, // 008E CALL R8 2 + 0x50180200, // 008F LDBOOL R6 1 0 + 0x80040C00, // 0090 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: path2raw +********************************************************************/ +be_local_closure(class_Matter_IM_path2raw, /* name */ + be_nested_proto( + 9, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(path2raw), + &be_const_str_solidified, + ( &(const binstruction[107]) { /* code */ + 0x8C140329, // 0000 GETMET R5 R1 K41 + 0x541E0036, // 0001 LDINT R7 55 + 0x5820002A, // 0002 LDCONST R8 K42 + 0x7C140600, // 0003 CALL R5 3 + 0x8C140329, // 0004 GETMET R5 R1 K41 + 0x5C1C0600, // 0005 MOVE R7 R3 + 0x5820002A, // 0006 LDCONST R8 K42 + 0x7C140600, // 0007 CALL R5 3 + 0x88140512, // 0008 GETMBR R5 R2 K18 + 0x541A00FE, // 0009 LDINT R6 255 + 0x18140A06, // 000A LE R5 R5 R6 + 0x78160008, // 000B JMPF R5 #0015 + 0x8C140329, // 000C GETMET R5 R1 K41 + 0x541E2401, // 000D LDINT R7 9218 + 0x5421FFFD, // 000E LDINT R8 -2 + 0x7C140600, // 000F CALL R5 3 + 0x8C140329, // 0010 GETMET R5 R1 K41 + 0x881C0512, // 0011 GETMBR R7 R2 K18 + 0x5820002A, // 0012 LDCONST R8 K42 + 0x7C140600, // 0013 CALL R5 3 + 0x70020007, // 0014 JMP #001D + 0x8C140329, // 0015 GETMET R5 R1 K41 + 0x541E2501, // 0016 LDINT R7 9474 + 0x5421FFFD, // 0017 LDINT R8 -2 + 0x7C140600, // 0018 CALL R5 3 + 0x8C140329, // 0019 GETMET R5 R1 K41 + 0x881C0512, // 001A GETMBR R7 R2 K18 + 0x5820002B, // 001B LDCONST R8 K43 + 0x7C140600, // 001C CALL R5 3 + 0x8814050D, // 001D GETMBR R5 R2 K13 + 0x541A00FE, // 001E LDINT R6 255 + 0x18140A06, // 001F LE R5 R5 R6 + 0x78160008, // 0020 JMPF R5 #002A + 0x8C140329, // 0021 GETMET R5 R1 K41 + 0x541E2402, // 0022 LDINT R7 9219 + 0x5421FFFD, // 0023 LDINT R8 -2 + 0x7C140600, // 0024 CALL R5 3 + 0x8C140329, // 0025 GETMET R5 R1 K41 + 0x881C050D, // 0026 GETMBR R7 R2 K13 + 0x5820002A, // 0027 LDCONST R8 K42 + 0x7C140600, // 0028 CALL R5 3 + 0x70020014, // 0029 JMP #003F + 0x8814050D, // 002A GETMBR R5 R2 K13 + 0x541AFFFE, // 002B LDINT R6 65535 + 0x18140A06, // 002C LE R5 R5 R6 + 0x78160008, // 002D JMPF R5 #0037 + 0x8C140329, // 002E GETMET R5 R1 K41 + 0x541E2502, // 002F LDINT R7 9475 + 0x5421FFFD, // 0030 LDINT R8 -2 + 0x7C140600, // 0031 CALL R5 3 + 0x8C140329, // 0032 GETMET R5 R1 K41 + 0x881C050D, // 0033 GETMBR R7 R2 K13 + 0x5820002B, // 0034 LDCONST R8 K43 + 0x7C140600, // 0035 CALL R5 3 + 0x70020007, // 0036 JMP #003F + 0x8C140329, // 0037 GETMET R5 R1 K41 + 0x541E2602, // 0038 LDINT R7 9731 + 0x5421FFFD, // 0039 LDINT R8 -2 + 0x7C140600, // 003A CALL R5 3 + 0x8C140329, // 003B GETMET R5 R1 K41 + 0x881C050D, // 003C GETMBR R7 R2 K13 + 0x54220003, // 003D LDINT R8 4 + 0x7C140600, // 003E CALL R5 3 + 0x8814050E, // 003F GETMBR R5 R2 K14 + 0x541A00FE, // 0040 LDINT R6 255 + 0x18140A06, // 0041 LE R5 R5 R6 + 0x78160008, // 0042 JMPF R5 #004C + 0x8C140329, // 0043 GETMET R5 R1 K41 + 0x541E2403, // 0044 LDINT R7 9220 + 0x5421FFFD, // 0045 LDINT R8 -2 + 0x7C140600, // 0046 CALL R5 3 + 0x8C140329, // 0047 GETMET R5 R1 K41 + 0x881C050E, // 0048 GETMBR R7 R2 K14 + 0x5820002A, // 0049 LDCONST R8 K42 + 0x7C140600, // 004A CALL R5 3 + 0x70020014, // 004B JMP #0061 + 0x8814050E, // 004C GETMBR R5 R2 K14 + 0x541AFFFE, // 004D LDINT R6 65535 + 0x18140A06, // 004E LE R5 R5 R6 + 0x78160008, // 004F JMPF R5 #0059 + 0x8C140329, // 0050 GETMET R5 R1 K41 + 0x541E2503, // 0051 LDINT R7 9476 + 0x5421FFFD, // 0052 LDINT R8 -2 + 0x7C140600, // 0053 CALL R5 3 + 0x8C140329, // 0054 GETMET R5 R1 K41 + 0x881C050E, // 0055 GETMBR R7 R2 K14 + 0x5820002B, // 0056 LDCONST R8 K43 + 0x7C140600, // 0057 CALL R5 3 + 0x70020007, // 0058 JMP #0061 + 0x8C140329, // 0059 GETMET R5 R1 K41 + 0x541E2603, // 005A LDINT R7 9732 + 0x5421FFFD, // 005B LDINT R8 -2 + 0x7C140600, // 005C CALL R5 3 + 0x8C140329, // 005D GETMET R5 R1 K41 + 0x881C050E, // 005E GETMBR R7 R2 K14 + 0x54220003, // 005F LDINT R8 4 + 0x7C140600, // 0060 CALL R5 3 + 0x78120003, // 0061 JMPF R4 #0066 + 0x8C140329, // 0062 GETMET R5 R1 K41 + 0x541E3404, // 0063 LDINT R7 13317 + 0x5421FFFD, // 0064 LDINT R8 -2 + 0x7C140600, // 0065 CALL R5 3 + 0x8C140329, // 0066 GETMET R5 R1 K41 + 0x541E0017, // 0067 LDINT R7 24 + 0x5820002A, // 0068 LDCONST R8 K42 + 0x7C140600, // 0069 CALL R5 3 + 0x80000000, // 006A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attributedata2raw +********************************************************************/ +be_local_closure(class_Matter_IM_attributedata2raw, /* name */ + be_nested_proto( + 11, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(attributedata2raw), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8C140329, // 0000 GETMET R5 R1 K41 + 0x581C002C, // 0001 LDCONST R7 K44 + 0x5421FFFB, // 0002 LDINT R8 -4 + 0x7C140600, // 0003 CALL R5 3 + 0x8C140329, // 0004 GETMET R5 R1 K41 + 0x581C002A, // 0005 LDCONST R7 K42 + 0x5421FFFD, // 0006 LDINT R8 -2 + 0x7C140600, // 0007 CALL R5 3 + 0x8C14012D, // 0008 GETMET R5 R0 K45 + 0x5C1C0200, // 0009 MOVE R7 R1 + 0x5C200400, // 000A MOVE R8 R2 + 0x5824002A, // 000B LDCONST R9 K42 + 0x5C280800, // 000C MOVE R10 R4 + 0x7C140A00, // 000D CALL R5 5 + 0x900E5D2B, // 000E SETMBR R3 K46 K43 + 0x8C14072F, // 000F GETMET R5 R3 K47 + 0x5C1C0200, // 0010 MOVE R7 R1 + 0x7C140400, // 0011 CALL R5 2 + 0x8C140329, // 0012 GETMET R5 R1 K41 + 0x541E1817, // 0013 LDINT R7 6168 + 0x5421FFFD, // 0014 LDINT R8 -2 + 0x7C140600, // 0015 CALL R5 3 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_subscribe_update +********************************************************************/ +be_local_closure(class_Matter_IM_send_subscribe_update, /* name */ + be_nested_proto( + 13, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(send_subscribe_update), + &be_const_str_solidified, + ( &(const binstruction[64]) { /* code */ + 0x88080323, // 0000 GETMBR R2 R1 K35 + 0xB80E0000, // 0001 GETNGBL R3 K0 + 0x8C0C0730, // 0002 GETMET R3 R3 K48 + 0x7C0C0200, // 0003 CALL R3 1 + 0x50100000, // 0004 LDBOOL R4 0 0 + 0x900E6204, // 0005 SETMBR R3 K49 R4 + 0x60100012, // 0006 GETGBL R4 G18 + 0x7C100000, // 0007 CALL R4 0 + 0x900E6404, // 0008 SETMBR R3 K50 R4 + 0x60100010, // 0009 GETGBL R4 G16 + 0x88140333, // 000A GETMBR R5 R1 K51 + 0x7C100200, // 000B CALL R4 1 + 0xA802000F, // 000C EXBLK 0 #001D + 0x5C140800, // 000D MOVE R5 R4 + 0x7C140000, // 000E CALL R5 0 + 0xB81A0000, // 000F GETNGBL R6 K0 + 0x8C180D34, // 0010 GETMET R6 R6 K52 + 0x7C180200, // 0011 CALL R6 1 + 0x881C0B12, // 0012 GETMBR R7 R5 K18 + 0x901A2407, // 0013 SETMBR R6 K18 R7 + 0x881C0B0D, // 0014 GETMBR R7 R5 K13 + 0x901A1A07, // 0015 SETMBR R6 K13 R7 + 0x881C0B0E, // 0016 GETMBR R7 R5 K14 + 0x901A1C07, // 0017 SETMBR R6 K14 R7 + 0x881C0732, // 0018 GETMBR R7 R3 K50 + 0x8C1C0F27, // 0019 GETMET R7 R7 K39 + 0x5C240C00, // 001A MOVE R9 R6 + 0x7C1C0400, // 001B CALL R7 2 + 0x7001FFEF, // 001C JMP #000D + 0x58100025, // 001D LDCONST R4 K37 + 0xAC100200, // 001E CATCH R4 1 0 + 0xB0080000, // 001F RAISE 2 R0 R0 + 0xB8122E00, // 0020 GETNGBL R4 K23 + 0x60140018, // 0021 GETGBL R5 G24 + 0x58180035, // 0022 LDCONST R6 K53 + 0x881C0536, // 0023 GETMBR R7 R2 K54 + 0x88200337, // 0024 GETMBR R8 R1 K55 + 0x7C140600, // 0025 CALL R5 3 + 0x58180015, // 0026 LDCONST R6 K21 + 0x7C100400, // 0027 CALL R4 2 + 0x50100000, // 0028 LDBOOL R4 0 0 + 0x90067004, // 0029 SETMBR R1 K56 R4 + 0x8C100139, // 002A GETMET R4 R0 K57 + 0x5C180600, // 002B MOVE R6 R3 + 0x4C1C0000, // 002C LDNIL R7 + 0x7C100600, // 002D CALL R4 3 + 0x8C14033A, // 002E GETMET R5 R1 K58 + 0x7C140200, // 002F CALL R5 1 + 0xB81A0000, // 0030 GETNGBL R6 K0 + 0x8C180D3B, // 0031 GETMET R6 R6 K59 + 0x8820053C, // 0032 GETMBR R8 R2 K60 + 0x5C240400, // 0033 MOVE R9 R2 + 0x5C280800, // 0034 MOVE R10 R4 + 0x5C2C0A00, // 0035 MOVE R11 R5 + 0x5C300200, // 0036 MOVE R12 R1 + 0x7C180C00, // 0037 CALL R6 6 + 0x881C0126, // 0038 GETMBR R7 R0 K38 + 0x8C1C0F27, // 0039 GETMET R7 R7 K39 + 0x5C240C00, // 003A MOVE R9 R6 + 0x7C1C0400, // 003B CALL R7 2 + 0x8C1C013D, // 003C GETMET R7 R0 K61 + 0x8824053C, // 003D GETMBR R9 R2 K60 + 0x7C1C0400, // 003E CALL R7 2 + 0x80000000, // 003F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_read_request_pull +********************************************************************/ +be_local_closure(class_Matter_IM_process_read_request_pull, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_read_request_pull), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C0730, // 0001 GETMET R3 R3 K48 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0702, // 0003 GETMET R3 R3 K2 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x8C100139, // 0006 GETMET R4 R0 K57 + 0x5C180600, // 0007 MOVE R6 R3 + 0x5C1C0200, // 0008 MOVE R7 R1 + 0x7C100600, // 0009 CALL R4 3 + 0x8C14013E, // 000A GETMET R5 R0 K62 + 0x5C1C0600, // 000B MOVE R7 R3 + 0x5C200200, // 000C MOVE R8 R1 + 0x7C140600, // 000D CALL R5 3 + 0x88180126, // 000E GETMBR R6 R0 K38 + 0x8C180D27, // 000F GETMET R6 R6 K39 + 0xB8220000, // 0010 GETNGBL R8 K0 + 0x8C20113F, // 0011 GETMET R8 R8 K63 + 0x5C280200, // 0012 MOVE R10 R1 + 0x5C2C0800, // 0013 MOVE R11 R4 + 0x5C300A00, // 0014 MOVE R12 R5 + 0x7C200800, // 0015 CALL R8 4 + 0x7C180400, // 0016 CALL R6 2 + 0x50180200, // 0017 LDBOOL R6 1 0 + 0x80040C00, // 0018 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_read_or_subscribe_request_pull +********************************************************************/ +be_local_closure(class_Matter_IM_process_read_or_subscribe_request_pull, /* name */ + be_nested_proto( + 16, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_read_or_subscribe_request_pull), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0x880C0332, // 0000 GETMBR R3 R1 K50 + 0x4C100000, // 0001 LDNIL R4 + 0x200C0604, // 0002 NE R3 R3 R4 + 0x780E006C, // 0003 JMPF R3 #0071 + 0x4C0C0000, // 0004 LDNIL R3 + 0x88100332, // 0005 GETMBR R4 R1 K50 + 0x78120003, // 0006 JMPF R4 #000B + 0x6010000C, // 0007 GETGBL R4 G12 + 0x88140332, // 0008 GETMBR R5 R1 K50 + 0x7C100200, // 0009 CALL R4 1 + 0x70020000, // 000A JMP #000C + 0x58100040, // 000B LDCONST R4 K64 + 0x2414092A, // 000C GT R5 R4 K42 + 0x78160002, // 000D JMPF R5 #0011 + 0x60140012, // 000E GETGBL R5 G18 + 0x7C140000, // 000F CALL R5 0 + 0x5C0C0A00, // 0010 MOVE R3 R5 + 0x60140010, // 0011 GETGBL R5 G16 + 0x88180332, // 0012 GETMBR R6 R1 K50 + 0x7C140200, // 0013 CALL R5 1 + 0xA8020057, // 0014 EXBLK 0 #006D + 0x5C180A00, // 0015 MOVE R6 R5 + 0x7C180000, // 0016 CALL R6 0 + 0xB81E0000, // 0017 GETNGBL R7 K0 + 0x8C1C0F08, // 0018 GETMET R7 R7 K8 + 0x88240109, // 0019 GETMBR R9 R0 K9 + 0x7C1C0400, // 001A CALL R7 2 + 0x8C200F1C, // 001B GETMET R8 R7 K28 + 0x88280D12, // 001C GETMBR R10 R6 K18 + 0x882C0D0D, // 001D GETMBR R11 R6 K13 + 0x88300D0E, // 001E GETMBR R12 R6 K14 + 0x88340331, // 001F GETMBR R13 R1 K49 + 0x7C200A00, // 0020 CALL R8 5 + 0x2420092A, // 0021 GT R8 R4 K42 + 0x78220003, // 0022 JMPF R8 #0027 + 0x8C200727, // 0023 GETMET R8 R3 K39 + 0x5C280E00, // 0024 MOVE R10 R7 + 0x7C200400, // 0025 CALL R8 2 + 0x70020000, // 0026 JMP #0028 + 0x5C0C0E00, // 0027 MOVE R3 R7 + 0xB8222600, // 0028 GETNGBL R8 K19 + 0x8C201114, // 0029 GETMET R8 R8 K20 + 0x58280015, // 002A LDCONST R10 K21 + 0x7C200400, // 002B CALL R8 2 + 0x7822003E, // 002C JMPF R8 #006C + 0x88200D12, // 002D GETMBR R8 R6 K18 + 0x4C240000, // 002E LDNIL R9 + 0x1C201009, // 002F EQ R8 R8 R9 + 0x74220007, // 0030 JMPT R8 #0039 + 0x88200D0D, // 0031 GETMBR R8 R6 K13 + 0x4C240000, // 0032 LDNIL R9 + 0x1C201009, // 0033 EQ R8 R8 R9 + 0x74220003, // 0034 JMPT R8 #0039 + 0x88200D0E, // 0035 GETMBR R8 R6 K14 + 0x4C240000, // 0036 LDNIL R9 + 0x1C201009, // 0037 EQ R8 R8 R9 + 0x78220032, // 0038 JMPF R8 #006C + 0xB8220000, // 0039 GETNGBL R8 K0 + 0x8C201103, // 003A GETMET R8 R8 K3 + 0x7C200200, // 003B CALL R8 1 + 0x88240D12, // 003C GETMBR R9 R6 K18 + 0x90222409, // 003D SETMBR R8 K18 R9 + 0x88240D0D, // 003E GETMBR R9 R6 K13 + 0x90221A09, // 003F SETMBR R8 K13 R9 + 0x88240D0E, // 0040 GETMBR R9 R6 K14 + 0x90221C09, // 0041 SETMBR R8 K14 R9 + 0x88240331, // 0042 GETMBR R9 R1 K49 + 0x90226209, // 0043 SETMBR R8 K49 R9 + 0x60240008, // 0044 GETGBL R9 G8 + 0x5C281000, // 0045 MOVE R10 R8 + 0x7C240200, // 0046 CALL R9 1 + 0x88280D0D, // 0047 GETMBR R10 R6 K13 + 0x4C2C0000, // 0048 LDNIL R11 + 0x2028140B, // 0049 NE R10 R10 R11 + 0x782A0017, // 004A JMPF R10 #0063 + 0x88280D0E, // 004B GETMBR R10 R6 K14 + 0x4C2C0000, // 004C LDNIL R11 + 0x2028140B, // 004D NE R10 R10 R11 + 0x782A0013, // 004E JMPF R10 #0063 + 0xB82A0000, // 004F GETNGBL R10 K0 + 0x8C281516, // 0050 GETMET R10 R10 K22 + 0x88300D0D, // 0051 GETMBR R12 R6 K13 + 0x88340D0E, // 0052 GETMBR R13 R6 K14 + 0x7C280600, // 0053 CALL R10 3 + 0xB82E2E00, // 0054 GETNGBL R11 K23 + 0x60300018, // 0055 GETGBL R12 G24 + 0x58340041, // 0056 LDCONST R13 K65 + 0x88380523, // 0057 GETMBR R14 R2 K35 + 0x88381D36, // 0058 GETMBR R14 R14 K54 + 0x782A0002, // 0059 JMPF R10 #005D + 0x003E320A, // 005A ADD R15 K25 R10 + 0x003C1F1A, // 005B ADD R15 R15 K26 + 0x70020000, // 005C JMP #005E + 0x583C001B, // 005D LDCONST R15 K27 + 0x003C120F, // 005E ADD R15 R9 R15 + 0x7C300600, // 005F CALL R12 3 + 0x58340015, // 0060 LDCONST R13 K21 + 0x7C2C0400, // 0061 CALL R11 2 + 0x70020008, // 0062 JMP #006C + 0xB82A2E00, // 0063 GETNGBL R10 K23 + 0x602C0018, // 0064 GETGBL R11 G24 + 0x58300041, // 0065 LDCONST R12 K65 + 0x88340523, // 0066 GETMBR R13 R2 K35 + 0x88341B36, // 0067 GETMBR R13 R13 K54 + 0x5C381200, // 0068 MOVE R14 R9 + 0x7C2C0600, // 0069 CALL R11 3 + 0x58300015, // 006A LDCONST R12 K21 + 0x7C280400, // 006B CALL R10 2 + 0x7001FFA7, // 006C JMP #0015 + 0x58140025, // 006D LDCONST R5 K37 + 0xAC140200, // 006E CATCH R5 1 0 + 0xB0080000, // 006F RAISE 2 R0 R0 + 0x80040600, // 0070 RET 1 R3 + 0x4C0C0000, // 0071 LDNIL R3 + 0x80040600, // 0072 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_timed_request +********************************************************************/ +be_local_closure(class_Matter_IM_process_timed_request, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_timed_request), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C0742, // 0001 GETMET R3 R3 K66 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0702, // 0003 GETMET R3 R3 K2 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0xB8122E00, // 0006 GETNGBL R4 K23 + 0x60140018, // 0007 GETGBL R5 G24 + 0x58180043, // 0008 LDCONST R6 K67 + 0x881C0323, // 0009 GETMBR R7 R1 K35 + 0x881C0F36, // 000A GETMBR R7 R7 K54 + 0x88200744, // 000B GETMBR R8 R3 K68 + 0x7C140600, // 000C CALL R5 3 + 0x58180015, // 000D LDCONST R6 K21 + 0x7C100400, // 000E CALL R4 2 + 0x8C100145, // 000F GETMET R4 R0 K69 + 0x5C180200, // 0010 MOVE R6 R1 + 0xB81E0000, // 0011 GETNGBL R7 K0 + 0x881C0F24, // 0012 GETMBR R7 R7 K36 + 0x7C100600, // 0013 CALL R4 3 + 0x50100200, // 0014 LDBOOL R4 1 0 + 0x80040800, // 0015 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_IM_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040146, // 0000 GETMBR R1 R0 K70 + 0x8C040347, // 0001 GETMET R1 R1 K71 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_invoke_request +********************************************************************/ +be_local_closure(class_Matter_IM_process_invoke_request, /* name */ + be_nested_proto( + 19, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_invoke_request), + &be_const_str_solidified, + ( &(const binstruction[222]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C0703, // 0001 GETMET R3 R3 K3 + 0x7C0C0200, // 0002 CALL R3 1 + 0x900E3E01, // 0003 SETMBR R3 K31 R1 + 0xB8120000, // 0004 GETNGBL R4 K0 + 0x8C100948, // 0005 GETMET R4 R4 K72 + 0x7C100200, // 0006 CALL R4 1 + 0x8C100902, // 0007 GETMET R4 R4 K2 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C100400, // 0009 CALL R4 2 + 0x88140949, // 000A GETMBR R5 R4 K73 + 0x4C180000, // 000B LDNIL R6 + 0x20140A06, // 000C NE R5 R5 R6 + 0x781600CE, // 000D JMPF R5 #00DD + 0xB8160000, // 000E GETNGBL R5 K0 + 0x8C140B4A, // 000F GETMET R5 R5 K74 + 0x7C140200, // 0010 CALL R5 1 + 0x50180000, // 0011 LDBOOL R6 0 0 + 0x90160806, // 0012 SETMBR R5 K4 R6 + 0x60180012, // 0013 GETGBL R6 G18 + 0x7C180000, // 0014 CALL R6 0 + 0x90169606, // 0015 SETMBR R5 K75 R6 + 0x60180010, // 0016 GETGBL R6 G16 + 0x881C0949, // 0017 GETMBR R7 R4 K73 + 0x7C180200, // 0018 CALL R6 1 + 0xA80200AD, // 0019 EXBLK 0 #00C8 + 0x5C1C0C00, // 001A MOVE R7 R6 + 0x7C1C0000, // 001B CALL R7 0 + 0x88200F4C, // 001C GETMBR R8 R7 K76 + 0x88201112, // 001D GETMBR R8 R8 K18 + 0x900E2408, // 001E SETMBR R3 K18 R8 + 0x88200F4C, // 001F GETMBR R8 R7 K76 + 0x8820110D, // 0020 GETMBR R8 R8 K13 + 0x900E1A08, // 0021 SETMBR R3 K13 R8 + 0x88200F4C, // 0022 GETMBR R8 R7 K76 + 0x8820114D, // 0023 GETMBR R8 R8 K77 + 0x900E9A08, // 0024 SETMBR R3 K77 R8 + 0xB8220000, // 0025 GETNGBL R8 K0 + 0x8820114E, // 0026 GETMBR R8 R8 K78 + 0x900E1E08, // 0027 SETMBR R3 K15 R8 + 0xB8220000, // 0028 GETNGBL R8 K0 + 0x8C20114F, // 0029 GETMET R8 R8 K79 + 0x8828070D, // 002A GETMBR R10 R3 K13 + 0x882C074D, // 002B GETMBR R11 R3 K77 + 0x7C200600, // 002C CALL R8 3 + 0x60240008, // 002D GETGBL R9 G8 + 0x5C280600, // 002E MOVE R10 R3 + 0x7C240200, // 002F CALL R9 1 + 0x88280109, // 0030 GETMBR R10 R0 K9 + 0x8C281550, // 0031 GETMET R10 R10 K80 + 0x88300323, // 0032 GETMBR R12 R1 K35 + 0x88340F51, // 0033 GETMBR R13 R7 K81 + 0x5C380600, // 0034 MOVE R14 R3 + 0x7C280800, // 0035 CALL R10 4 + 0x882C0717, // 0036 GETMBR R11 R3 K23 + 0x4C300000, // 0037 LDNIL R12 + 0x202C160C, // 0038 NE R11 R11 R12 + 0x782E0005, // 0039 JMPF R11 #0040 + 0x602C0008, // 003A GETGBL R11 G8 + 0x88300717, // 003B GETMBR R12 R3 K23 + 0x7C2C0200, // 003C CALL R11 1 + 0x002EA40B, // 003D ADD R11 K82 R11 + 0x002C1753, // 003E ADD R11 R11 K83 + 0x70020000, // 003F JMP #0041 + 0x582C001B, // 0040 LDCONST R11 K27 + 0xB8322E00, // 0041 GETNGBL R12 K23 + 0x60340018, // 0042 GETGBL R13 G24 + 0x58380054, // 0043 LDCONST R14 K84 + 0x883C0323, // 0044 GETMBR R15 R1 K35 + 0x883C1F36, // 0045 GETMBR R15 R15 K54 + 0x5C401200, // 0046 MOVE R16 R9 + 0x78220001, // 0047 JMPF R8 #004A + 0x5C441000, // 0048 MOVE R17 R8 + 0x70020000, // 0049 JMP #004B + 0x5844001B, // 004A LDCONST R17 K27 + 0x5C481600, // 004B MOVE R18 R11 + 0x7C340A00, // 004C CALL R13 5 + 0x58380015, // 004D LDCONST R14 K21 + 0x7C300400, // 004E CALL R12 2 + 0x4C300000, // 004F LDNIL R12 + 0x900E2E0C, // 0050 SETMBR R3 K23 R12 + 0x60300015, // 0051 GETGBL R12 G21 + 0x5436001F, // 0052 LDINT R13 32 + 0x7C300200, // 0053 CALL R12 1 + 0x50340200, // 0054 LDBOOL R13 1 0 + 0x1C34140D, // 0055 EQ R13 R10 R13 + 0x74360004, // 0056 JMPT R13 #005C + 0x8834070F, // 0057 GETMBR R13 R3 K15 + 0xB83A0000, // 0058 GETNGBL R14 K0 + 0x88381D24, // 0059 GETMBR R14 R14 K36 + 0x1C341A0E, // 005A EQ R13 R13 R14 + 0x7836001A, // 005B JMPF R13 #0077 + 0xB8360000, // 005C GETNGBL R13 K0 + 0x88341B24, // 005D GETMBR R13 R13 K36 + 0x900E1E0D, // 005E SETMBR R3 K15 R13 + 0x8C340155, // 005F GETMET R13 R0 K85 + 0x5C3C1800, // 0060 MOVE R15 R12 + 0x5C400600, // 0061 MOVE R16 R3 + 0x4C440000, // 0062 LDNIL R17 + 0x7C340800, // 0063 CALL R13 4 + 0x88340B4B, // 0064 GETMBR R13 R5 K75 + 0x8C341B27, // 0065 GETMET R13 R13 K39 + 0x5C3C1800, // 0066 MOVE R15 R12 + 0x7C340400, // 0067 CALL R13 2 + 0xB8362600, // 0068 GETNGBL R13 K19 + 0x8C341B14, // 0069 GETMET R13 R13 K20 + 0x583C0015, // 006A LDCONST R15 K21 + 0x7C340400, // 006B CALL R13 2 + 0x78360008, // 006C JMPF R13 #0076 + 0xB8362E00, // 006D GETNGBL R13 K23 + 0x60380018, // 006E GETGBL R14 G24 + 0x583C0056, // 006F LDCONST R15 K86 + 0x88400323, // 0070 GETMBR R16 R1 K35 + 0x88402136, // 0071 GETMBR R16 R16 K54 + 0x88440357, // 0072 GETMBR R17 R1 K87 + 0x7C380600, // 0073 CALL R14 3 + 0x583C0015, // 0074 LDCONST R15 K21 + 0x7C340400, // 0075 CALL R13 2 + 0x7002004F, // 0076 JMP #00C7 + 0x4C340000, // 0077 LDNIL R13 + 0x2034140D, // 0078 NE R13 R10 R13 + 0x78360021, // 0079 JMPF R13 #009C + 0x8C340155, // 007A GETMET R13 R0 K85 + 0x5C3C1800, // 007B MOVE R15 R12 + 0x5C400600, // 007C MOVE R16 R3 + 0x5C441400, // 007D MOVE R17 R10 + 0x7C340800, // 007E CALL R13 4 + 0x88340B4B, // 007F GETMBR R13 R5 K75 + 0x8C341B27, // 0080 GETMET R13 R13 K39 + 0x5C3C1800, // 0081 MOVE R15 R12 + 0x7C340400, // 0082 CALL R13 2 + 0xB8360000, // 0083 GETNGBL R13 K0 + 0x8C341B4F, // 0084 GETMET R13 R13 K79 + 0x883C070D, // 0085 GETMBR R15 R3 K13 + 0x8840074D, // 0086 GETMBR R16 R3 K77 + 0x7C340600, // 0087 CALL R13 3 + 0x5C201A00, // 0088 MOVE R8 R13 + 0x5C341000, // 0089 MOVE R13 R8 + 0x74360000, // 008A JMPT R13 #008C + 0x5820001B, // 008B LDCONST R8 K27 + 0xB8362600, // 008C GETNGBL R13 K19 + 0x8C341B14, // 008D GETMET R13 R13 K20 + 0x583C0015, // 008E LDCONST R15 K21 + 0x7C340400, // 008F CALL R13 2 + 0x78360009, // 0090 JMPF R13 #009B + 0xB8362E00, // 0091 GETNGBL R13 K23 + 0x60380018, // 0092 GETGBL R14 G24 + 0x583C0058, // 0093 LDCONST R15 K88 + 0x88400323, // 0094 GETMBR R16 R1 K35 + 0x88402136, // 0095 GETMBR R16 R16 K54 + 0x5C440600, // 0096 MOVE R17 R3 + 0x5C481000, // 0097 MOVE R18 R8 + 0x7C380800, // 0098 CALL R14 4 + 0x583C0015, // 0099 LDCONST R15 K21 + 0x7C340400, // 009A CALL R13 2 + 0x7002002A, // 009B JMP #00C7 + 0x8834070F, // 009C GETMBR R13 R3 K15 + 0x4C380000, // 009D LDNIL R14 + 0x20341A0E, // 009E NE R13 R13 R14 + 0x78360018, // 009F JMPF R13 #00B9 + 0x8C340155, // 00A0 GETMET R13 R0 K85 + 0x5C3C1800, // 00A1 MOVE R15 R12 + 0x5C400600, // 00A2 MOVE R16 R3 + 0x4C440000, // 00A3 LDNIL R17 + 0x7C340800, // 00A4 CALL R13 4 + 0x88340B4B, // 00A5 GETMBR R13 R5 K75 + 0x8C341B27, // 00A6 GETMET R13 R13 K39 + 0x5C3C1800, // 00A7 MOVE R15 R12 + 0x7C340400, // 00A8 CALL R13 2 + 0xB8362600, // 00A9 GETNGBL R13 K19 + 0x8C341B14, // 00AA GETMET R13 R13 K20 + 0x583C0015, // 00AB LDCONST R15 K21 + 0x7C340400, // 00AC CALL R13 2 + 0x78360009, // 00AD JMPF R13 #00B8 + 0xB8362E00, // 00AE GETNGBL R13 K23 + 0x60380018, // 00AF GETGBL R14 G24 + 0x583C0059, // 00B0 LDCONST R15 K89 + 0x88400323, // 00B1 GETMBR R16 R1 K35 + 0x88402136, // 00B2 GETMBR R16 R16 K54 + 0x8844070F, // 00B3 GETMBR R17 R3 K15 + 0x88480357, // 00B4 GETMBR R18 R1 K87 + 0x7C380800, // 00B5 CALL R14 4 + 0x583C0015, // 00B6 LDCONST R15 K21 + 0x7C340400, // 00B7 CALL R13 2 + 0x7002000D, // 00B8 JMP #00C7 + 0xB8362600, // 00B9 GETNGBL R13 K19 + 0x8C341B14, // 00BA GETMET R13 R13 K20 + 0x583C0015, // 00BB LDCONST R15 K21 + 0x7C340400, // 00BC CALL R13 2 + 0x78360008, // 00BD JMPF R13 #00C7 + 0xB8362E00, // 00BE GETNGBL R13 K23 + 0x60380018, // 00BF GETGBL R14 G24 + 0x583C005A, // 00C0 LDCONST R15 K90 + 0x88400323, // 00C1 GETMBR R16 R1 K35 + 0x88402136, // 00C2 GETMBR R16 R16 K54 + 0x88440357, // 00C3 GETMBR R17 R1 K87 + 0x7C380600, // 00C4 CALL R14 3 + 0x583C0015, // 00C5 LDCONST R15 K21 + 0x7C340400, // 00C6 CALL R13 2 + 0x7001FF51, // 00C7 JMP #001A + 0x58180025, // 00C8 LDCONST R6 K37 + 0xAC180200, // 00C9 CATCH R6 1 0 + 0xB0080000, // 00CA RAISE 2 R0 R0 + 0x6018000C, // 00CB GETGBL R6 G12 + 0x881C0B4B, // 00CC GETMBR R7 R5 K75 + 0x7C180200, // 00CD CALL R6 1 + 0x24180D40, // 00CE GT R6 R6 K64 + 0x781A0008, // 00CF JMPF R6 #00D9 + 0x88180126, // 00D0 GETMBR R6 R0 K38 + 0x8C180D27, // 00D1 GETMET R6 R6 K39 + 0xB8220000, // 00D2 GETNGBL R8 K0 + 0x8C20115B, // 00D3 GETMET R8 R8 K91 + 0x5C280200, // 00D4 MOVE R10 R1 + 0x5C2C0A00, // 00D5 MOVE R11 R5 + 0x7C200600, // 00D6 CALL R8 3 + 0x7C180400, // 00D7 CALL R6 2 + 0x70020001, // 00D8 JMP #00DB + 0x50180000, // 00D9 LDBOOL R6 0 0 + 0x80040C00, // 00DA RET 1 R6 + 0x50180200, // 00DB LDBOOL R6 1 0 + 0x80040C00, // 00DC RET 1 R6 + 0x80000000, // 00DD RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_read_or_subscribe_request_event_pull +********************************************************************/ +be_local_closure(class_Matter_IM_process_read_or_subscribe_request_event_pull, /* name */ + be_nested_proto( + 24, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_read_or_subscribe_request_event_pull), + &be_const_str_solidified, + ( &(const binstruction[140]) { /* code */ + 0x880C035C, // 0000 GETMBR R3 R1 K92 + 0x4C100000, // 0001 LDNIL R4 + 0x200C0604, // 0002 NE R3 R3 R4 + 0x780E0085, // 0003 JMPF R3 #008A + 0x4C0C0000, // 0004 LDNIL R3 + 0x4C100000, // 0005 LDNIL R4 + 0x20100404, // 0006 NE R4 R2 R4 + 0x78120002, // 0007 JMPF R4 #000B + 0x8C10055D, // 0008 GETMET R4 R2 K93 + 0x7C100200, // 0009 CALL R4 1 + 0x70020000, // 000A JMP #000C + 0x4C100000, // 000B LDNIL R4 + 0x8814035C, // 000C GETMBR R5 R1 K92 + 0x78160003, // 000D JMPF R5 #0012 + 0x6014000C, // 000E GETGBL R5 G12 + 0x8818035C, // 000F GETMBR R6 R1 K92 + 0x7C140200, // 0010 CALL R5 1 + 0x70020000, // 0011 JMP #0013 + 0x58140040, // 0012 LDCONST R5 K64 + 0x24180B2A, // 0013 GT R6 R5 K42 + 0x781A0002, // 0014 JMPF R6 #0018 + 0x60180012, // 0015 GETGBL R6 G18 + 0x7C180000, // 0016 CALL R6 0 + 0x5C0C0C00, // 0017 MOVE R3 R6 + 0x8C18015E, // 0018 GETMET R6 R0 K94 + 0x8820035F, // 0019 GETMBR R8 R1 K95 + 0x5C240800, // 001A MOVE R9 R4 + 0x7C180600, // 001B CALL R6 3 + 0x881C035C, // 001C GETMBR R7 R1 K92 + 0x781E006A, // 001D JMPF R7 #0089 + 0x601C0010, // 001E GETGBL R7 G16 + 0x8820035C, // 001F GETMBR R8 R1 K92 + 0x7C1C0200, // 0020 CALL R7 1 + 0xA8020063, // 0021 EXBLK 0 #0086 + 0x5C200E00, // 0022 MOVE R8 R7 + 0x7C200000, // 0023 CALL R8 0 + 0xB8260000, // 0024 GETNGBL R9 K0 + 0x8C241360, // 0025 GETMET R9 R9 K96 + 0x882C0109, // 0026 GETMBR R11 R0 K9 + 0x7C240400, // 0027 CALL R9 2 + 0x8C28131C, // 0028 GETMET R10 R9 K28 + 0x88301112, // 0029 GETMBR R12 R8 K18 + 0x8834110D, // 002A GETMBR R13 R8 K13 + 0x88381161, // 002B GETMBR R14 R8 K97 + 0x5C3C0C00, // 002C MOVE R15 R6 + 0x7C280A00, // 002D CALL R10 5 + 0x24280B2A, // 002E GT R10 R5 K42 + 0x782A0003, // 002F JMPF R10 #0034 + 0x8C280727, // 0030 GETMET R10 R3 K39 + 0x5C301200, // 0031 MOVE R12 R9 + 0x7C280400, // 0032 CALL R10 2 + 0x70020000, // 0033 JMP #0035 + 0x5C0C1200, // 0034 MOVE R3 R9 + 0xB82A2600, // 0035 GETNGBL R10 K19 + 0x8C281514, // 0036 GETMET R10 R10 K20 + 0x58300015, // 0037 LDCONST R12 K21 + 0x7C280400, // 0038 CALL R10 2 + 0x782A004A, // 0039 JMPF R10 #0085 + 0x5828001B, // 003A LDCONST R10 K27 + 0x882C110D, // 003B GETMBR R11 R8 K13 + 0x4C300000, // 003C LDNIL R12 + 0x202C160C, // 003D NE R11 R11 R12 + 0x782E0011, // 003E JMPF R11 #0051 + 0x882C1161, // 003F GETMBR R11 R8 K97 + 0x4C300000, // 0040 LDNIL R12 + 0x202C160C, // 0041 NE R11 R11 R12 + 0x782E000D, // 0042 JMPF R11 #0051 + 0xB82E0000, // 0043 GETNGBL R11 K0 + 0x8C2C1762, // 0044 GETMET R11 R11 K98 + 0x8834110D, // 0045 GETMBR R13 R8 K13 + 0x88381161, // 0046 GETMBR R14 R8 K97 + 0x7C2C0600, // 0047 CALL R11 3 + 0x5C281600, // 0048 MOVE R10 R11 + 0x4C2C0000, // 0049 LDNIL R11 + 0x202C140B, // 004A NE R11 R10 R11 + 0x782E0002, // 004B JMPF R11 #004F + 0x002EA40A, // 004C ADD R11 K82 R10 + 0x002C1753, // 004D ADD R11 R11 K83 + 0x70020000, // 004E JMP #0050 + 0x582C001B, // 004F LDCONST R11 K27 + 0x5C281600, // 0050 MOVE R10 R11 + 0x882C1112, // 0051 GETMBR R11 R8 K18 + 0x4C300000, // 0052 LDNIL R12 + 0x202C160C, // 0053 NE R11 R11 R12 + 0x782E0004, // 0054 JMPF R11 #005A + 0x602C0018, // 0055 GETGBL R11 G24 + 0x58300063, // 0056 LDCONST R12 K99 + 0x88341112, // 0057 GETMBR R13 R8 K18 + 0x7C2C0400, // 0058 CALL R11 2 + 0x70020000, // 0059 JMP #005B + 0x582C0064, // 005A LDCONST R11 K100 + 0x8830110D, // 005B GETMBR R12 R8 K13 + 0x4C340000, // 005C LDNIL R13 + 0x2030180D, // 005D NE R12 R12 R13 + 0x78320004, // 005E JMPF R12 #0064 + 0x60300018, // 005F GETGBL R12 G24 + 0x58340065, // 0060 LDCONST R13 K101 + 0x8838110D, // 0061 GETMBR R14 R8 K13 + 0x7C300400, // 0062 CALL R12 2 + 0x70020000, // 0063 JMP #0065 + 0x58300066, // 0064 LDCONST R12 K102 + 0x88341161, // 0065 GETMBR R13 R8 K97 + 0x4C380000, // 0066 LDNIL R14 + 0x20341A0E, // 0067 NE R13 R13 R14 + 0x78360004, // 0068 JMPF R13 #006E + 0x60340018, // 0069 GETGBL R13 G24 + 0x58380063, // 006A LDCONST R14 K99 + 0x883C1161, // 006B GETMBR R15 R8 K97 + 0x7C340400, // 006C CALL R13 2 + 0x70020000, // 006D JMP #006F + 0x58340064, // 006E LDCONST R13 K100 + 0x4C380000, // 006F LDNIL R14 + 0x20380C0E, // 0070 NE R14 R6 R14 + 0x783A0004, // 0071 JMPF R14 #0077 + 0x60380018, // 0072 GETGBL R14 G24 + 0x583C0067, // 0073 LDCONST R15 K103 + 0x5C400C00, // 0074 MOVE R16 R6 + 0x7C380400, // 0075 CALL R14 2 + 0x70020000, // 0076 JMP #0078 + 0x5838001B, // 0077 LDCONST R14 K27 + 0xB83E2E00, // 0078 GETNGBL R15 K23 + 0x60400018, // 0079 GETGBL R16 G24 + 0x58440068, // 007A LDCONST R17 K104 + 0x88480523, // 007B GETMBR R18 R2 K35 + 0x88482536, // 007C GETMBR R18 R18 K54 + 0x5C4C1600, // 007D MOVE R19 R11 + 0x5C501800, // 007E MOVE R20 R12 + 0x5C541A00, // 007F MOVE R21 R13 + 0x5C581400, // 0080 MOVE R22 R10 + 0x5C5C1C00, // 0081 MOVE R23 R14 + 0x7C400E00, // 0082 CALL R16 7 + 0x58440015, // 0083 LDCONST R17 K21 + 0x7C3C0400, // 0084 CALL R15 2 + 0x7001FF9B, // 0085 JMP #0022 + 0x581C0025, // 0086 LDCONST R7 K37 + 0xAC1C0200, // 0087 CATCH R7 1 0 + 0xB0080000, // 0088 RAISE 2 R0 R0 + 0x80040600, // 0089 RET 1 R3 + 0x4C0C0000, // 008A LDNIL R3 + 0x80040600, // 008B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_enqueued +********************************************************************/ +be_local_closure(class_Matter_IM_send_enqueued, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(send_enqueued), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x58080040, // 0000 LDCONST R2 K64 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x88100126, // 0002 GETMBR R4 R0 K38 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0011, // 0005 JMPF R3 #0018 + 0x880C0126, // 0006 GETMBR R3 R0 K38 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x88100769, // 0008 GETMBR R4 R3 K105 + 0x74120004, // 0009 JMPT R4 #000F + 0x8810076A, // 000A GETMBR R4 R3 K106 + 0x78120002, // 000B JMPF R4 #000F + 0x8C10076B, // 000C GETMET R4 R3 K107 + 0x5C180200, // 000D MOVE R6 R1 + 0x7C100400, // 000E CALL R4 2 + 0x88100769, // 000F GETMBR R4 R3 K105 + 0x78120004, // 0010 JMPF R4 #0016 + 0x8C10016C, // 0011 GETMET R4 R0 K108 + 0x8818076D, // 0012 GETMBR R6 R3 K109 + 0x88180D57, // 0013 GETMBR R6 R6 K87 + 0x7C100400, // 0014 CALL R4 2 + 0x70020000, // 0015 JMP #0017 + 0x0008052A, // 0016 ADD R2 R2 K42 + 0x7001FFE8, // 0017 JMP #0001 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subscribe_request +********************************************************************/ +be_local_closure(class_Matter_IM_subscribe_request, /* name */ + be_nested_proto( + 17, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(subscribe_request), + &be_const_str_solidified, + ( &(const binstruction[96]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C076E, // 0001 GETMET R3 R3 K110 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0702, // 0003 GETMET R3 R3 K2 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x8810076F, // 0006 GETMBR R4 R3 K111 + 0x74120003, // 0007 JMPT R4 #000C + 0x88100146, // 0008 GETMBR R4 R0 K70 + 0x8C100970, // 0009 GETMET R4 R4 K112 + 0x88180323, // 000A GETMBR R6 R1 K35 + 0x7C100400, // 000B CALL R4 2 + 0x88100146, // 000C GETMBR R4 R0 K70 + 0x8C100971, // 000D GETMET R4 R4 K113 + 0x88180323, // 000E GETMBR R6 R1 K35 + 0x5C1C0600, // 000F MOVE R7 R3 + 0x7C100600, // 0010 CALL R4 3 + 0xB8162600, // 0011 GETNGBL R5 K19 + 0x8C140B14, // 0012 GETMET R5 R5 K20 + 0x581C0015, // 0013 LDCONST R7 K21 + 0x7C140400, // 0014 CALL R5 2 + 0x78160032, // 0015 JMPF R5 #0049 + 0x88140732, // 0016 GETMBR R5 R3 K50 + 0x4C180000, // 0017 LDNIL R6 + 0x20140A06, // 0018 NE R5 R5 R6 + 0x7816002E, // 0019 JMPF R5 #0049 + 0x60140012, // 001A GETGBL R5 G18 + 0x7C140000, // 001B CALL R5 0 + 0xB81A0000, // 001C GETNGBL R6 K0 + 0x8C180D03, // 001D GETMET R6 R6 K3 + 0x7C180200, // 001E CALL R6 1 + 0x901A3E01, // 001F SETMBR R6 K31 R1 + 0x601C0010, // 0020 GETGBL R7 G16 + 0x88200732, // 0021 GETMBR R8 R3 K50 + 0x7C1C0200, // 0022 CALL R7 1 + 0xA802000D, // 0023 EXBLK 0 #0032 + 0x5C200E00, // 0024 MOVE R8 R7 + 0x7C200000, // 0025 CALL R8 0 + 0x88241112, // 0026 GETMBR R9 R8 K18 + 0x901A2409, // 0027 SETMBR R6 K18 R9 + 0x8824110D, // 0028 GETMBR R9 R8 K13 + 0x901A1A09, // 0029 SETMBR R6 K13 R9 + 0x8824110E, // 002A GETMBR R9 R8 K14 + 0x901A1C09, // 002B SETMBR R6 K14 R9 + 0x8C240B27, // 002C GETMET R9 R5 K39 + 0x602C0008, // 002D GETGBL R11 G8 + 0x5C300C00, // 002E MOVE R12 R6 + 0x7C2C0200, // 002F CALL R11 1 + 0x7C240400, // 0030 CALL R9 2 + 0x7001FFF1, // 0031 JMP #0024 + 0x581C0025, // 0032 LDCONST R7 K37 + 0xAC1C0200, // 0033 CATCH R7 1 0 + 0xB0080000, // 0034 RAISE 2 R0 R0 + 0xB81E2E00, // 0035 GETNGBL R7 K23 + 0x60200018, // 0036 GETGBL R8 G24 + 0x58240072, // 0037 LDCONST R9 K114 + 0x88280323, // 0038 GETMBR R10 R1 K35 + 0x88281536, // 0039 GETMBR R10 R10 K54 + 0x8C2C0B73, // 003A GETMET R11 R5 K115 + 0x58340074, // 003B LDCONST R13 K116 + 0x7C2C0400, // 003C CALL R11 2 + 0x88300975, // 003D GETMBR R12 R4 K117 + 0x88340976, // 003E GETMBR R13 R4 K118 + 0x8838076F, // 003F GETMBR R14 R3 K111 + 0x783A0001, // 0040 JMPF R14 #0043 + 0x5838002A, // 0041 LDCONST R14 K42 + 0x70020000, // 0042 JMP #0044 + 0x58380040, // 0043 LDCONST R14 K64 + 0x883C0937, // 0044 GETMBR R15 R4 K55 + 0x88400731, // 0045 GETMBR R16 R3 K49 + 0x7C201000, // 0046 CALL R8 8 + 0x58240015, // 0047 LDCONST R9 K21 + 0x7C1C0400, // 0048 CALL R7 2 + 0x8C140139, // 0049 GETMET R5 R0 K57 + 0x5C1C0600, // 004A MOVE R7 R3 + 0x5C200200, // 004B MOVE R8 R1 + 0x7C140600, // 004C CALL R5 3 + 0x8C18013E, // 004D GETMET R6 R0 K62 + 0x5C200600, // 004E MOVE R8 R3 + 0x5C240200, // 004F MOVE R9 R1 + 0x7C180600, // 0050 CALL R6 3 + 0x8C1C0977, // 0051 GETMET R7 R4 K119 + 0x5C240C00, // 0052 MOVE R9 R6 + 0x7C1C0400, // 0053 CALL R7 2 + 0x881C0126, // 0054 GETMBR R7 R0 K38 + 0x8C1C0F27, // 0055 GETMET R7 R7 K39 + 0xB8260000, // 0056 GETNGBL R9 K0 + 0x8C241378, // 0057 GETMET R9 R9 K120 + 0x5C2C0200, // 0058 MOVE R11 R1 + 0x5C300A00, // 0059 MOVE R12 R5 + 0x5C340C00, // 005A MOVE R13 R6 + 0x5C380800, // 005B MOVE R14 R4 + 0x7C240A00, // 005C CALL R9 5 + 0x7C1C0400, // 005D CALL R7 2 + 0x501C0200, // 005E LDBOOL R7 1 0 + 0x80040E00, // 005F RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_ack_now +********************************************************************/ +be_local_closure(class_Matter_IM_send_ack_now, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(send_ack_now), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x80000400, // 0003 RET 0 + 0x88080323, // 0004 GETMBR R2 R1 K35 + 0x8808053C, // 0005 GETMBR R2 R2 K60 + 0x8C080579, // 0006 GETMET R2 R2 K121 + 0x5C100200, // 0007 MOVE R4 R1 + 0x50140000, // 0008 LDBOOL R5 0 0 + 0x7C080600, // 0009 CALL R2 3 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: expire_sendqueue +********************************************************************/ +be_local_closure(class_Matter_IM_expire_sendqueue, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(expire_sendqueue), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58040040, // 0000 LDCONST R1 K64 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x880C0126, // 0002 GETMBR R3 R0 K38 + 0x7C080200, // 0003 CALL R2 1 + 0x14080202, // 0004 LT R2 R1 R2 + 0x780A000F, // 0005 JMPF R2 #0016 + 0x88080126, // 0006 GETMBR R2 R0 K38 + 0x94080401, // 0007 GETIDX R2 R2 R1 + 0xB80E2600, // 0008 GETNGBL R3 K19 + 0x8C0C077A, // 0009 GETMET R3 R3 K122 + 0x8814057B, // 000A GETMBR R5 R2 K123 + 0x7C0C0400, // 000B CALL R3 2 + 0x780E0006, // 000C JMPF R3 #0014 + 0x8C0C057C, // 000D GETMET R3 R2 K124 + 0x7C0C0200, // 000E CALL R3 1 + 0x880C0126, // 000F GETMBR R3 R0 K38 + 0x8C0C077D, // 0010 GETMET R3 R3 K125 + 0x5C140200, // 0011 MOVE R5 R1 + 0x7C0C0400, // 0012 CALL R3 2 + 0x70020000, // 0013 JMP #0015 + 0x0004032A, // 0014 ADD R1 R1 K42 + 0x7001FFEA, // 0015 JMP #0001 + 0x4C080000, // 0016 LDNIL R2 + 0x80040400, // 0017 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_incoming_ack +********************************************************************/ +be_local_closure(class_Matter_IM_process_incoming_ack, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_incoming_ack), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8C08017E, // 0000 GETMET R2 R0 K126 + 0x88100357, // 0001 GETMBR R4 R1 K87 + 0x7C080400, // 0002 CALL R2 2 + 0x780A0008, // 0003 JMPF R2 #000D + 0x8C0C057F, // 0004 GETMET R3 R2 K127 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C0C0400, // 0006 CALL R3 2 + 0x88100569, // 0007 GETMBR R4 R2 K105 + 0x78120002, // 0008 JMPF R4 #000C + 0x8C10016C, // 0009 GETMET R4 R0 K108 + 0x88180357, // 000A GETMBR R6 R1 K87 + 0x7C100400, // 000B CALL R4 2 + 0x80040600, // 000C RET 1 R3 + 0x500C0000, // 000D LDBOOL R3 0 0 + 0x80040600, // 000E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_sendqueue_by_exchangeid +********************************************************************/ +be_local_closure(class_Matter_IM_remove_sendqueue_by_exchangeid, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(remove_sendqueue_by_exchangeid), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x80000400, // 0003 RET 0 + 0x58080040, // 0004 LDCONST R2 K64 + 0x600C000C, // 0005 GETGBL R3 G12 + 0x88100126, // 0006 GETMBR R4 R0 K38 + 0x7C0C0200, // 0007 CALL R3 1 + 0x140C0403, // 0008 LT R3 R2 R3 + 0x780E000C, // 0009 JMPF R3 #0017 + 0x880C0126, // 000A GETMBR R3 R0 K38 + 0x940C0602, // 000B GETIDX R3 R3 R2 + 0x8C0C0780, // 000C GETMET R3 R3 K128 + 0x7C0C0200, // 000D CALL R3 1 + 0x1C0C0601, // 000E EQ R3 R3 R1 + 0x780E0004, // 000F JMPF R3 #0015 + 0x880C0126, // 0010 GETMBR R3 R0 K38 + 0x8C0C077D, // 0011 GETMET R3 R3 K125 + 0x5C140400, // 0012 MOVE R5 R2 + 0x7C0C0400, // 0013 CALL R3 2 + 0x70020000, // 0014 JMP #0016 + 0x0008052A, // 0015 ADD R2 R2 K42 + 0x7001FFED, // 0016 JMP #0005 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_single_attribute_status_to_bytes +********************************************************************/ +be_local_closure(class_Matter_IM_write_single_attribute_status_to_bytes, /* name */ + be_nested_proto( + 16, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(write_single_attribute_status_to_bytes), + &be_const_str_solidified, + ( &(const binstruction[86]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100981, // 0001 GETMBR R4 R4 K129 + 0xB8160000, // 0002 GETNGBL R5 K0 + 0x8C140B16, // 0003 GETMET R5 R5 K22 + 0x881C050D, // 0004 GETMBR R7 R2 K13 + 0x8820050E, // 0005 GETMBR R8 R2 K14 + 0x7C140600, // 0006 CALL R5 3 + 0x78160002, // 0007 JMPF R5 #000B + 0x001A3205, // 0008 ADD R6 K25 R5 + 0x00180D1A, // 0009 ADD R6 R6 K26 + 0x70020000, // 000A JMP #000C + 0x5818001B, // 000B LDCONST R6 K27 + 0x5C140C00, // 000C MOVE R5 R6 + 0x8818050F, // 000D GETMBR R6 R2 K15 + 0x4C1C0000, // 000E LDNIL R7 + 0x20180C07, // 000F NE R6 R6 R7 + 0x781A0034, // 0010 JMPF R6 #0046 + 0xB81A0000, // 0011 GETNGBL R6 K0 + 0x8C180D82, // 0012 GETMET R6 R6 K130 + 0x7C180200, // 0013 CALL R6 1 + 0xB81E0000, // 0014 GETNGBL R7 K0 + 0x8C1C0F34, // 0015 GETMET R7 R7 K52 + 0x7C1C0200, // 0016 CALL R7 1 + 0x901A1407, // 0017 SETMBR R6 K10 R7 + 0xB81E0000, // 0018 GETNGBL R7 K0 + 0x8C1C0F83, // 0019 GETMET R7 R7 K131 + 0x7C1C0200, // 001A CALL R7 1 + 0x901A1E07, // 001B SETMBR R6 K15 R7 + 0x881C0D0A, // 001C GETMBR R7 R6 K10 + 0x88200512, // 001D GETMBR R8 R2 K18 + 0x901E2408, // 001E SETMBR R7 K18 R8 + 0x881C0D0A, // 001F GETMBR R7 R6 K10 + 0x8820050D, // 0020 GETMBR R8 R2 K13 + 0x901E1A08, // 0021 SETMBR R7 K13 R8 + 0x881C0D0A, // 0022 GETMBR R7 R6 K10 + 0x8820050E, // 0023 GETMBR R8 R2 K14 + 0x901E1C08, // 0024 SETMBR R7 K14 R8 + 0x881C0D0F, // 0025 GETMBR R7 R6 K15 + 0x8820050F, // 0026 GETMBR R8 R2 K15 + 0x901E1E08, // 0027 SETMBR R7 K15 R8 + 0x881C0307, // 0028 GETMBR R7 R1 K7 + 0x8C1C0F27, // 0029 GETMET R7 R7 K39 + 0x5C240C00, // 002A MOVE R9 R6 + 0x7C1C0400, // 002B CALL R7 2 + 0xB81E2E00, // 002C GETNGBL R7 K23 + 0x60200018, // 002D GETGBL R8 G24 + 0x58240084, // 002E LDCONST R9 K132 + 0x60280008, // 002F GETGBL R10 G8 + 0x5C2C0400, // 0030 MOVE R11 R2 + 0x7C280200, // 0031 CALL R10 1 + 0x5C2C0A00, // 0032 MOVE R11 R5 + 0x5C300600, // 0033 MOVE R12 R3 + 0x8834050F, // 0034 GETMBR R13 R2 K15 + 0x8838050F, // 0035 GETMBR R14 R2 K15 + 0xB83E0000, // 0036 GETNGBL R15 K0 + 0x883C1F24, // 0037 GETMBR R15 R15 K36 + 0x1C381C0F, // 0038 EQ R14 R14 R15 + 0x783A0001, // 0039 JMPF R14 #003C + 0x58380024, // 003A LDCONST R14 K36 + 0x70020000, // 003B JMP #003D + 0x5838001B, // 003C LDCONST R14 K27 + 0x7C200C00, // 003D CALL R8 6 + 0x88240512, // 003E GETMBR R9 R2 K18 + 0x20241340, // 003F NE R9 R9 K64 + 0x78260001, // 0040 JMPF R9 #0043 + 0x5824002B, // 0041 LDCONST R9 K43 + 0x70020000, // 0042 JMP #0044 + 0x58240015, // 0043 LDCONST R9 K21 + 0x7C1C0400, // 0044 CALL R7 2 + 0x7002000E, // 0045 JMP #0055 + 0xB81A2600, // 0046 GETNGBL R6 K19 + 0x8C180D14, // 0047 GETMET R6 R6 K20 + 0x58200015, // 0048 LDCONST R8 K21 + 0x7C180400, // 0049 CALL R6 2 + 0x781A0009, // 004A JMPF R6 #0055 + 0xB81A2E00, // 004B GETNGBL R6 K23 + 0x601C0018, // 004C GETGBL R7 G24 + 0x58200085, // 004D LDCONST R8 K133 + 0x60240008, // 004E GETGBL R9 G8 + 0x5C280400, // 004F MOVE R10 R2 + 0x7C240200, // 0050 CALL R9 1 + 0x5C280A00, // 0051 MOVE R10 R5 + 0x7C1C0600, // 0052 CALL R7 3 + 0x58200015, // 0053 LDCONST R8 K21 + 0x7C180400, // 0054 CALL R6 2 + 0x80000000, // 0055 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x90021201, // 0000 SETMBR R0 K9 R1 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x90024C02, // 0003 SETMBR R0 K38 R2 + 0xB80A0000, // 0004 GETNGBL R2 K0 + 0x8C080586, // 0005 GETMET R2 R2 K134 + 0x5C100000, // 0006 MOVE R4 R0 + 0x7C080400, // 0007 CALL R2 2 + 0x90028C02, // 0008 SETMBR R0 K70 R2 + 0xB80A0000, // 0009 GETNGBL R2 K0 + 0x8C080588, // 000A GETMET R2 R2 K136 + 0x7C080200, // 000B CALL R2 1 + 0x90030E02, // 000C SETMBR R0 K135 R2 + 0xB80A0000, // 000D GETNGBL R2 K0 + 0x8C08058A, // 000E GETMET R2 R2 K138 + 0x7C080200, // 000F CALL R2 1 + 0x90031202, // 0010 SETMBR R0 K137 R2 + 0xB80A0000, // 0011 GETNGBL R2 K0 + 0x88080581, // 0012 GETMBR R2 R2 K129 + 0x8C08058C, // 0013 GETMET R2 R2 K140 + 0x7C080200, // 0014 CALL R2 1 + 0x90031602, // 0015 SETMBR R0 K139 R2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_IM_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04018D, // 0000 GETMET R1 R0 K141 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_invoke_request_solo +********************************************************************/ +be_local_closure(class_Matter_IM_process_invoke_request_solo, /* name */ + be_nested_proto( + 15, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_invoke_request_solo), + &be_const_str_solidified, + ( &(const binstruction[188]) { /* code */ + 0x900A3E01, // 0000 SETMBR R2 K31 R1 + 0xB80E0000, // 0001 GETNGBL R3 K0 + 0x880C074E, // 0002 GETMBR R3 R3 K78 + 0x900A1E03, // 0003 SETMBR R2 K15 R3 + 0xB80E0000, // 0004 GETNGBL R3 K0 + 0x8C0C074F, // 0005 GETMET R3 R3 K79 + 0x8814050D, // 0006 GETMBR R5 R2 K13 + 0x8818054D, // 0007 GETMBR R6 R2 K77 + 0x7C0C0600, // 0008 CALL R3 3 + 0x60100008, // 0009 GETGBL R4 G8 + 0x5C140400, // 000A MOVE R5 R2 + 0x7C100200, // 000B CALL R4 1 + 0x88140109, // 000C GETMBR R5 R0 K9 + 0x8C140B50, // 000D GETMET R5 R5 K80 + 0x881C0323, // 000E GETMBR R7 R1 K35 + 0x88200551, // 000F GETMBR R8 R2 K81 + 0x5C240400, // 0010 MOVE R9 R2 + 0x7C140800, // 0011 CALL R5 4 + 0x88180517, // 0012 GETMBR R6 R2 K23 + 0x4C1C0000, // 0013 LDNIL R7 + 0x20180C07, // 0014 NE R6 R6 R7 + 0x781A0005, // 0015 JMPF R6 #001C + 0x60180008, // 0016 GETGBL R6 G8 + 0x881C0517, // 0017 GETMBR R7 R2 K23 + 0x7C180200, // 0018 CALL R6 1 + 0x001AA406, // 0019 ADD R6 K82 R6 + 0x00180D53, // 001A ADD R6 R6 K83 + 0x70020000, // 001B JMP #001D + 0x5818001B, // 001C LDCONST R6 K27 + 0xB81E2600, // 001D GETNGBL R7 K19 + 0x8C1C0F14, // 001E GETMET R7 R7 K20 + 0x58240015, // 001F LDCONST R9 K21 + 0x7C1C0400, // 0020 CALL R7 2 + 0x781E000D, // 0021 JMPF R7 #0030 + 0xB81E2E00, // 0022 GETNGBL R7 K23 + 0x60200018, // 0023 GETGBL R8 G24 + 0x5824008E, // 0024 LDCONST R9 K142 + 0x88280323, // 0025 GETMBR R10 R1 K35 + 0x88281536, // 0026 GETMBR R10 R10 K54 + 0x5C2C0800, // 0027 MOVE R11 R4 + 0x780E0001, // 0028 JMPF R3 #002B + 0x5C300600, // 0029 MOVE R12 R3 + 0x70020000, // 002A JMP #002C + 0x5830001B, // 002B LDCONST R12 K27 + 0x5C340C00, // 002C MOVE R13 R6 + 0x7C200A00, // 002D CALL R8 5 + 0x58240015, // 002E LDCONST R9 K21 + 0x7C1C0400, // 002F CALL R7 2 + 0x4C1C0000, // 0030 LDNIL R7 + 0x900A2E07, // 0031 SETMBR R2 K23 R7 + 0x601C0015, // 0032 GETGBL R7 G21 + 0x5422002F, // 0033 LDINT R8 48 + 0x7C1C0200, // 0034 CALL R7 1 + 0x8C200F29, // 0035 GETMET R8 R7 K41 + 0x5828008F, // 0036 LDCONST R10 K143 + 0x542DFFFB, // 0037 LDINT R11 -4 + 0x7C200600, // 0038 CALL R8 3 + 0x8C200F29, // 0039 GETMET R8 R7 K41 + 0x5828002A, // 003A LDCONST R10 K42 + 0x582C002A, // 003B LDCONST R11 K42 + 0x7C200600, // 003C CALL R8 3 + 0x50200200, // 003D LDBOOL R8 1 0 + 0x1C200A08, // 003E EQ R8 R5 R8 + 0x74220004, // 003F JMPT R8 #0045 + 0x8820050F, // 0040 GETMBR R8 R2 K15 + 0xB8260000, // 0041 GETNGBL R9 K0 + 0x88241324, // 0042 GETMBR R9 R9 K36 + 0x1C201009, // 0043 EQ R8 R8 R9 + 0x78220016, // 0044 JMPF R8 #005C + 0xB8220000, // 0045 GETNGBL R8 K0 + 0x88201124, // 0046 GETMBR R8 R8 K36 + 0x900A1E08, // 0047 SETMBR R2 K15 R8 + 0x8C200155, // 0048 GETMET R8 R0 K85 + 0x5C280E00, // 0049 MOVE R10 R7 + 0x5C2C0400, // 004A MOVE R11 R2 + 0x4C300000, // 004B LDNIL R12 + 0x7C200800, // 004C CALL R8 4 + 0xB8222600, // 004D GETNGBL R8 K19 + 0x8C201114, // 004E GETMET R8 R8 K20 + 0x58280015, // 004F LDCONST R10 K21 + 0x7C200400, // 0050 CALL R8 2 + 0x78220008, // 0051 JMPF R8 #005B + 0xB8222E00, // 0052 GETNGBL R8 K23 + 0x60240018, // 0053 GETGBL R9 G24 + 0x58280056, // 0054 LDCONST R10 K86 + 0x882C0323, // 0055 GETMBR R11 R1 K35 + 0x882C1736, // 0056 GETMBR R11 R11 K54 + 0x88300357, // 0057 GETMBR R12 R1 K87 + 0x7C240600, // 0058 CALL R9 3 + 0x58280015, // 0059 LDCONST R10 K21 + 0x7C200400, // 005A CALL R8 2 + 0x70020043, // 005B JMP #00A0 + 0x4C200000, // 005C LDNIL R8 + 0x20200A08, // 005D NE R8 R5 R8 + 0x78220017, // 005E JMPF R8 #0077 + 0x8C200155, // 005F GETMET R8 R0 K85 + 0x5C280E00, // 0060 MOVE R10 R7 + 0x5C2C0400, // 0061 MOVE R11 R2 + 0x5C300A00, // 0062 MOVE R12 R5 + 0x7C200800, // 0063 CALL R8 4 + 0x5C200600, // 0064 MOVE R8 R3 + 0x74220000, // 0065 JMPT R8 #0067 + 0x580C001B, // 0066 LDCONST R3 K27 + 0xB8222600, // 0067 GETNGBL R8 K19 + 0x8C201114, // 0068 GETMET R8 R8 K20 + 0x58280015, // 0069 LDCONST R10 K21 + 0x7C200400, // 006A CALL R8 2 + 0x78220009, // 006B JMPF R8 #0076 + 0xB8222E00, // 006C GETNGBL R8 K23 + 0x60240018, // 006D GETGBL R9 G24 + 0x58280058, // 006E LDCONST R10 K88 + 0x882C0323, // 006F GETMBR R11 R1 K35 + 0x882C1736, // 0070 GETMBR R11 R11 K54 + 0x5C300400, // 0071 MOVE R12 R2 + 0x5C340600, // 0072 MOVE R13 R3 + 0x7C240800, // 0073 CALL R9 4 + 0x58280015, // 0074 LDCONST R10 K21 + 0x7C200400, // 0075 CALL R8 2 + 0x70020028, // 0076 JMP #00A0 + 0x8820050F, // 0077 GETMBR R8 R2 K15 + 0x4C240000, // 0078 LDNIL R9 + 0x20201009, // 0079 NE R8 R8 R9 + 0x78220014, // 007A JMPF R8 #0090 + 0x8C200155, // 007B GETMET R8 R0 K85 + 0x5C280E00, // 007C MOVE R10 R7 + 0x5C2C0400, // 007D MOVE R11 R2 + 0x4C300000, // 007E LDNIL R12 + 0x7C200800, // 007F CALL R8 4 + 0xB8222600, // 0080 GETNGBL R8 K19 + 0x8C201114, // 0081 GETMET R8 R8 K20 + 0x58280015, // 0082 LDCONST R10 K21 + 0x7C200400, // 0083 CALL R8 2 + 0x78220009, // 0084 JMPF R8 #008F + 0xB8222E00, // 0085 GETNGBL R8 K23 + 0x60240018, // 0086 GETGBL R9 G24 + 0x58280059, // 0087 LDCONST R10 K89 + 0x882C0323, // 0088 GETMBR R11 R1 K35 + 0x882C1736, // 0089 GETMBR R11 R11 K54 + 0x8830050F, // 008A GETMBR R12 R2 K15 + 0x88340357, // 008B GETMBR R13 R1 K87 + 0x7C240800, // 008C CALL R9 4 + 0x58280015, // 008D LDCONST R10 K21 + 0x7C200400, // 008E CALL R8 2 + 0x7002000F, // 008F JMP #00A0 + 0xB8222600, // 0090 GETNGBL R8 K19 + 0x8C201114, // 0091 GETMET R8 R8 K20 + 0x58280015, // 0092 LDCONST R10 K21 + 0x7C200400, // 0093 CALL R8 2 + 0x78220008, // 0094 JMPF R8 #009E + 0xB8222E00, // 0095 GETNGBL R8 K23 + 0x60240018, // 0096 GETGBL R9 G24 + 0x5828005A, // 0097 LDCONST R10 K90 + 0x882C0323, // 0098 GETMBR R11 R1 K35 + 0x882C1736, // 0099 GETMBR R11 R11 K54 + 0x88300357, // 009A GETMBR R12 R1 K87 + 0x7C240600, // 009B CALL R9 3 + 0x58280015, // 009C LDCONST R10 K21 + 0x7C200400, // 009D CALL R8 2 + 0x50200000, // 009E LDBOOL R8 0 0 + 0x80041000, // 009F RET 1 R8 + 0x8C200F29, // 00A0 GETMET R8 R7 K41 + 0x58280090, // 00A1 LDCONST R10 K144 + 0x542DFFFB, // 00A2 LDINT R11 -4 + 0x7C200600, // 00A3 CALL R8 3 + 0x8C200F29, // 00A4 GETMET R8 R7 K41 + 0x542A0017, // 00A5 LDINT R10 24 + 0x582C002A, // 00A6 LDCONST R11 K42 + 0x7C200600, // 00A7 CALL R8 3 + 0x8C200391, // 00A8 GETMET R8 R1 K145 + 0x542A0008, // 00A9 LDINT R10 9 + 0x502C0200, // 00AA LDBOOL R11 1 0 + 0x7C200600, // 00AB CALL R8 3 + 0x88240109, // 00AC GETMBR R9 R0 K9 + 0x88241392, // 00AD GETMBR R9 R9 K146 + 0x88280393, // 00AE GETMBR R10 R1 K147 + 0x8C2C1594, // 00AF GETMET R11 R10 K148 + 0x7C2C0200, // 00B0 CALL R11 1 + 0x8C2C1195, // 00B1 GETMET R11 R8 K149 + 0x5C340E00, // 00B2 MOVE R13 R7 + 0x5C381400, // 00B3 MOVE R14 R10 + 0x7C2C0600, // 00B4 CALL R11 3 + 0x8C2C1196, // 00B5 GETMET R11 R8 K150 + 0x7C2C0200, // 00B6 CALL R11 1 + 0x8C2C1397, // 00B7 GETMET R11 R9 K151 + 0x5C341000, // 00B8 MOVE R13 R8 + 0x7C2C0400, // 00B9 CALL R11 2 + 0x502C0200, // 00BA LDBOOL R11 1 0 + 0x80041600, // 00BB RET 1 R11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_subscribe_heartbeat +********************************************************************/ +be_local_closure(class_Matter_IM_send_subscribe_heartbeat, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(send_subscribe_heartbeat), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x88080323, // 0000 GETMBR R2 R1 K35 + 0xB80E2600, // 0001 GETNGBL R3 K19 + 0x8C0C0714, // 0002 GETMET R3 R3 K20 + 0x58140015, // 0003 LDCONST R5 K21 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780E0007, // 0005 JMPF R3 #000E + 0xB80E2E00, // 0006 GETNGBL R3 K23 + 0x60100018, // 0007 GETGBL R4 G24 + 0x58140098, // 0008 LDCONST R5 K152 + 0x88180536, // 0009 GETMBR R6 R2 K54 + 0x881C0337, // 000A GETMBR R7 R1 K55 + 0x7C100600, // 000B CALL R4 3 + 0x58140015, // 000C LDCONST R5 K21 + 0x7C0C0400, // 000D CALL R3 2 + 0x500C0200, // 000E LDBOOL R3 1 0 + 0x90067003, // 000F SETMBR R1 K56 R3 + 0x880C0126, // 0010 GETMBR R3 R0 K38 + 0x8C0C0727, // 0011 GETMET R3 R3 K39 + 0xB8160000, // 0012 GETNGBL R5 K0 + 0x8C140B99, // 0013 GETMET R5 R5 K153 + 0x881C053C, // 0014 GETMBR R7 R2 K60 + 0x5C200400, // 0015 MOVE R8 R2 + 0x5C240200, // 0016 MOVE R9 R1 + 0x7C140800, // 0017 CALL R5 4 + 0x7C0C0400, // 0018 CALL R3 2 + 0x8C0C013D, // 0019 GETMET R3 R0 K61 + 0x8814053C, // 001A GETMBR R5 R2 K60 + 0x7C0C0400, // 001B CALL R3 2 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_sendqueue_by_exchangeid +********************************************************************/ +be_local_closure(class_Matter_IM_find_sendqueue_by_exchangeid, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(find_sendqueue_by_exchangeid), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x58080040, // 0005 LDCONST R2 K64 + 0x600C000C, // 0006 GETGBL R3 G12 + 0x88100126, // 0007 GETMBR R4 R0 K38 + 0x7C0C0200, // 0008 CALL R3 1 + 0x140C0403, // 0009 LT R3 R2 R3 + 0x780E0008, // 000A JMPF R3 #0014 + 0x880C0126, // 000B GETMBR R3 R0 K38 + 0x940C0602, // 000C GETIDX R3 R3 R2 + 0x8C100780, // 000D GETMET R4 R3 K128 + 0x7C100200, // 000E CALL R4 1 + 0x1C100801, // 000F EQ R4 R4 R1 + 0x78120000, // 0010 JMPF R4 #0012 + 0x80040600, // 0011 RET 1 R3 + 0x0008052A, // 0012 ADD R2 R2 K42 + 0x7001FFF1, // 0013 JMP #0006 + 0x4C0C0000, // 0014 LDNIL R3 + 0x80040600, // 0015 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_read_request_solo +********************************************************************/ +be_local_closure(class_Matter_IM_process_read_request_solo, /* name */ + be_nested_proto( + 19, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_read_request_solo), + &be_const_str_solidified, + ( &(const binstruction[242]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x880C0710, // 0001 GETMBR R3 R3 K16 + 0x900A1E03, // 0002 SETMBR R2 K15 R3 + 0x900A3E01, // 0003 SETMBR R2 K31 R1 + 0x880C0109, // 0004 GETMBR R3 R0 K9 + 0x8C0C079A, // 0005 GETMET R3 R3 K154 + 0x5C140400, // 0006 MOVE R5 R2 + 0x7C0C0400, // 0007 CALL R3 2 + 0x4C100000, // 0008 LDNIL R4 + 0x4C140000, // 0009 LDNIL R5 + 0x4C180000, // 000A LDNIL R6 + 0x20180606, // 000B NE R6 R3 R6 + 0x781A0008, // 000C JMPF R6 #0016 + 0xB81A0000, // 000D GETNGBL R6 K0 + 0x88180D9B, // 000E GETMBR R6 R6 K155 + 0x900A1E06, // 000F SETMBR R2 K15 R6 + 0x8C18079C, // 0010 GETMET R6 R3 K156 + 0x88200323, // 0011 GETMBR R8 R1 K35 + 0x5C240400, // 0012 MOVE R9 R2 + 0x8828018B, // 0013 GETMBR R10 R0 K139 + 0x7C180800, // 0014 CALL R6 4 + 0x5C100C00, // 0015 MOVE R4 R6 + 0x4C180000, // 0016 LDNIL R6 + 0x20180806, // 0017 NE R6 R4 R6 + 0x781A0036, // 0018 JMPF R6 #0050 + 0x8818099D, // 0019 GETMBR R6 R4 K157 + 0x741A0001, // 001A JMPT R6 #001D + 0x8818099E, // 001B GETMBR R6 R4 K158 + 0x781A0018, // 001C JMPF R6 #0036 + 0x8C18099F, // 001D GETMET R6 R4 K159 + 0x7C180200, // 001E CALL R6 1 + 0xB81E0000, // 001F GETNGBL R7 K0 + 0x881C0F3F, // 0020 GETMBR R7 R7 K63 + 0x881C0FA0, // 0021 GETMBR R7 R7 K160 + 0x24180C07, // 0022 GT R6 R6 R7 + 0x781A0011, // 0023 JMPF R6 #0036 + 0x4C100000, // 0024 LDNIL R4 + 0xB81A2E00, // 0025 GETNGBL R6 K23 + 0x601C0018, // 0026 GETGBL R7 G24 + 0x582000A1, // 0027 LDCONST R8 K161 + 0x7C1C0200, // 0028 CALL R7 1 + 0x58200015, // 0029 LDCONST R8 K21 + 0x7C180400, // 002A CALL R6 2 + 0xB81A0000, // 002B GETNGBL R6 K0 + 0x88180D81, // 002C GETMBR R6 R6 K129 + 0x8C180DA2, // 002D GETMET R6 R6 K162 + 0x88200393, // 002E GETMBR R8 R1 K147 + 0x882403A3, // 002F GETMBR R9 R1 K163 + 0x7C180600, // 0030 CALL R6 3 + 0x8C1C01A4, // 0031 GETMET R7 R0 K164 + 0x5C240200, // 0032 MOVE R9 R1 + 0x5C280C00, // 0033 MOVE R10 R6 + 0x7C1C0600, // 0034 CALL R7 3 + 0x80040E00, // 0035 RET 1 R7 + 0x60180015, // 0036 GETGBL R6 G21 + 0x541E002F, // 0037 LDINT R7 48 + 0x7C180200, // 0038 CALL R6 1 + 0x5C140C00, // 0039 MOVE R5 R6 + 0x8C180B29, // 003A GETMET R6 R5 K41 + 0x54220014, // 003B LDINT R8 21 + 0x5824002A, // 003C LDCONST R9 K42 + 0x7C180600, // 003D CALL R6 3 + 0x8C180B29, // 003E GETMET R6 R5 K41 + 0x54223600, // 003F LDINT R8 13825 + 0x5425FFFD, // 0040 LDINT R9 -2 + 0x7C180600, // 0041 CALL R6 3 + 0x8C1801A5, // 0042 GETMET R6 R0 K165 + 0x5C200A00, // 0043 MOVE R8 R5 + 0x5C240400, // 0044 MOVE R9 R2 + 0x5C280800, // 0045 MOVE R10 R4 + 0x7C180800, // 0046 CALL R6 4 + 0x8C180B29, // 0047 GETMET R6 R5 K41 + 0x58200090, // 0048 LDCONST R8 K144 + 0x5425FFFB, // 0049 LDINT R9 -4 + 0x7C180600, // 004A CALL R6 3 + 0x8C180B29, // 004B GETMET R6 R5 K41 + 0x54220017, // 004C LDINT R8 24 + 0x5824002A, // 004D LDCONST R9 K42 + 0x7C180600, // 004E CALL R6 3 + 0x70020028, // 004F JMP #0079 + 0x8818050F, // 0050 GETMBR R6 R2 K15 + 0x4C1C0000, // 0051 LDNIL R7 + 0x20180C07, // 0052 NE R6 R6 R7 + 0x781A0019, // 0053 JMPF R6 #006E + 0x60180015, // 0054 GETGBL R6 G21 + 0x541E002F, // 0055 LDINT R7 48 + 0x7C180200, // 0056 CALL R6 1 + 0x5C140C00, // 0057 MOVE R5 R6 + 0x8C180B29, // 0058 GETMET R6 R5 K41 + 0x54220014, // 0059 LDINT R8 21 + 0x5824002A, // 005A LDCONST R9 K42 + 0x7C180600, // 005B CALL R6 3 + 0x8C180B29, // 005C GETMET R6 R5 K41 + 0x54223600, // 005D LDINT R8 13825 + 0x5425FFFD, // 005E LDINT R9 -2 + 0x7C180600, // 005F CALL R6 3 + 0x8C1801A6, // 0060 GETMET R6 R0 K166 + 0x5C200A00, // 0061 MOVE R8 R5 + 0x5C240400, // 0062 MOVE R9 R2 + 0x8828050F, // 0063 GETMBR R10 R2 K15 + 0x7C180800, // 0064 CALL R6 4 + 0x8C180B29, // 0065 GETMET R6 R5 K41 + 0x58200090, // 0066 LDCONST R8 K144 + 0x5425FFFB, // 0067 LDINT R9 -4 + 0x7C180600, // 0068 CALL R6 3 + 0x8C180B29, // 0069 GETMET R6 R5 K41 + 0x54220017, // 006A LDINT R8 24 + 0x5824002A, // 006B LDCONST R9 K42 + 0x7C180600, // 006C CALL R6 3 + 0x7002000A, // 006D JMP #0079 + 0xB81A2E00, // 006E GETNGBL R6 K23 + 0x601C0018, // 006F GETGBL R7 G24 + 0x582000A7, // 0070 LDCONST R8 K167 + 0x88240323, // 0071 GETMBR R9 R1 K35 + 0x88241336, // 0072 GETMBR R9 R9 K54 + 0x5C280400, // 0073 MOVE R10 R2 + 0x7C1C0600, // 0074 CALL R7 3 + 0x58200015, // 0075 LDCONST R8 K21 + 0x7C180400, // 0076 CALL R6 2 + 0x50180000, // 0077 LDBOOL R6 0 0 + 0x80040C00, // 0078 RET 1 R6 + 0x8C180391, // 0079 GETMET R6 R1 K145 + 0x54220004, // 007A LDINT R8 5 + 0x50240200, // 007B LDBOOL R9 1 0 + 0x7C180600, // 007C CALL R6 3 + 0x881C0109, // 007D GETMBR R7 R0 K9 + 0x881C0F92, // 007E GETMBR R7 R7 K146 + 0x88200393, // 007F GETMBR R8 R1 K147 + 0x8C241194, // 0080 GETMET R9 R8 K148 + 0x7C240200, // 0081 CALL R9 1 + 0x8C240D95, // 0082 GETMET R9 R6 K149 + 0x5C2C0A00, // 0083 MOVE R11 R5 + 0x5C301000, // 0084 MOVE R12 R8 + 0x7C240600, // 0085 CALL R9 3 + 0x8C240D96, // 0086 GETMET R9 R6 K150 + 0x7C240200, // 0087 CALL R9 1 + 0xB8262600, // 0088 GETNGBL R9 K19 + 0x8C241314, // 0089 GETMET R9 R9 K20 + 0x542E0003, // 008A LDINT R11 4 + 0x7C240400, // 008B CALL R9 2 + 0x7826000A, // 008C JMPF R9 #0098 + 0xB8262E00, // 008D GETNGBL R9 K23 + 0x60280018, // 008E GETGBL R10 G24 + 0x582C00A8, // 008F LDCONST R11 K168 + 0x88300D23, // 0090 GETMBR R12 R6 K35 + 0x88301936, // 0091 GETMBR R12 R12 K54 + 0x88340DA9, // 0092 GETMBR R13 R6 K169 + 0x88380D57, // 0093 GETMBR R14 R6 K87 + 0x883C0DAA, // 0094 GETMBR R15 R6 K170 + 0x7C280A00, // 0095 CALL R10 5 + 0x542E0003, // 0096 LDINT R11 4 + 0x7C240400, // 0097 CALL R9 2 + 0x8C240F97, // 0098 GETMET R9 R7 K151 + 0x5C2C0C00, // 0099 MOVE R11 R6 + 0x7C240400, // 009A CALL R9 2 + 0x4C240000, // 009B LDNIL R9 + 0xB82A2600, // 009C GETNGBL R10 K19 + 0x8C281514, // 009D GETMET R10 R10 K20 + 0x58300015, // 009E LDCONST R12 K21 + 0x7C280400, // 009F CALL R10 2 + 0x782A000B, // 00A0 JMPF R10 #00AD + 0xB82A0000, // 00A1 GETNGBL R10 K0 + 0x8C281516, // 00A2 GETMET R10 R10 K22 + 0x8830050D, // 00A3 GETMBR R12 R2 K13 + 0x8834050E, // 00A4 GETMBR R13 R2 K14 + 0x7C280600, // 00A5 CALL R10 3 + 0x5C241400, // 00A6 MOVE R9 R10 + 0x78260002, // 00A7 JMPF R9 #00AB + 0x002A3209, // 00A8 ADD R10 K25 R9 + 0x0028151A, // 00A9 ADD R10 R10 K26 + 0x70020000, // 00AA JMP #00AC + 0x5828001B, // 00AB LDCONST R10 K27 + 0x5C241400, // 00AC MOVE R9 R10 + 0x4C280000, // 00AD LDNIL R10 + 0x2028080A, // 00AE NE R10 R4 R10 + 0x782A0012, // 00AF JMPF R10 #00C3 + 0xB82A2600, // 00B0 GETNGBL R10 K19 + 0x8C281514, // 00B1 GETMET R10 R10 K20 + 0x58300015, // 00B2 LDCONST R12 K21 + 0x7C280400, // 00B3 CALL R10 2 + 0x782A000C, // 00B4 JMPF R10 #00C2 + 0x8C2809AB, // 00B5 GETMET R10 R4 K171 + 0x7C280200, // 00B6 CALL R10 1 + 0xB82E2E00, // 00B7 GETNGBL R11 K23 + 0x60300018, // 00B8 GETGBL R12 G24 + 0x583400AC, // 00B9 LDCONST R13 K172 + 0x88380323, // 00BA GETMBR R14 R1 K35 + 0x88381D36, // 00BB GETMBR R14 R14 K54 + 0x5C3C0400, // 00BC MOVE R15 R2 + 0x5C401200, // 00BD MOVE R16 R9 + 0x5C441400, // 00BE MOVE R17 R10 + 0x7C300A00, // 00BF CALL R12 5 + 0x58340015, // 00C0 LDCONST R13 K21 + 0x7C2C0400, // 00C1 CALL R11 2 + 0x7002002C, // 00C2 JMP #00F0 + 0x8828050F, // 00C3 GETMBR R10 R2 K15 + 0x4C2C0000, // 00C4 LDNIL R11 + 0x2028140B, // 00C5 NE R10 R10 R11 + 0x782A0019, // 00C6 JMPF R10 #00E1 + 0x8828050F, // 00C7 GETMBR R10 R2 K15 + 0xB82E0000, // 00C8 GETNGBL R11 K0 + 0x882C179B, // 00C9 GETMBR R11 R11 K155 + 0x1C28140B, // 00CA EQ R10 R10 R11 + 0x782A0001, // 00CB JMPF R10 #00CE + 0x5828009B, // 00CC LDCONST R10 K155 + 0x70020000, // 00CD JMP #00CF + 0x5828001B, // 00CE LDCONST R10 K27 + 0xB82E2600, // 00CF GETNGBL R11 K19 + 0x8C2C1714, // 00D0 GETMET R11 R11 K20 + 0x58340015, // 00D1 LDCONST R13 K21 + 0x7C2C0400, // 00D2 CALL R11 2 + 0x782E000B, // 00D3 JMPF R11 #00E0 + 0xB82E2E00, // 00D4 GETNGBL R11 K23 + 0x60300018, // 00D5 GETGBL R12 G24 + 0x583400AD, // 00D6 LDCONST R13 K173 + 0x88380323, // 00D7 GETMBR R14 R1 K35 + 0x88381D36, // 00D8 GETMBR R14 R14 K54 + 0x5C3C0400, // 00D9 MOVE R15 R2 + 0x5C401200, // 00DA MOVE R16 R9 + 0x8844050F, // 00DB GETMBR R17 R2 K15 + 0x5C481400, // 00DC MOVE R18 R10 + 0x7C300C00, // 00DD CALL R12 6 + 0x58340015, // 00DE LDCONST R13 K21 + 0x7C2C0400, // 00DF CALL R11 2 + 0x7002000E, // 00E0 JMP #00F0 + 0xB82A2600, // 00E1 GETNGBL R10 K19 + 0x8C281514, // 00E2 GETMET R10 R10 K20 + 0x58300015, // 00E3 LDCONST R12 K21 + 0x7C280400, // 00E4 CALL R10 2 + 0x782A0009, // 00E5 JMPF R10 #00F0 + 0xB82A2E00, // 00E6 GETNGBL R10 K23 + 0x602C0018, // 00E7 GETGBL R11 G24 + 0x583000AE, // 00E8 LDCONST R12 K174 + 0x88340323, // 00E9 GETMBR R13 R1 K35 + 0x88341B36, // 00EA GETMBR R13 R13 K54 + 0x5C380400, // 00EB MOVE R14 R2 + 0x5C3C1200, // 00EC MOVE R15 R9 + 0x7C2C0800, // 00ED CALL R11 4 + 0x58300015, // 00EE LDCONST R12 K21 + 0x7C280400, // 00EF CALL R10 2 + 0x50280200, // 00F0 LDBOOL R10 1 0 + 0x80041400, // 00F1 RET 1 R10 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_event_filters_min_no +********************************************************************/ +be_local_closure(class_Matter_IM_parse_event_filters_min_no, /* name */ + be_nested_proto( + 14, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(parse_event_filters_min_no), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0x580800AF, // 0000 LDCONST R2 K175 + 0x4C0C0000, // 0001 LDNIL R3 + 0x4C100000, // 0002 LDNIL R4 + 0x20100004, // 0003 NE R4 R0 R4 + 0x7812002B, // 0004 JMPF R4 #0031 + 0x60100010, // 0005 GETGBL R4 G16 + 0x5C140000, // 0006 MOVE R5 R0 + 0x7C100200, // 0007 CALL R4 1 + 0xA8020024, // 0008 EXBLK 0 #002E + 0x5C140800, // 0009 MOVE R5 R4 + 0x7C140000, // 000A CALL R5 0 + 0xB81B6000, // 000B GETNGBL R6 K176 + 0x8C180DB1, // 000C GETMET R6 R6 K177 + 0x88200BB2, // 000D GETMBR R8 R5 K178 + 0x7C180400, // 000E CALL R6 2 + 0x781A0012, // 000F JMPF R6 #0023 + 0x78060011, // 0010 JMPF R1 #0023 + 0x881C0BB2, // 0011 GETMBR R7 R5 K178 + 0x8C1C0FB3, // 0012 GETMET R7 R7 K179 + 0x7C1C0200, // 0013 CALL R7 1 + 0x201C0E01, // 0014 NE R7 R7 R1 + 0x781E000C, // 0015 JMPF R7 #0023 + 0xB81E2600, // 0016 GETNGBL R7 K19 + 0x8C1C0F17, // 0017 GETMET R7 R7 K23 + 0x60240018, // 0018 GETGBL R9 G24 + 0x582800B4, // 0019 LDCONST R10 K180 + 0x8C2C0DB3, // 001A GETMET R11 R6 K179 + 0x7C2C0200, // 001B CALL R11 1 + 0x8C2C17B5, // 001C GETMET R11 R11 K181 + 0x7C2C0200, // 001D CALL R11 1 + 0x8C3003B5, // 001E GETMET R12 R1 K181 + 0x7C300200, // 001F CALL R12 1 + 0x7C240600, // 0020 CALL R9 3 + 0x7C1C0400, // 0021 CALL R7 2 + 0x7001FFE5, // 0022 JMP #0009 + 0xB81F6000, // 0023 GETNGBL R7 K176 + 0x8C1C0FB1, // 0024 GETMET R7 R7 K177 + 0x88240BB6, // 0025 GETMBR R9 R5 K182 + 0x7C1C0400, // 0026 CALL R7 2 + 0x4C200000, // 0027 LDNIL R8 + 0x1C200608, // 0028 EQ R8 R3 R8 + 0x74220001, // 0029 JMPT R8 #002C + 0x14200607, // 002A LT R8 R3 R7 + 0x78220000, // 002B JMPF R8 #002D + 0x5C0C0E00, // 002C MOVE R3 R7 + 0x7001FFDA, // 002D JMP #0009 + 0x58100025, // 002E LDCONST R4 K37 + 0xAC100200, // 002F CATCH R4 1 0 + 0xB0080000, // 0030 RAISE 2 R0 R0 + 0x80040600, // 0031 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invokeresponse2raw +********************************************************************/ +be_local_closure(class_Matter_IM_invokeresponse2raw, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(invokeresponse2raw), + &be_const_str_solidified, + ( &(const binstruction[148]) { /* code */ + 0x8C100329, // 0000 GETMET R4 R1 K41 + 0x541A0014, // 0001 LDINT R6 21 + 0x581C002A, // 0002 LDCONST R7 K42 + 0x7C100600, // 0003 CALL R4 3 + 0x4C100000, // 0004 LDNIL R4 + 0x1C100604, // 0005 EQ R4 R3 R4 + 0x78120004, // 0006 JMPF R4 #000C + 0x8C100329, // 0007 GETMET R4 R1 K41 + 0x541A3500, // 0008 LDINT R6 13569 + 0x541DFFFD, // 0009 LDINT R7 -2 + 0x7C100600, // 000A CALL R4 3 + 0x70020003, // 000B JMP #0010 + 0x8C100329, // 000C GETMET R4 R1 K41 + 0x541A34FF, // 000D LDINT R6 13568 + 0x541DFFFD, // 000E LDINT R7 -2 + 0x7C100600, // 000F CALL R4 3 + 0x8C100329, // 0010 GETMET R4 R1 K41 + 0x541A36FF, // 0011 LDINT R6 14080 + 0x541DFFFD, // 0012 LDINT R7 -2 + 0x7C100600, // 0013 CALL R4 3 + 0x88100512, // 0014 GETMBR R4 R2 K18 + 0x541600FE, // 0015 LDINT R5 255 + 0x18100805, // 0016 LE R4 R4 R5 + 0x78120008, // 0017 JMPF R4 #0021 + 0x8C100329, // 0018 GETMET R4 R1 K41 + 0x541A23FF, // 0019 LDINT R6 9216 + 0x541DFFFD, // 001A LDINT R7 -2 + 0x7C100600, // 001B CALL R4 3 + 0x8C100329, // 001C GETMET R4 R1 K41 + 0x88180512, // 001D GETMBR R6 R2 K18 + 0x581C002A, // 001E LDCONST R7 K42 + 0x7C100600, // 001F CALL R4 3 + 0x70020007, // 0020 JMP #0029 + 0x8C100329, // 0021 GETMET R4 R1 K41 + 0x541A24FF, // 0022 LDINT R6 9472 + 0x541DFFFD, // 0023 LDINT R7 -2 + 0x7C100600, // 0024 CALL R4 3 + 0x8C100329, // 0025 GETMET R4 R1 K41 + 0x88180512, // 0026 GETMBR R6 R2 K18 + 0x581C002B, // 0027 LDCONST R7 K43 + 0x7C100600, // 0028 CALL R4 3 + 0x8810050D, // 0029 GETMBR R4 R2 K13 + 0x541600FE, // 002A LDINT R5 255 + 0x18100805, // 002B LE R4 R4 R5 + 0x78120008, // 002C JMPF R4 #0036 + 0x8C100329, // 002D GETMET R4 R1 K41 + 0x541A2400, // 002E LDINT R6 9217 + 0x541DFFFD, // 002F LDINT R7 -2 + 0x7C100600, // 0030 CALL R4 3 + 0x8C100329, // 0031 GETMET R4 R1 K41 + 0x8818050D, // 0032 GETMBR R6 R2 K13 + 0x581C002A, // 0033 LDCONST R7 K42 + 0x7C100600, // 0034 CALL R4 3 + 0x70020014, // 0035 JMP #004B + 0x8810050D, // 0036 GETMBR R4 R2 K13 + 0x5416FFFE, // 0037 LDINT R5 65535 + 0x18100805, // 0038 LE R4 R4 R5 + 0x78120008, // 0039 JMPF R4 #0043 + 0x8C100329, // 003A GETMET R4 R1 K41 + 0x541A2500, // 003B LDINT R6 9473 + 0x541DFFFD, // 003C LDINT R7 -2 + 0x7C100600, // 003D CALL R4 3 + 0x8C100329, // 003E GETMET R4 R1 K41 + 0x8818050D, // 003F GETMBR R6 R2 K13 + 0x581C002B, // 0040 LDCONST R7 K43 + 0x7C100600, // 0041 CALL R4 3 + 0x70020007, // 0042 JMP #004B + 0x8C100329, // 0043 GETMET R4 R1 K41 + 0x541A2600, // 0044 LDINT R6 9729 + 0x541DFFFD, // 0045 LDINT R7 -2 + 0x7C100600, // 0046 CALL R4 3 + 0x8C100329, // 0047 GETMET R4 R1 K41 + 0x8818050D, // 0048 GETMBR R6 R2 K13 + 0x541E0003, // 0049 LDINT R7 4 + 0x7C100600, // 004A CALL R4 3 + 0x8810054D, // 004B GETMBR R4 R2 K77 + 0x541600FE, // 004C LDINT R5 255 + 0x18100805, // 004D LE R4 R4 R5 + 0x78120008, // 004E JMPF R4 #0058 + 0x8C100329, // 004F GETMET R4 R1 K41 + 0x541A2401, // 0050 LDINT R6 9218 + 0x541DFFFD, // 0051 LDINT R7 -2 + 0x7C100600, // 0052 CALL R4 3 + 0x8C100329, // 0053 GETMET R4 R1 K41 + 0x8818054D, // 0054 GETMBR R6 R2 K77 + 0x581C002A, // 0055 LDCONST R7 K42 + 0x7C100600, // 0056 CALL R4 3 + 0x70020014, // 0057 JMP #006D + 0x8810054D, // 0058 GETMBR R4 R2 K77 + 0x5416FFFE, // 0059 LDINT R5 65535 + 0x18100805, // 005A LE R4 R4 R5 + 0x78120008, // 005B JMPF R4 #0065 + 0x8C100329, // 005C GETMET R4 R1 K41 + 0x541A2501, // 005D LDINT R6 9474 + 0x541DFFFD, // 005E LDINT R7 -2 + 0x7C100600, // 005F CALL R4 3 + 0x8C100329, // 0060 GETMET R4 R1 K41 + 0x8818054D, // 0061 GETMBR R6 R2 K77 + 0x581C002B, // 0062 LDCONST R7 K43 + 0x7C100600, // 0063 CALL R4 3 + 0x70020007, // 0064 JMP #006D + 0x8C100329, // 0065 GETMET R4 R1 K41 + 0x541A2601, // 0066 LDINT R6 9730 + 0x541DFFFD, // 0067 LDINT R7 -2 + 0x7C100600, // 0068 CALL R4 3 + 0x8C100329, // 0069 GETMET R4 R1 K41 + 0x8818054D, // 006A GETMBR R6 R2 K77 + 0x541E0003, // 006B LDINT R7 4 + 0x7C100600, // 006C CALL R4 3 + 0x8C100329, // 006D GETMET R4 R1 K41 + 0x541A0017, // 006E LDINT R6 24 + 0x581C002A, // 006F LDCONST R7 K42 + 0x7C100600, // 0070 CALL R4 3 + 0x4C100000, // 0071 LDNIL R4 + 0x1C100604, // 0072 EQ R4 R3 R4 + 0x78120016, // 0073 JMPF R4 #008B + 0x8810050F, // 0074 GETMBR R4 R2 K15 + 0x4C140000, // 0075 LDNIL R5 + 0x1C140805, // 0076 EQ R5 R4 R5 + 0x78160001, // 0077 JMPF R5 #007A + 0xB8160000, // 0078 GETNGBL R5 K0 + 0x88100B24, // 0079 GETMBR R4 R5 K36 + 0x8C140329, // 007A GETMET R5 R1 K41 + 0x541E3500, // 007B LDINT R7 13569 + 0x5421FFFD, // 007C LDINT R8 -2 + 0x7C140600, // 007D CALL R5 3 + 0x8C140329, // 007E GETMET R5 R1 K41 + 0x541E23FF, // 007F LDINT R7 9216 + 0x5421FFFD, // 0080 LDINT R8 -2 + 0x7C140600, // 0081 CALL R5 3 + 0x8C140329, // 0082 GETMET R5 R1 K41 + 0x881C050F, // 0083 GETMBR R7 R2 K15 + 0x5820002A, // 0084 LDCONST R8 K42 + 0x7C140600, // 0085 CALL R5 3 + 0x8C140329, // 0086 GETMET R5 R1 K41 + 0x541E0017, // 0087 LDINT R7 24 + 0x5820002A, // 0088 LDCONST R8 K42 + 0x7C140600, // 0089 CALL R5 3 + 0x70020003, // 008A JMP #008F + 0x900E5D2A, // 008B SETMBR R3 K46 K42 + 0x8C10072F, // 008C GETMET R4 R3 K47 + 0x5C180200, // 008D MOVE R6 R1 + 0x7C100400, // 008E CALL R4 2 + 0x8C100329, // 008F GETMET R4 R1 K41 + 0x541A1817, // 0090 LDINT R6 6168 + 0x541DFFFD, // 0091 LDINT R7 -2 + 0x7C100600, // 0092 CALL R4 3 + 0x80000000, // 0093 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_status_response +********************************************************************/ +be_local_closure(class_Matter_IM_process_status_response, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_status_response), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x8C0C05B7, // 0000 GETMET R3 R2 K183 + 0x58140040, // 0001 LDCONST R5 K64 + 0x541A00FE, // 0002 LDINT R6 255 + 0x7C0C0600, // 0003 CALL R3 3 + 0x8C10017E, // 0004 GETMET R4 R0 K126 + 0x88180357, // 0005 GETMBR R6 R1 K87 + 0x7C100400, // 0006 CALL R4 2 + 0xB8160000, // 0007 GETNGBL R5 K0 + 0x88140B24, // 0008 GETMBR R5 R5 K36 + 0x1C140605, // 0009 EQ R5 R3 R5 + 0x7816000F, // 000A JMPF R5 #001B + 0x78120004, // 000B JMPF R4 #0011 + 0x8C1409B8, // 000C GETMET R5 R4 K184 + 0x5C1C0200, // 000D MOVE R7 R1 + 0x7C140400, // 000E CALL R5 2 + 0x80040A00, // 000F RET 1 R5 + 0x70020008, // 0010 JMP #001A + 0xB8162E00, // 0011 GETNGBL R5 K23 + 0x60180018, // 0012 GETGBL R6 G24 + 0x581C00B9, // 0013 LDCONST R7 K185 + 0x88200323, // 0014 GETMBR R8 R1 K35 + 0x88201136, // 0015 GETMBR R8 R8 K54 + 0x88240357, // 0016 GETMBR R9 R1 K87 + 0x7C180600, // 0017 CALL R6 3 + 0x541E0003, // 0018 LDINT R7 4 + 0x7C140400, // 0019 CALL R5 2 + 0x7002000D, // 001A JMP #0029 + 0xB8162E00, // 001B GETNGBL R5 K23 + 0x60180018, // 001C GETGBL R6 G24 + 0x581C00BA, // 001D LDCONST R7 K186 + 0x5C200600, // 001E MOVE R8 R3 + 0x7C180400, // 001F CALL R6 2 + 0x581C0015, // 0020 LDCONST R7 K21 + 0x7C140400, // 0021 CALL R5 2 + 0x78120005, // 0022 JMPF R4 #0029 + 0x8C1409BB, // 0023 GETMET R5 R4 K187 + 0x5C1C0200, // 0024 MOVE R7 R1 + 0x7C140400, // 0025 CALL R5 2 + 0x8C14016C, // 0026 GETMET R5 R0 K108 + 0x881C0357, // 0027 GETMBR R7 R1 K87 + 0x7C140400, // 0028 CALL R5 2 + 0x50140000, // 0029 LDBOOL R5 0 0 + 0x80040A00, // 002A RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attributestatus2raw +********************************************************************/ +be_local_closure(class_Matter_IM_attributestatus2raw, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(attributestatus2raw), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x8C100329, // 0000 GETMET R4 R1 K41 + 0x541A0014, // 0001 LDINT R6 21 + 0x581C002A, // 0002 LDCONST R7 K42 + 0x7C100600, // 0003 CALL R4 3 + 0x8C100329, // 0004 GETMET R4 R1 K41 + 0x541A34FF, // 0005 LDINT R6 13568 + 0x541DFFFD, // 0006 LDINT R7 -2 + 0x7C100600, // 0007 CALL R4 3 + 0x8C10012D, // 0008 GETMET R4 R0 K45 + 0x5C180200, // 0009 MOVE R6 R1 + 0x5C1C0400, // 000A MOVE R7 R2 + 0x58200040, // 000B LDCONST R8 K64 + 0x7C100800, // 000C CALL R4 4 + 0x8C100329, // 000D GETMET R4 R1 K41 + 0x541A3500, // 000E LDINT R6 13569 + 0x541DFFFD, // 000F LDINT R7 -2 + 0x7C100600, // 0010 CALL R4 3 + 0x8810050F, // 0011 GETMBR R4 R2 K15 + 0x541600FE, // 0012 LDINT R5 255 + 0x18100805, // 0013 LE R4 R4 R5 + 0x78120008, // 0014 JMPF R4 #001E + 0x8C100329, // 0015 GETMET R4 R1 K41 + 0x541A23FF, // 0016 LDINT R6 9216 + 0x541DFFFD, // 0017 LDINT R7 -2 + 0x7C100600, // 0018 CALL R4 3 + 0x8C100329, // 0019 GETMET R4 R1 K41 + 0x8818050F, // 001A GETMBR R6 R2 K15 + 0x581C002A, // 001B LDCONST R7 K42 + 0x7C100600, // 001C CALL R4 3 + 0x70020007, // 001D JMP #0026 + 0x8C100329, // 001E GETMET R4 R1 K41 + 0x541A24FF, // 001F LDINT R6 9472 + 0x541DFFFD, // 0020 LDINT R7 -2 + 0x7C100600, // 0021 CALL R4 3 + 0x8C100329, // 0022 GETMET R4 R1 K41 + 0x8818050F, // 0023 GETMBR R6 R2 K15 + 0x581C002B, // 0024 LDCONST R7 K43 + 0x7C100600, // 0025 CALL R4 3 + 0x8C100329, // 0026 GETMET R4 R1 K41 + 0x541A1817, // 0027 LDINT R6 6168 + 0x541DFFFD, // 0028 LDINT R7 -2 + 0x7C100600, // 0029 CALL R4 3 + 0x8C100329, // 002A GETMET R4 R1 K41 + 0x541A0017, // 002B LDINT R6 24 + 0x581C002A, // 002C LDCONST R7 K42 + 0x7C100600, // 002D CALL R4 3 + 0x80000000, // 002E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_single_attribute_to_bytes +********************************************************************/ +be_local_closure(class_Matter_IM_read_single_attribute_to_bytes, /* name */ + be_nested_proto( + 21, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(read_single_attribute_to_bytes), + &be_const_str_solidified, + ( &(const binstruction[165]) { /* code */ + 0xB8160000, // 0000 GETNGBL R5 K0 + 0x88140B81, // 0001 GETMBR R5 R5 K129 + 0x4C180000, // 0002 LDNIL R6 + 0xB81E2600, // 0003 GETNGBL R7 K19 + 0x8C1C0F14, // 0004 GETMET R7 R7 K20 + 0x58240015, // 0005 LDCONST R9 K21 + 0x7C1C0400, // 0006 CALL R7 2 + 0x781E000B, // 0007 JMPF R7 #0014 + 0xB81E0000, // 0008 GETNGBL R7 K0 + 0x8C1C0F16, // 0009 GETMET R7 R7 K22 + 0x8824050D, // 000A GETMBR R9 R2 K13 + 0x8828050E, // 000B GETMBR R10 R2 K14 + 0x7C1C0600, // 000C CALL R7 3 + 0x5C180E00, // 000D MOVE R6 R7 + 0x781A0002, // 000E JMPF R6 #0012 + 0x001E3206, // 000F ADD R7 K25 R6 + 0x001C0F1A, // 0010 ADD R7 R7 K26 + 0x70020000, // 0011 JMP #0013 + 0x581C001B, // 0012 LDCONST R7 K27 + 0x5C180E00, // 0013 MOVE R6 R7 + 0x881C050F, // 0014 GETMBR R7 R2 K15 + 0x4C200000, // 0015 LDNIL R8 + 0x201C0E08, // 0016 NE R7 R7 R8 + 0x4C200000, // 0017 LDNIL R8 + 0x4C240000, // 0018 LDNIL R9 + 0x4C280000, // 0019 LDNIL R10 + 0x2028020A, // 001A NE R10 R1 R10 + 0x782A0005, // 001B JMPF R10 #0022 + 0x8C28039C, // 001C GETMET R10 R1 K156 + 0x5C300600, // 001D MOVE R12 R3 + 0x5C340400, // 001E MOVE R13 R2 + 0x8838018B, // 001F GETMBR R14 R0 K139 + 0x7C280800, // 0020 CALL R10 4 + 0x5C201400, // 0021 MOVE R8 R10 + 0x4C280000, // 0022 LDNIL R10 + 0x2028100A, // 0023 NE R10 R8 R10 + 0x782A0057, // 0024 JMPF R10 #007D + 0x5828001B, // 0025 LDCONST R10 K27 + 0xB82E2600, // 0026 GETNGBL R11 K19 + 0x8C2C1714, // 0027 GETMET R11 R11 K20 + 0x58340015, // 0028 LDCONST R13 K21 + 0x7C2C0400, // 0029 CALL R11 2 + 0x782E0003, // 002A JMPF R11 #002F + 0x78120002, // 002B JMPF R4 #002F + 0x8C2C11AB, // 002C GETMET R11 R8 K171 + 0x7C2C0200, // 002D CALL R11 1 + 0x5C281600, // 002E MOVE R10 R11 + 0x882C119D, // 002F GETMBR R11 R8 K157 + 0x742E0001, // 0030 JMPT R11 #0033 + 0x882C119E, // 0031 GETMBR R11 R8 K158 + 0x782E002F, // 0032 JMPF R11 #0063 + 0x8C2C119F, // 0033 GETMET R11 R8 K159 + 0x7C2C0200, // 0034 CALL R11 1 + 0xB8320000, // 0035 GETNGBL R12 K0 + 0x8830193F, // 0036 GETMBR R12 R12 K63 + 0x883019A0, // 0037 GETMBR R12 R12 K160 + 0x242C160C, // 0038 GT R11 R11 R12 + 0x782E0028, // 0039 JMPF R11 #0063 + 0x602C0012, // 003A GETGBL R11 G18 + 0x7C2C0000, // 003B CALL R11 0 + 0x5C241600, // 003C MOVE R9 R11 + 0x602C0015, // 003D GETGBL R11 G21 + 0x5432002F, // 003E LDINT R12 48 + 0x7C2C0200, // 003F CALL R11 1 + 0x8C300BBC, // 0040 GETMET R12 R5 K188 + 0x7C300200, // 0041 CALL R12 1 + 0x8C3401A5, // 0042 GETMET R13 R0 K165 + 0x5C3C1600, // 0043 MOVE R15 R11 + 0x5C400400, // 0044 MOVE R16 R2 + 0x5C441800, // 0045 MOVE R17 R12 + 0x50480000, // 0046 LDBOOL R18 0 0 + 0x7C340A00, // 0047 CALL R13 5 + 0x8C341327, // 0048 GETMET R13 R9 K39 + 0x5C3C1600, // 0049 MOVE R15 R11 + 0x7C340400, // 004A CALL R13 2 + 0x60340010, // 004B GETGBL R13 G16 + 0x883811BD, // 004C GETMBR R14 R8 K189 + 0x7C340200, // 004D CALL R13 1 + 0xA802000F, // 004E EXBLK 0 #005F + 0x5C381A00, // 004F MOVE R14 R13 + 0x7C380000, // 0050 CALL R14 0 + 0x603C0015, // 0051 GETGBL R15 G21 + 0x5442002F, // 0052 LDINT R16 48 + 0x7C3C0200, // 0053 CALL R15 1 + 0x5C2C1E00, // 0054 MOVE R11 R15 + 0x8C3C01A5, // 0055 GETMET R15 R0 K165 + 0x5C441600, // 0056 MOVE R17 R11 + 0x5C480400, // 0057 MOVE R18 R2 + 0x5C4C1C00, // 0058 MOVE R19 R14 + 0x50500200, // 0059 LDBOOL R20 1 0 + 0x7C3C0A00, // 005A CALL R15 5 + 0x8C3C1327, // 005B GETMET R15 R9 K39 + 0x5C441600, // 005C MOVE R17 R11 + 0x7C3C0400, // 005D CALL R15 2 + 0x7001FFEF, // 005E JMP #004F + 0x58340025, // 005F LDCONST R13 K37 + 0xAC340200, // 0060 CATCH R13 1 0 + 0xB0080000, // 0061 RAISE 2 R0 R0 + 0x70020008, // 0062 JMP #006C + 0x602C0015, // 0063 GETGBL R11 G21 + 0x5432002F, // 0064 LDINT R12 48 + 0x7C2C0200, // 0065 CALL R11 1 + 0x5C241600, // 0066 MOVE R9 R11 + 0x8C2C01A5, // 0067 GETMET R11 R0 K165 + 0x5C341200, // 0068 MOVE R13 R9 + 0x5C380400, // 0069 MOVE R14 R2 + 0x5C3C1000, // 006A MOVE R15 R8 + 0x7C2C0800, // 006B CALL R11 4 + 0xB82E2600, // 006C GETNGBL R11 K19 + 0x8C2C1714, // 006D GETMET R11 R11 K20 + 0x58340015, // 006E LDCONST R13 K21 + 0x7C2C0400, // 006F CALL R11 2 + 0x782E000A, // 0070 JMPF R11 #007C + 0x78120009, // 0071 JMPF R4 #007C + 0xB82E2E00, // 0072 GETNGBL R11 K23 + 0x60300018, // 0073 GETGBL R12 G24 + 0x583400BE, // 0074 LDCONST R13 K190 + 0x88380736, // 0075 GETMBR R14 R3 K54 + 0x5C3C0400, // 0076 MOVE R15 R2 + 0x5C400C00, // 0077 MOVE R16 R6 + 0x5C441400, // 0078 MOVE R17 R10 + 0x7C300A00, // 0079 CALL R12 5 + 0x58340015, // 007A LDCONST R13 K21 + 0x7C2C0400, // 007B CALL R11 2 + 0x70020026, // 007C JMP #00A4 + 0x8828050F, // 007D GETMBR R10 R2 K15 + 0x4C2C0000, // 007E LDNIL R11 + 0x2028140B, // 007F NE R10 R10 R11 + 0x782A0022, // 0080 JMPF R10 #00A4 + 0x781E0021, // 0081 JMPF R7 #00A4 + 0x60280015, // 0082 GETGBL R10 G21 + 0x542E002F, // 0083 LDINT R11 48 + 0x7C280200, // 0084 CALL R10 1 + 0x5C241400, // 0085 MOVE R9 R10 + 0x8C2801A6, // 0086 GETMET R10 R0 K166 + 0x5C301200, // 0087 MOVE R12 R9 + 0x5C340400, // 0088 MOVE R13 R2 + 0x8838050F, // 0089 GETMBR R14 R2 K15 + 0x7C280800, // 008A CALL R10 4 + 0xB82A2600, // 008B GETNGBL R10 K19 + 0x8C281514, // 008C GETMET R10 R10 K20 + 0x58300015, // 008D LDCONST R12 K21 + 0x7C280400, // 008E CALL R10 2 + 0x782A0013, // 008F JMPF R10 #00A4 + 0xB82A2E00, // 0090 GETNGBL R10 K23 + 0x602C0018, // 0091 GETGBL R11 G24 + 0x583000BF, // 0092 LDCONST R12 K191 + 0x88340736, // 0093 GETMBR R13 R3 K54 + 0x60380008, // 0094 GETGBL R14 G8 + 0x5C3C0400, // 0095 MOVE R15 R2 + 0x7C380200, // 0096 CALL R14 1 + 0x5C3C0C00, // 0097 MOVE R15 R6 + 0x8840050F, // 0098 GETMBR R16 R2 K15 + 0x8844050F, // 0099 GETMBR R17 R2 K15 + 0xB84A0000, // 009A GETNGBL R18 K0 + 0x8848259B, // 009B GETMBR R18 R18 K155 + 0x1C442212, // 009C EQ R17 R17 R18 + 0x78460001, // 009D JMPF R17 #00A0 + 0x5844009B, // 009E LDCONST R17 K155 + 0x70020000, // 009F JMP #00A1 + 0x5844001B, // 00A0 LDCONST R17 K27 + 0x7C2C0C00, // 00A1 CALL R11 6 + 0x58300015, // 00A2 LDCONST R12 K21 + 0x7C280400, // 00A3 CALL R10 2 + 0x80041200, // 00A4 RET 1 R9 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_status +********************************************************************/ +be_local_closure(class_Matter_IM_send_status, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(send_status), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x880C0126, // 0000 GETMBR R3 R0 K38 + 0x8C0C0727, // 0001 GETMET R3 R3 K39 + 0xB8160000, // 0002 GETNGBL R5 K0 + 0x8C140BC0, // 0003 GETMET R5 R5 K192 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x5C200400, // 0005 MOVE R8 R2 + 0x7C140600, // 0006 CALL R5 3 + 0x7C0C0400, // 0007 CALL R3 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_incoming +********************************************************************/ +be_local_closure(class_Matter_IM_process_incoming, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM, /* shared constants */ + be_str_weak(process_incoming), + &be_const_str_solidified, + ( &(const binstruction[124]) { /* code */ + 0x880803C1, // 0000 GETMBR R2 R1 K193 + 0x1C0C052B, // 0001 EQ R3 R2 K43 + 0x780E000D, // 0002 JMPF R3 #0011 + 0x880C0187, // 0003 GETMBR R3 R0 K135 + 0x8C0C07C2, // 0004 GETMET R3 R3 K194 + 0x88140393, // 0005 GETMBR R5 R1 K147 + 0x881803A3, // 0006 GETMBR R6 R1 K163 + 0x7C0C0600, // 0007 CALL R3 3 + 0x4C100000, // 0008 LDNIL R4 + 0x20100604, // 0009 NE R4 R3 R4 + 0x78120004, // 000A JMPF R4 #0010 + 0x8C1001C3, // 000B GETMET R4 R0 K195 + 0x5C180200, // 000C MOVE R6 R1 + 0x5C1C0600, // 000D MOVE R7 R3 + 0x7C100600, // 000E CALL R4 3 + 0x80040800, // 000F RET 1 R4 + 0x7002000F, // 0010 JMP #0021 + 0x540E0007, // 0011 LDINT R3 8 + 0x1C0C0403, // 0012 EQ R3 R2 R3 + 0x780E000C, // 0013 JMPF R3 #0021 + 0x880C0189, // 0014 GETMBR R3 R0 K137 + 0x8C0C07C2, // 0015 GETMET R3 R3 K194 + 0x88140393, // 0016 GETMBR R5 R1 K147 + 0x881803A3, // 0017 GETMBR R6 R1 K163 + 0x7C0C0600, // 0018 CALL R3 3 + 0x4C100000, // 0019 LDNIL R4 + 0x20100604, // 001A NE R4 R3 R4 + 0x78120004, // 001B JMPF R4 #0021 + 0x8C1001C4, // 001C GETMET R4 R0 K196 + 0x5C180200, // 001D MOVE R6 R1 + 0x5C1C0600, // 001E MOVE R7 R3 + 0x7C100600, // 001F CALL R4 3 + 0x80040800, // 0020 RET 1 R4 + 0xB80E0000, // 0021 GETNGBL R3 K0 + 0x880C0781, // 0022 GETMBR R3 R3 K129 + 0x8C0C07A2, // 0023 GETMET R3 R3 K162 + 0x88140393, // 0024 GETMBR R5 R1 K147 + 0x881803A3, // 0025 GETMBR R6 R1 K163 + 0x7C0C0600, // 0026 CALL R3 3 + 0x1C10052A, // 0027 EQ R4 R2 K42 + 0x78120005, // 0028 JMPF R4 #002F + 0x8C1001C5, // 0029 GETMET R4 R0 K197 + 0x5C180200, // 002A MOVE R6 R1 + 0x5C1C0600, // 002B MOVE R7 R3 + 0x7C100600, // 002C CALL R4 3 + 0x80040800, // 002D RET 1 R4 + 0x7002004A, // 002E JMP #007A + 0x1C10052B, // 002F EQ R4 R2 K43 + 0x78120008, // 0030 JMPF R4 #003A + 0x8C1001C6, // 0031 GETMET R4 R0 K198 + 0x5C180200, // 0032 MOVE R6 R1 + 0x7C100400, // 0033 CALL R4 2 + 0x8C1001A4, // 0034 GETMET R4 R0 K164 + 0x5C180200, // 0035 MOVE R6 R1 + 0x5C1C0600, // 0036 MOVE R7 R3 + 0x7C100600, // 0037 CALL R4 3 + 0x80040800, // 0038 RET 1 R4 + 0x7002003F, // 0039 JMP #007A + 0x1C100515, // 003A EQ R4 R2 K21 + 0x78120008, // 003B JMPF R4 #0045 + 0x8C1001C6, // 003C GETMET R4 R0 K198 + 0x5C180200, // 003D MOVE R6 R1 + 0x7C100400, // 003E CALL R4 2 + 0x8C1001C7, // 003F GETMET R4 R0 K199 + 0x5C180200, // 0040 MOVE R6 R1 + 0x5C1C0600, // 0041 MOVE R7 R3 + 0x7C100600, // 0042 CALL R4 3 + 0x80040800, // 0043 RET 1 R4 + 0x70020034, // 0044 JMP #007A + 0x54120003, // 0045 LDINT R4 4 + 0x1C100404, // 0046 EQ R4 R2 R4 + 0x78120002, // 0047 JMPF R4 #004B + 0x50100000, // 0048 LDBOOL R4 0 0 + 0x80040800, // 0049 RET 1 R4 + 0x7002002E, // 004A JMP #007A + 0x54120004, // 004B LDINT R4 5 + 0x1C100404, // 004C EQ R4 R2 R4 + 0x78120002, // 004D JMPF R4 #0051 + 0x50100000, // 004E LDBOOL R4 0 0 + 0x80040800, // 004F RET 1 R4 + 0x70020028, // 0050 JMP #007A + 0x54120005, // 0051 LDINT R4 6 + 0x1C100404, // 0052 EQ R4 R2 R4 + 0x78120008, // 0053 JMPF R4 #005D + 0x8C1001C6, // 0054 GETMET R4 R0 K198 + 0x5C180200, // 0055 MOVE R6 R1 + 0x7C100400, // 0056 CALL R4 2 + 0x8C1001C8, // 0057 GETMET R4 R0 K200 + 0x5C180200, // 0058 MOVE R6 R1 + 0x5C1C0600, // 0059 MOVE R7 R3 + 0x7C100600, // 005A CALL R4 3 + 0x80040800, // 005B RET 1 R4 + 0x7002001C, // 005C JMP #007A + 0x54120006, // 005D LDINT R4 7 + 0x1C100404, // 005E EQ R4 R2 R4 + 0x78120002, // 005F JMPF R4 #0063 + 0x50100000, // 0060 LDBOOL R4 0 0 + 0x80040800, // 0061 RET 1 R4 + 0x70020016, // 0062 JMP #007A + 0x54120007, // 0063 LDINT R4 8 + 0x1C100404, // 0064 EQ R4 R2 R4 + 0x78120005, // 0065 JMPF R4 #006C + 0x8C1001C9, // 0066 GETMET R4 R0 K201 + 0x5C180200, // 0067 MOVE R6 R1 + 0x5C1C0600, // 0068 MOVE R7 R3 + 0x7C100600, // 0069 CALL R4 3 + 0x80040800, // 006A RET 1 R4 + 0x7002000D, // 006B JMP #007A + 0x54120008, // 006C LDINT R4 9 + 0x1C100404, // 006D EQ R4 R2 R4 + 0x78120002, // 006E JMPF R4 #0072 + 0x50100000, // 006F LDBOOL R4 0 0 + 0x80040800, // 0070 RET 1 R4 + 0x70020007, // 0071 JMP #007A + 0x54120009, // 0072 LDINT R4 10 + 0x1C100404, // 0073 EQ R4 R2 R4 + 0x78120004, // 0074 JMPF R4 #007A + 0x8C1001CA, // 0075 GETMET R4 R0 K202 + 0x5C180200, // 0076 MOVE R6 R1 + 0x5C1C0600, // 0077 MOVE R7 R3 + 0x7C100600, // 0078 CALL R4 3 + 0x80040800, // 0079 RET 1 R4 + 0x50100000, // 007A LDBOOL R4 0 0 + 0x80040800, // 007B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM +********************************************************************/ +be_local_class(Matter_IM, + 6, + NULL, + be_nested_map(36, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(process_write_request, 7), be_const_closure(class_Matter_IM_process_write_request_closure) }, + { be_const_key_weak(process_incoming, 33), be_const_closure(class_Matter_IM_process_incoming_closure) }, + { be_const_key_weak(path2raw, 26), be_const_closure(class_Matter_IM_path2raw_closure) }, + { be_const_key_weak(attributedata2raw, 12), be_const_closure(class_Matter_IM_attributedata2raw_closure) }, + { be_const_key_weak(send_subscribe_update, -1), be_const_closure(class_Matter_IM_send_subscribe_update_closure) }, + { be_const_key_weak(process_read_request_pull, -1), be_const_closure(class_Matter_IM_process_read_request_pull_closure) }, + { be_const_key_weak(process_read_or_subscribe_request_pull, -1), be_const_closure(class_Matter_IM_process_read_or_subscribe_request_pull_closure) }, + { be_const_key_weak(process_timed_request, -1), be_const_closure(class_Matter_IM_process_timed_request_closure) }, + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_IM_every_50ms_closure) }, + { be_const_key_weak(process_invoke_request, 24), be_const_closure(class_Matter_IM_process_invoke_request_closure) }, + { be_const_key_weak(read_single_attribute_to_bytes, -1), be_const_closure(class_Matter_IM_read_single_attribute_to_bytes_closure) }, + { be_const_key_weak(process_read_or_subscribe_request_event_pull, 10), be_const_closure(class_Matter_IM_process_read_or_subscribe_request_event_pull_closure) }, + { be_const_key_weak(invoke_request_solo, -1), be_const_var(4) }, + { be_const_key_weak(subscribe_request, -1), be_const_closure(class_Matter_IM_subscribe_request_closure) }, + { be_const_key_weak(send_enqueued, 27), be_const_closure(class_Matter_IM_send_enqueued_closure) }, + { be_const_key_weak(device, 28), be_const_var(0) }, + { be_const_key_weak(expire_sendqueue, -1), be_const_closure(class_Matter_IM_expire_sendqueue_closure) }, + { be_const_key_weak(process_incoming_ack, -1), be_const_closure(class_Matter_IM_process_incoming_ack_closure) }, + { be_const_key_weak(remove_sendqueue_by_exchangeid, -1), be_const_closure(class_Matter_IM_remove_sendqueue_by_exchangeid_closure) }, + { be_const_key_weak(write_single_attribute_status_to_bytes, -1), be_const_closure(class_Matter_IM_write_single_attribute_status_to_bytes_closure) }, + { be_const_key_weak(attributestatus2raw, 22), be_const_closure(class_Matter_IM_attributestatus2raw_closure) }, + { be_const_key_weak(every_second, 20), be_const_closure(class_Matter_IM_every_second_closure) }, + { be_const_key_weak(tlv_solo, 30), be_const_var(5) }, + { be_const_key_weak(send_subscribe_heartbeat, -1), be_const_closure(class_Matter_IM_send_subscribe_heartbeat_closure) }, + { be_const_key_weak(find_sendqueue_by_exchangeid, -1), be_const_closure(class_Matter_IM_find_sendqueue_by_exchangeid_closure) }, + { be_const_key_weak(process_read_request_solo, -1), be_const_closure(class_Matter_IM_process_read_request_solo_closure) }, + { be_const_key_weak(invokeresponse2raw, -1), be_const_closure(class_Matter_IM_invokeresponse2raw_closure) }, + { be_const_key_weak(parse_event_filters_min_no, 32), be_const_static_closure(class_Matter_IM_parse_event_filters_min_no_closure) }, + { be_const_key_weak(subs_shop, 31), be_const_var(1) }, + { be_const_key_weak(process_status_response, -1), be_const_closure(class_Matter_IM_process_status_response_closure) }, + { be_const_key_weak(process_invoke_request_solo, -1), be_const_closure(class_Matter_IM_process_invoke_request_solo_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_init_closure) }, + { be_const_key_weak(send_ack_now, -1), be_const_closure(class_Matter_IM_send_ack_now_closure) }, + { be_const_key_weak(read_request_solo, -1), be_const_var(3) }, + { be_const_key_weak(send_status, -1), be_const_closure(class_Matter_IM_send_status_closure) }, + { be_const_key_weak(send_queue, 1), be_const_var(2) }, + })), + be_str_weak(Matter_IM) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Data.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Data.h new file mode 100644 index 000000000..e4612d228 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Data.h @@ -0,0 +1,3631 @@ +/* Solidification of Matter_IM_Data.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_IM_base' ktab size: 10, total: 11 (saved 8 bytes) +static const bvalue be_ktab_class_Matter_IM_base[10] = { + /* K0 */ be_nested_str_weak(add_array), + /* K1 */ be_nested_str_weak(add_obj), + /* K2 */ be_nested_str_weak(stop_iteration), + /* K3 */ be_nested_str_weak(_X3C), + /* K4 */ be_nested_str_weak(_X3A), + /* K5 */ be_nested_str_weak(matter), + /* K6 */ be_nested_str_weak(inspect), + /* K7 */ be_nested_str_weak(_X3E), + /* K8 */ be_nested_str_weak(push), + /* K9 */ be_nested_str_weak(from_TLV), +}; + + +extern const bclass be_class_Matter_IM_base; + +/******************************************************************** +** Solidified function: to_TLV_array +********************************************************************/ +be_local_closure(class_Matter_IM_base_to_TLV_array, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_base, /* shared constants */ + be_str_weak(to_TLV_array), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120001, // 0002 JMPF R4 #0005 + 0x4C100000, // 0003 LDNIL R4 + 0x80040800, // 0004 RET 1 R4 + 0x8C100300, // 0005 GETMET R4 R1 K0 + 0x5C180400, // 0006 MOVE R6 R2 + 0x7C100400, // 0007 CALL R4 2 + 0x60140010, // 0008 GETGBL R5 G16 + 0x5C180600, // 0009 MOVE R6 R3 + 0x7C140200, // 000A CALL R5 1 + 0xA8020006, // 000B EXBLK 0 #0013 + 0x5C180A00, // 000C MOVE R6 R5 + 0x7C180000, // 000D CALL R6 0 + 0x8C1C0901, // 000E GETMET R7 R4 K1 + 0x4C240000, // 000F LDNIL R9 + 0x5C280C00, // 0010 MOVE R10 R6 + 0x7C1C0600, // 0011 CALL R7 3 + 0x7001FFF8, // 0012 JMP #000C + 0x58140002, // 0013 LDCONST R5 K2 + 0xAC140200, // 0014 CATCH R5 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_IM_base_tostring, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_base, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60040005, // 0000 GETGBL R1 G5 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x00060601, // 0003 ADD R1 K3 R1 + 0x00040304, // 0004 ADD R1 R1 K4 + 0xB80A0A00, // 0005 GETNGBL R2 K5 + 0x8C080506, // 0006 GETMET R2 R2 K6 + 0x5C100000, // 0007 MOVE R4 R0 + 0x7C080400, // 0008 CALL R2 2 + 0x00040202, // 0009 ADD R1 R1 R2 + 0x00040307, // 000A ADD R1 R1 K7 + 0x80040200, // 000B RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV_array +********************************************************************/ +be_local_closure(class_Matter_IM_base_from_TLV_array, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_base, /* shared constants */ + be_str_weak(from_TLV_array), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0203, // 0001 EQ R3 R1 R3 + 0x780E0001, // 0002 JMPF R3 #0005 + 0x4C0C0000, // 0003 LDNIL R3 + 0x80040600, // 0004 RET 1 R3 + 0x600C0012, // 0005 GETGBL R3 G18 + 0x7C0C0000, // 0006 CALL R3 0 + 0x60100010, // 0007 GETGBL R4 G16 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C100200, // 0009 CALL R4 1 + 0xA8020009, // 000A EXBLK 0 #0015 + 0x5C140800, // 000B MOVE R5 R4 + 0x7C140000, // 000C CALL R5 0 + 0x8C180708, // 000D GETMET R6 R3 K8 + 0x5C200400, // 000E MOVE R8 R2 + 0x7C200000, // 000F CALL R8 0 + 0x8C201109, // 0010 GETMET R8 R8 K9 + 0x5C280A00, // 0011 MOVE R10 R5 + 0x7C200400, // 0012 CALL R8 2 + 0x7C180400, // 0013 CALL R6 2 + 0x7001FFF5, // 0014 JMP #000B + 0x58100002, // 0015 LDCONST R4 K2 + 0xAC100200, // 0016 CATCH R4 1 0 + 0xB0080000, // 0017 RAISE 2 R0 R0 + 0x80040600, // 0018 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_base +********************************************************************/ +be_local_class(Matter_IM_base, + 0, + NULL, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV_array, -1), be_const_closure(class_Matter_IM_base_from_TLV_array_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_IM_base_tostring_closure) }, + { be_const_key_weak(to_TLV_array, 0), be_const_closure(class_Matter_IM_base_to_TLV_array_closure) }, + })), + be_str_weak(Matter_IM_base) +); + +extern const bclass be_class_Matter_IM_Message_base; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_Message_base_init, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(InteractionModelRevision), + /* K1 */ be_const_int(1), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020101, // 0000 SETMBR R0 K0 K1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_Message_base +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_IM_Message_base, + 1, + &be_class_Matter_IM_base, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_Message_base_init_closure) }, + { be_const_key_weak(InteractionModelRevision, 0), be_const_var(0) }, + })), + be_str_weak(Matter_IM_Message_base) +); +// compact class 'Matter_AttributePathIB' ktab size: 29, total: 43 (saved 112 bytes) +static const bvalue be_ktab_class_Matter_AttributePathIB[29] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_list), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(BOOL), + /* K6 */ be_nested_str_weak(tag_compression), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(U8), + /* K9 */ be_nested_str_weak(node), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(U2), + /* K12 */ be_nested_str_weak(endpoint), + /* K13 */ be_const_int(3), + /* K14 */ be_nested_str_weak(U4), + /* K15 */ be_nested_str_weak(cluster), + /* K16 */ be_nested_str_weak(attribute), + /* K17 */ be_nested_str_weak(list_index), + /* K18 */ be_nested_str_weak(), + /* K19 */ be_nested_str_weak(node_X3D_X25s_X20), + /* K20 */ be_nested_str_weak(_X5B_X2502X_X5D), + /* K21 */ be_nested_str_weak(_X5B_X2A_X2A_X5D), + /* K22 */ be_nested_str_weak(_X2504X_X2F), + /* K23 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F), + /* K24 */ be_nested_str_weak(_X2504X), + /* K25 */ be_nested_str_weak(_X2A_X2A_X2A_X2A), + /* K26 */ be_nested_str_weak(Exception_X3E_X20), + /* K27 */ be_nested_str_weak(_X2C_X20), + /* K28 */ be_nested_str_weak(findsubval), +}; + + +extern const bclass be_class_Matter_AttributePathIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributePathIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributePathIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180305, // 0006 GETMBR R6 R1 K5 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x58140007, // 000A LDCONST R5 K7 + 0x88180308, // 000B GETMBR R6 R1 K8 + 0x881C0109, // 000C GETMBR R7 R0 K9 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C0503, // 000E GETMET R3 R2 K3 + 0x5814000A, // 000F LDCONST R5 K10 + 0x8818030B, // 0010 GETMBR R6 R1 K11 + 0x881C010C, // 0011 GETMBR R7 R0 K12 + 0x7C0C0800, // 0012 CALL R3 4 + 0x8C0C0503, // 0013 GETMET R3 R2 K3 + 0x5814000D, // 0014 LDCONST R5 K13 + 0x8818030E, // 0015 GETMBR R6 R1 K14 + 0x881C010F, // 0016 GETMBR R7 R0 K15 + 0x7C0C0800, // 0017 CALL R3 4 + 0x8C0C0503, // 0018 GETMET R3 R2 K3 + 0x54160003, // 0019 LDINT R5 4 + 0x8818030E, // 001A GETMBR R6 R1 K14 + 0x881C0110, // 001B GETMBR R7 R0 K16 + 0x7C0C0800, // 001C CALL R3 4 + 0x8C0C0503, // 001D GETMET R3 R2 K3 + 0x54160004, // 001E LDINT R5 5 + 0x8818030B, // 001F GETMBR R6 R1 K11 + 0x881C0111, // 0020 GETMBR R7 R0 K17 + 0x7C0C0800, // 0021 CALL R3 4 + 0x80040400, // 0022 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_AttributePathIB_tostring, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributePathIB, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[61]) { /* code */ + 0xA802002C, // 0000 EXBLK 0 #002E + 0x58040012, // 0001 LDCONST R1 K18 + 0x88080109, // 0002 GETMBR R2 R0 K9 + 0x780A0004, // 0003 JMPF R2 #0009 + 0x60080018, // 0004 GETGBL R2 G24 + 0x580C0013, // 0005 LDCONST R3 K19 + 0x88100109, // 0006 GETMBR R4 R0 K9 + 0x7C080400, // 0007 CALL R2 2 + 0x00040202, // 0008 ADD R1 R1 R2 + 0x8808010C, // 0009 GETMBR R2 R0 K12 + 0x4C0C0000, // 000A LDNIL R3 + 0x20080403, // 000B NE R2 R2 R3 + 0x780A0004, // 000C JMPF R2 #0012 + 0x60080018, // 000D GETGBL R2 G24 + 0x580C0014, // 000E LDCONST R3 K20 + 0x8810010C, // 000F GETMBR R4 R0 K12 + 0x7C080400, // 0010 CALL R2 2 + 0x70020000, // 0011 JMP #0013 + 0x58080015, // 0012 LDCONST R2 K21 + 0x00040202, // 0013 ADD R1 R1 R2 + 0x8808010F, // 0014 GETMBR R2 R0 K15 + 0x4C0C0000, // 0015 LDNIL R3 + 0x20080403, // 0016 NE R2 R2 R3 + 0x780A0004, // 0017 JMPF R2 #001D + 0x60080018, // 0018 GETGBL R2 G24 + 0x580C0016, // 0019 LDCONST R3 K22 + 0x8810010F, // 001A GETMBR R4 R0 K15 + 0x7C080400, // 001B CALL R2 2 + 0x70020000, // 001C JMP #001E + 0x58080017, // 001D LDCONST R2 K23 + 0x00040202, // 001E ADD R1 R1 R2 + 0x88080110, // 001F GETMBR R2 R0 K16 + 0x4C0C0000, // 0020 LDNIL R3 + 0x20080403, // 0021 NE R2 R2 R3 + 0x780A0004, // 0022 JMPF R2 #0028 + 0x60080018, // 0023 GETGBL R2 G24 + 0x580C0018, // 0024 LDCONST R3 K24 + 0x88100110, // 0025 GETMBR R4 R0 K16 + 0x7C080400, // 0026 CALL R2 2 + 0x70020000, // 0027 JMP #0029 + 0x58080019, // 0028 LDCONST R2 K25 + 0x00040202, // 0029 ADD R1 R1 R2 + 0xA8040001, // 002A EXBLK 1 1 + 0x80040200, // 002B RET 1 R1 + 0xA8040001, // 002C EXBLK 1 1 + 0x7002000D, // 002D JMP #003C + 0xAC040002, // 002E CATCH R1 0 2 + 0x7002000A, // 002F JMP #003B + 0x600C0008, // 0030 GETGBL R3 G8 + 0x5C100200, // 0031 MOVE R4 R1 + 0x7C0C0200, // 0032 CALL R3 1 + 0x000E3403, // 0033 ADD R3 K26 R3 + 0x000C071B, // 0034 ADD R3 R3 K27 + 0x60100008, // 0035 GETGBL R4 G8 + 0x5C140400, // 0036 MOVE R5 R2 + 0x7C100200, // 0037 CALL R4 1 + 0x000C0604, // 0038 ADD R3 R3 R4 + 0x80040600, // 0039 RET 1 R3 + 0x70020000, // 003A JMP #003C + 0xB0080000, // 003B RAISE 2 R0 R0 + 0x80000000, // 003C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributePathIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributePathIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C08031C, // 0005 GETMET R2 R1 K28 + 0x58100004, // 0006 LDCONST R4 K4 + 0x7C080400, // 0007 CALL R2 2 + 0x90020C02, // 0008 SETMBR R0 K6 R2 + 0x8C08031C, // 0009 GETMET R2 R1 K28 + 0x58100007, // 000A LDCONST R4 K7 + 0x7C080400, // 000B CALL R2 2 + 0x90021202, // 000C SETMBR R0 K9 R2 + 0x8C08031C, // 000D GETMET R2 R1 K28 + 0x5810000A, // 000E LDCONST R4 K10 + 0x7C080400, // 000F CALL R2 2 + 0x90021802, // 0010 SETMBR R0 K12 R2 + 0x8C08031C, // 0011 GETMET R2 R1 K28 + 0x5810000D, // 0012 LDCONST R4 K13 + 0x7C080400, // 0013 CALL R2 2 + 0x90021E02, // 0014 SETMBR R0 K15 R2 + 0x8C08031C, // 0015 GETMET R2 R1 K28 + 0x54120003, // 0016 LDINT R4 4 + 0x7C080400, // 0017 CALL R2 2 + 0x90022002, // 0018 SETMBR R0 K16 R2 + 0x8C08031C, // 0019 GETMET R2 R1 K28 + 0x54120004, // 001A LDINT R4 5 + 0x7C080400, // 001B CALL R2 2 + 0x90022202, // 001C SETMBR R0 K17 R2 + 0x80040000, // 001D RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_AttributePathIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_AttributePathIB, + 6, + &be_class_Matter_IM_base, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_AttributePathIB_tostring_closure) }, + { be_const_key_weak(tag_compression, 0), be_const_var(0) }, + { be_const_key_weak(cluster, -1), be_const_var(3) }, + { be_const_key_weak(attribute, -1), be_const_var(4) }, + { be_const_key_weak(to_TLV, 2), be_const_closure(class_Matter_AttributePathIB_to_TLV_closure) }, + { be_const_key_weak(list_index, 3), be_const_var(5) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributePathIB_from_TLV_closure) }, + { be_const_key_weak(endpoint, 1), be_const_var(2) }, + { be_const_key_weak(node, -1), be_const_var(1) }, + })), + be_str_weak(Matter_AttributePathIB) +); +// compact class 'Matter_ClusterPathIB' ktab size: 14, total: 20 (saved 48 bytes) +static const bvalue be_ktab_class_Matter_ClusterPathIB[14] = { + /* K0 */ be_nested_str_weak(node), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(endpoint), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(cluster), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(matter), + /* K8 */ be_nested_str_weak(TLV), + /* K9 */ be_nested_str_weak(Matter_TLV_list), + /* K10 */ be_nested_str_weak(add_TLV), + /* K11 */ be_nested_str_weak(U8), + /* K12 */ be_nested_str_weak(U2), + /* K13 */ be_nested_str_weak(U4), +}; + + +extern const bclass be_class_Matter_ClusterPathIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_ClusterPathIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_ClusterPathIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x8C080301, // 000D GETMET R2 R1 K1 + 0x58100006, // 000E LDCONST R4 K6 + 0x7C080400, // 000F CALL R2 2 + 0x90020A02, // 0010 SETMBR R0 K5 R2 + 0x80040000, // 0011 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_ClusterPathIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_ClusterPathIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB8060E00, // 0000 GETNGBL R1 K7 + 0x88040308, // 0001 GETMBR R1 R1 K8 + 0x8C080309, // 0002 GETMET R2 R1 K9 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050A, // 0004 GETMET R3 R2 K10 + 0x58140002, // 0005 LDCONST R5 K2 + 0x8818030B, // 0006 GETMBR R6 R1 K11 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C050A, // 0009 GETMET R3 R2 K10 + 0x58140004, // 000A LDCONST R5 K4 + 0x8818030C, // 000B GETMBR R6 R1 K12 + 0x881C0103, // 000C GETMBR R7 R0 K3 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C050A, // 000E GETMET R3 R2 K10 + 0x58140006, // 000F LDCONST R5 K6 + 0x8818030D, // 0010 GETMBR R6 R1 K13 + 0x881C0105, // 0011 GETMBR R7 R0 K5 + 0x7C0C0800, // 0012 CALL R3 4 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_ClusterPathIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_ClusterPathIB, + 3, + &be_class_Matter_IM_base, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_ClusterPathIB_from_TLV_closure) }, + { be_const_key_weak(node, -1), be_const_var(0) }, + { be_const_key_weak(cluster, -1), be_const_var(2) }, + { be_const_key_weak(endpoint, 0), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_ClusterPathIB_to_TLV_closure) }, + })), + be_str_weak(Matter_ClusterPathIB) +); +// compact class 'Matter_DataVersionFilterIB' ktab size: 14, total: 19 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_DataVersionFilterIB[14] = { + /* K0 */ be_nested_str_weak(path), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(ClusterPathIB), + /* K3 */ be_nested_str_weak(from_TLV), + /* K4 */ be_nested_str_weak(findsub), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(data_version), + /* K7 */ be_nested_str_weak(findsubval), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_nested_str_weak(Matter_TLV_struct), + /* K11 */ be_nested_str_weak(add_obj), + /* K12 */ be_nested_str_weak(add_TLV), + /* K13 */ be_nested_str_weak(U4), +}; + + +extern const bclass be_class_Matter_DataVersionFilterIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_DataVersionFilterIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_DataVersionFilterIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0200, // 0005 GETNGBL R2 K1 + 0x8C080502, // 0006 GETMET R2 R2 K2 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x8C100304, // 0009 GETMET R4 R1 K4 + 0x58180005, // 000A LDCONST R6 K5 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020002, // 000D SETMBR R0 K0 R2 + 0x8C080307, // 000E GETMET R2 R1 K7 + 0x58100008, // 000F LDCONST R4 K8 + 0x7C080400, // 0010 CALL R2 2 + 0x90020C02, // 0011 SETMBR R0 K6 R2 + 0x80040000, // 0012 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_DataVersionFilterIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_DataVersionFilterIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040309, // 0001 GETMBR R1 R1 K9 + 0x8C08030A, // 0002 GETMET R2 R1 K10 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050B, // 0004 GETMET R3 R2 K11 + 0x58140005, // 0005 LDCONST R5 K5 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C050C, // 0008 GETMET R3 R2 K12 + 0x58140008, // 0009 LDCONST R5 K8 + 0x8818030D, // 000A GETMBR R6 R1 K13 + 0x881C0106, // 000B GETMBR R7 R0 K6 + 0x7C0C0800, // 000C CALL R3 4 + 0x80040400, // 000D RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_DataVersionFilterIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_DataVersionFilterIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_DataVersionFilterIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_DataVersionFilterIB_to_TLV_closure) }, + { be_const_key_weak(path, 3), be_const_var(0) }, + { be_const_key_weak(data_version, -1), be_const_var(1) }, + })), + be_str_weak(Matter_DataVersionFilterIB) +); +// compact class 'Matter_AttributeDataIB' ktab size: 16, total: 23 (saved 56 bytes) +static const bvalue be_ktab_class_Matter_AttributeDataIB[16] = { + /* K0 */ be_nested_str_weak(data_version), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(path), + /* K4 */ be_nested_str_weak(matter), + /* K5 */ be_nested_str_weak(AttributePathIB), + /* K6 */ be_nested_str_weak(from_TLV), + /* K7 */ be_nested_str_weak(findsub), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(data), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(TLV), + /* K12 */ be_nested_str_weak(Matter_TLV_struct), + /* K13 */ be_nested_str_weak(add_TLV), + /* K14 */ be_nested_str_weak(U4), + /* K15 */ be_nested_str_weak(add_obj), +}; + + +extern const bclass be_class_Matter_AttributeDataIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeDataIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeDataIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0xB80A0800, // 0009 GETNGBL R2 K4 + 0x8C080505, // 000A GETMET R2 R2 K5 + 0x7C080200, // 000B CALL R2 1 + 0x8C080506, // 000C GETMET R2 R2 K6 + 0x8C100307, // 000D GETMET R4 R1 K7 + 0x58180008, // 000E LDCONST R6 K8 + 0x7C100400, // 000F CALL R4 2 + 0x7C080400, // 0010 CALL R2 2 + 0x90020602, // 0011 SETMBR R0 K3 R2 + 0x8C080301, // 0012 GETMET R2 R1 K1 + 0x5810000A, // 0013 LDCONST R4 K10 + 0x7C080400, // 0014 CALL R2 2 + 0x90021202, // 0015 SETMBR R0 K9 R2 + 0x80040000, // 0016 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeDataIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeDataIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0xB8060800, // 0000 GETNGBL R1 K4 + 0x8804030B, // 0001 GETMBR R1 R1 K11 + 0x8C08030C, // 0002 GETMET R2 R1 K12 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050D, // 0004 GETMET R3 R2 K13 + 0x58140002, // 0005 LDCONST R5 K2 + 0x8818030E, // 0006 GETMBR R6 R1 K14 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C050F, // 0009 GETMET R3 R2 K15 + 0x58140008, // 000A LDCONST R5 K8 + 0x88180103, // 000B GETMBR R6 R0 K3 + 0x7C0C0600, // 000C CALL R3 3 + 0x8C0C050F, // 000D GETMET R3 R2 K15 + 0x5814000A, // 000E LDCONST R5 K10 + 0x88180109, // 000F GETMBR R6 R0 K9 + 0x7C0C0600, // 0010 CALL R3 3 + 0x80040400, // 0011 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_AttributeDataIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_AttributeDataIB, + 3, + &be_class_Matter_IM_base, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(data_version, -1), be_const_var(0) }, + { be_const_key_weak(data, -1), be_const_var(2) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeDataIB_from_TLV_closure) }, + { be_const_key_weak(path, 2), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeDataIB_to_TLV_closure) }, + })), + be_str_weak(Matter_AttributeDataIB) +); +// compact class 'Matter_AttributeReportIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_AttributeReportIB[12] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_obj), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(attribute_status), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(attribute_data), + /* K8 */ be_nested_str_weak(AttributeStatusIB), + /* K9 */ be_nested_str_weak(from_TLV), + /* K10 */ be_nested_str_weak(findsub), + /* K11 */ be_nested_str_weak(AttributeDataIB), +}; + + +extern const bclass be_class_Matter_AttributeReportIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeReportIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeReportIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180105, // 0006 GETMBR R6 R0 K5 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C0503, // 0008 GETMET R3 R2 K3 + 0x58140006, // 0009 LDCONST R5 K6 + 0x88180107, // 000A GETMBR R6 R0 K7 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeReportIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeReportIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0000, // 0005 GETNGBL R2 K0 + 0x8C080508, // 0006 GETMET R2 R2 K8 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080509, // 0008 GETMET R2 R2 K9 + 0x8C10030A, // 0009 GETMET R4 R1 K10 + 0x58180004, // 000A LDCONST R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020A02, // 000D SETMBR R0 K5 R2 + 0xB80A0000, // 000E GETNGBL R2 K0 + 0x8C08050B, // 000F GETMET R2 R2 K11 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080509, // 0011 GETMET R2 R2 K9 + 0x8C10030A, // 0012 GETMET R4 R1 K10 + 0x58180006, // 0013 LDCONST R6 K6 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020E02, // 0016 SETMBR R0 K7 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_AttributeReportIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_AttributeReportIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(attribute_data, 3), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeReportIB_to_TLV_closure) }, + { be_const_key_weak(attribute_status, -1), be_const_var(0) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeReportIB_from_TLV_closure) }, + })), + be_str_weak(Matter_AttributeReportIB) +); +// compact class 'Matter_EventFilterIB' ktab size: 10, total: 14 (saved 32 bytes) +static const bvalue be_ktab_class_Matter_EventFilterIB[10] = { + /* K0 */ be_nested_str_weak(node), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(event_min), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(matter), + /* K6 */ be_nested_str_weak(TLV), + /* K7 */ be_nested_str_weak(Matter_TLV_struct), + /* K8 */ be_nested_str_weak(add_TLV), + /* K9 */ be_nested_str_weak(U8), +}; + + +extern const bclass be_class_Matter_EventFilterIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_EventFilterIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventFilterIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x80040000, // 000D RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_EventFilterIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventFilterIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8060A00, // 0000 GETNGBL R1 K5 + 0x88040306, // 0001 GETMBR R1 R1 K6 + 0x8C080307, // 0002 GETMET R2 R1 K7 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0508, // 0004 GETMET R3 R2 K8 + 0x58140002, // 0005 LDCONST R5 K2 + 0x88180309, // 0006 GETMBR R6 R1 K9 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0508, // 0009 GETMET R3 R2 K8 + 0x58140004, // 000A LDCONST R5 K4 + 0x88180309, // 000B GETMBR R6 R1 K9 + 0x881C0103, // 000C GETMBR R7 R0 K3 + 0x7C0C0800, // 000D CALL R3 4 + 0x80040400, // 000E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventFilterIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_EventFilterIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(event_min, 3), be_const_var(1) }, + { be_const_key_weak(node, 2), be_const_var(0) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventFilterIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventFilterIB_from_TLV_closure) }, + })), + be_str_weak(Matter_EventFilterIB) +); +// compact class 'Matter_EventPathIB' ktab size: 18, total: 27 (saved 72 bytes) +static const bvalue be_ktab_class_Matter_EventPathIB[18] = { + /* K0 */ be_nested_str_weak(node), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(endpoint), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(cluster), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(event), + /* K8 */ be_const_int(3), + /* K9 */ be_nested_str_weak(is_urgent), + /* K10 */ be_nested_str_weak(matter), + /* K11 */ be_nested_str_weak(TLV), + /* K12 */ be_nested_str_weak(Matter_TLV_list), + /* K13 */ be_nested_str_weak(add_TLV), + /* K14 */ be_nested_str_weak(U8), + /* K15 */ be_nested_str_weak(U2), + /* K16 */ be_nested_str_weak(U4), + /* K17 */ be_nested_str_weak(BOOL), +}; + + +extern const bclass be_class_Matter_EventPathIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_EventPathIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventPathIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x8C080301, // 000D GETMET R2 R1 K1 + 0x58100006, // 000E LDCONST R4 K6 + 0x7C080400, // 000F CALL R2 2 + 0x90020A02, // 0010 SETMBR R0 K5 R2 + 0x8C080301, // 0011 GETMET R2 R1 K1 + 0x58100008, // 0012 LDCONST R4 K8 + 0x7C080400, // 0013 CALL R2 2 + 0x90020E02, // 0014 SETMBR R0 K7 R2 + 0x8C080301, // 0015 GETMET R2 R1 K1 + 0x54120003, // 0016 LDINT R4 4 + 0x7C080400, // 0017 CALL R2 2 + 0x90021202, // 0018 SETMBR R0 K9 R2 + 0x80040000, // 0019 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_EventPathIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventPathIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xB80A1400, // 0000 GETNGBL R2 K10 + 0x8808050B, // 0001 GETMBR R2 R2 K11 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C0C0203, // 0003 EQ R3 R1 R3 + 0x780E0002, // 0004 JMPF R3 #0008 + 0x8C0C050C, // 0005 GETMET R3 R2 K12 + 0x7C0C0200, // 0006 CALL R3 1 + 0x5C040600, // 0007 MOVE R1 R3 + 0x8C0C030D, // 0008 GETMET R3 R1 K13 + 0x58140002, // 0009 LDCONST R5 K2 + 0x8818050E, // 000A GETMBR R6 R2 K14 + 0x881C0100, // 000B GETMBR R7 R0 K0 + 0x7C0C0800, // 000C CALL R3 4 + 0x8C0C030D, // 000D GETMET R3 R1 K13 + 0x58140004, // 000E LDCONST R5 K4 + 0x8818050F, // 000F GETMBR R6 R2 K15 + 0x881C0103, // 0010 GETMBR R7 R0 K3 + 0x7C0C0800, // 0011 CALL R3 4 + 0x8C0C030D, // 0012 GETMET R3 R1 K13 + 0x58140006, // 0013 LDCONST R5 K6 + 0x88180510, // 0014 GETMBR R6 R2 K16 + 0x881C0105, // 0015 GETMBR R7 R0 K5 + 0x7C0C0800, // 0016 CALL R3 4 + 0x8C0C030D, // 0017 GETMET R3 R1 K13 + 0x58140008, // 0018 LDCONST R5 K8 + 0x88180510, // 0019 GETMBR R6 R2 K16 + 0x881C0107, // 001A GETMBR R7 R0 K7 + 0x7C0C0800, // 001B CALL R3 4 + 0x8C0C030D, // 001C GETMET R3 R1 K13 + 0x54160003, // 001D LDINT R5 4 + 0x88180511, // 001E GETMBR R6 R2 K17 + 0x881C0109, // 001F GETMBR R7 R0 K9 + 0x7C0C0800, // 0020 CALL R3 4 + 0x80040200, // 0021 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventPathIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_EventPathIB, + 5, + &be_class_Matter_IM_base, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(endpoint, 5), be_const_var(1) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventPathIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventPathIB_to_TLV_closure) }, + { be_const_key_weak(is_urgent, -1), be_const_var(4) }, + { be_const_key_weak(event, -1), be_const_var(3) }, + { be_const_key_weak(cluster, 3), be_const_var(2) }, + { be_const_key_weak(node, -1), be_const_var(0) }, + })), + be_str_weak(Matter_EventPathIB) +); +// compact class 'Matter_EventDataIB' ktab size: 25, total: 38 (saved 104 bytes) +static const bvalue be_ktab_class_Matter_EventDataIB[25] = { + /* K0 */ be_nested_str_weak(path), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(EventPathIB), + /* K3 */ be_nested_str_weak(from_TLV), + /* K4 */ be_nested_str_weak(findsub), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(event_number), + /* K7 */ be_nested_str_weak(findsubval), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(priority), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(epoch_timestamp), + /* K12 */ be_const_int(3), + /* K13 */ be_nested_str_weak(system_timestamp), + /* K14 */ be_nested_str_weak(delta_epoch_timestamp), + /* K15 */ be_nested_str_weak(delta_system_timestamp), + /* K16 */ be_nested_str_weak(data), + /* K17 */ be_nested_str_weak(TLV), + /* K18 */ be_nested_str_weak(Matter_TLV_struct), + /* K19 */ be_nested_str_weak(to_TLV), + /* K20 */ be_nested_str_weak(add_list), + /* K21 */ be_nested_str_weak(add_TLV), + /* K22 */ be_nested_str_weak(U8), + /* K23 */ be_nested_str_weak(U1), + /* K24 */ be_nested_str_weak(add_obj), +}; + + +extern const bclass be_class_Matter_EventDataIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_EventDataIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventDataIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0200, // 0005 GETNGBL R2 K1 + 0x8C080502, // 0006 GETMET R2 R2 K2 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x8C100304, // 0009 GETMET R4 R1 K4 + 0x58180005, // 000A LDCONST R6 K5 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020002, // 000D SETMBR R0 K0 R2 + 0x8C080307, // 000E GETMET R2 R1 K7 + 0x58100008, // 000F LDCONST R4 K8 + 0x7C080400, // 0010 CALL R2 2 + 0x90020C02, // 0011 SETMBR R0 K6 R2 + 0x8C080307, // 0012 GETMET R2 R1 K7 + 0x5810000A, // 0013 LDCONST R4 K10 + 0x7C080400, // 0014 CALL R2 2 + 0x90021202, // 0015 SETMBR R0 K9 R2 + 0x8C080307, // 0016 GETMET R2 R1 K7 + 0x5810000C, // 0017 LDCONST R4 K12 + 0x7C080400, // 0018 CALL R2 2 + 0x90021602, // 0019 SETMBR R0 K11 R2 + 0x8C080307, // 001A GETMET R2 R1 K7 + 0x54120003, // 001B LDINT R4 4 + 0x7C080400, // 001C CALL R2 2 + 0x90021A02, // 001D SETMBR R0 K13 R2 + 0x8C080307, // 001E GETMET R2 R1 K7 + 0x54120004, // 001F LDINT R4 5 + 0x7C080400, // 0020 CALL R2 2 + 0x90021C02, // 0021 SETMBR R0 K14 R2 + 0x8C080307, // 0022 GETMET R2 R1 K7 + 0x54120005, // 0023 LDINT R4 6 + 0x7C080400, // 0024 CALL R2 2 + 0x90021E02, // 0025 SETMBR R0 K15 R2 + 0x8C080307, // 0026 GETMET R2 R1 K7 + 0x54120006, // 0027 LDINT R4 7 + 0x7C080400, // 0028 CALL R2 2 + 0x90022002, // 0029 SETMBR R0 K16 R2 + 0x80040000, // 002A RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_EventDataIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventDataIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[51]) { /* code */ + 0xB80A0200, // 0000 GETNGBL R2 K1 + 0x88080511, // 0001 GETMBR R2 R2 K17 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C0C0203, // 0003 EQ R3 R1 R3 + 0x780E0002, // 0004 JMPF R3 #0008 + 0x8C0C0512, // 0005 GETMET R3 R2 K18 + 0x7C0C0200, // 0006 CALL R3 1 + 0x5C040600, // 0007 MOVE R1 R3 + 0x880C0100, // 0008 GETMBR R3 R0 K0 + 0x780E0005, // 0009 JMPF R3 #0010 + 0x880C0100, // 000A GETMBR R3 R0 K0 + 0x8C0C0713, // 000B GETMET R3 R3 K19 + 0x8C140314, // 000C GETMET R5 R1 K20 + 0x581C0005, // 000D LDCONST R7 K5 + 0x7C140400, // 000E CALL R5 2 + 0x7C0C0400, // 000F CALL R3 2 + 0x8C0C0315, // 0010 GETMET R3 R1 K21 + 0x58140008, // 0011 LDCONST R5 K8 + 0x88180516, // 0012 GETMBR R6 R2 K22 + 0x881C0106, // 0013 GETMBR R7 R0 K6 + 0x7C0C0800, // 0014 CALL R3 4 + 0x8C0C0315, // 0015 GETMET R3 R1 K21 + 0x5814000A, // 0016 LDCONST R5 K10 + 0x88180517, // 0017 GETMBR R6 R2 K23 + 0x881C0109, // 0018 GETMBR R7 R0 K9 + 0x7C0C0800, // 0019 CALL R3 4 + 0x8C0C0315, // 001A GETMET R3 R1 K21 + 0x5814000C, // 001B LDCONST R5 K12 + 0x88180516, // 001C GETMBR R6 R2 K22 + 0x881C010B, // 001D GETMBR R7 R0 K11 + 0x7C0C0800, // 001E CALL R3 4 + 0x8C0C0315, // 001F GETMET R3 R1 K21 + 0x54160003, // 0020 LDINT R5 4 + 0x88180516, // 0021 GETMBR R6 R2 K22 + 0x881C010D, // 0022 GETMBR R7 R0 K13 + 0x7C0C0800, // 0023 CALL R3 4 + 0x8C0C0315, // 0024 GETMET R3 R1 K21 + 0x54160004, // 0025 LDINT R5 5 + 0x88180516, // 0026 GETMBR R6 R2 K22 + 0x881C010E, // 0027 GETMBR R7 R0 K14 + 0x7C0C0800, // 0028 CALL R3 4 + 0x8C0C0315, // 0029 GETMET R3 R1 K21 + 0x54160005, // 002A LDINT R5 6 + 0x88180516, // 002B GETMBR R6 R2 K22 + 0x881C010F, // 002C GETMBR R7 R0 K15 + 0x7C0C0800, // 002D CALL R3 4 + 0x8C0C0318, // 002E GETMET R3 R1 K24 + 0x54160006, // 002F LDINT R5 7 + 0x88180110, // 0030 GETMBR R6 R0 K16 + 0x7C0C0600, // 0031 CALL R3 3 + 0x80040200, // 0032 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventDataIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_EventDataIB, + 8, + &be_class_Matter_IM_base, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(delta_system_timestamp, -1), be_const_var(6) }, + { be_const_key_weak(data, -1), be_const_var(7) }, + { be_const_key_weak(to_TLV, 6), be_const_closure(class_Matter_EventDataIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventDataIB_from_TLV_closure) }, + { be_const_key_weak(delta_epoch_timestamp, -1), be_const_var(5) }, + { be_const_key_weak(epoch_timestamp, -1), be_const_var(3) }, + { be_const_key_weak(system_timestamp, -1), be_const_var(4) }, + { be_const_key_weak(priority, 5), be_const_var(2) }, + { be_const_key_weak(path, 3), be_const_var(0) }, + { be_const_key_weak(event_number, 2), be_const_var(1) }, + })), + be_str_weak(Matter_EventDataIB) +); +// compact class 'Matter_EventReportIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_EventReportIB[12] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_obj), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(event_status), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(event_data), + /* K8 */ be_nested_str_weak(EventStatusIB), + /* K9 */ be_nested_str_weak(from_TLV), + /* K10 */ be_nested_str_weak(findsub), + /* K11 */ be_nested_str_weak(EventDataIB), +}; + + +extern const bclass be_class_Matter_EventReportIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_EventReportIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventReportIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180105, // 0006 GETMBR R6 R0 K5 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C0503, // 0008 GETMET R3 R2 K3 + 0x58140006, // 0009 LDCONST R5 K6 + 0x88180107, // 000A GETMBR R6 R0 K7 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_EventReportIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventReportIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0000, // 0005 GETNGBL R2 K0 + 0x8C080508, // 0006 GETMET R2 R2 K8 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080509, // 0008 GETMET R2 R2 K9 + 0x8C10030A, // 0009 GETMET R4 R1 K10 + 0x58180004, // 000A LDCONST R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020A02, // 000D SETMBR R0 K5 R2 + 0xB80A0000, // 000E GETNGBL R2 K0 + 0x8C08050B, // 000F GETMET R2 R2 K11 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080509, // 0011 GETMET R2 R2 K9 + 0x8C10030A, // 0012 GETMET R4 R1 K10 + 0x58180006, // 0013 LDCONST R6 K6 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020E02, // 0016 SETMBR R0 K7 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventReportIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_EventReportIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(event_data, 3), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventReportIB_to_TLV_closure) }, + { be_const_key_weak(event_status, -1), be_const_var(0) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventReportIB_from_TLV_closure) }, + })), + be_str_weak(Matter_EventReportIB) +); +// compact class 'Matter_CommandPathIB' ktab size: 13, total: 19 (saved 48 bytes) +static const bvalue be_ktab_class_Matter_CommandPathIB[13] = { + /* K0 */ be_nested_str_weak(endpoint), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(cluster), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(command), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(matter), + /* K8 */ be_nested_str_weak(TLV), + /* K9 */ be_nested_str_weak(Matter_TLV_list), + /* K10 */ be_nested_str_weak(add_TLV), + /* K11 */ be_nested_str_weak(U2), + /* K12 */ be_nested_str_weak(U4), +}; + + +extern const bclass be_class_Matter_CommandPathIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandPathIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandPathIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x8C080301, // 000D GETMET R2 R1 K1 + 0x58100006, // 000E LDCONST R4 K6 + 0x7C080400, // 000F CALL R2 2 + 0x90020A02, // 0010 SETMBR R0 K5 R2 + 0x80040000, // 0011 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandPathIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandPathIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB8060E00, // 0000 GETNGBL R1 K7 + 0x88040308, // 0001 GETMBR R1 R1 K8 + 0x8C080309, // 0002 GETMET R2 R1 K9 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050A, // 0004 GETMET R3 R2 K10 + 0x58140002, // 0005 LDCONST R5 K2 + 0x8818030B, // 0006 GETMBR R6 R1 K11 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C050A, // 0009 GETMET R3 R2 K10 + 0x58140004, // 000A LDCONST R5 K4 + 0x8818030C, // 000B GETMBR R6 R1 K12 + 0x881C0103, // 000C GETMBR R7 R0 K3 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C050A, // 000E GETMET R3 R2 K10 + 0x58140006, // 000F LDCONST R5 K6 + 0x8818030C, // 0010 GETMBR R6 R1 K12 + 0x881C0105, // 0011 GETMBR R7 R0 K5 + 0x7C0C0800, // 0012 CALL R3 4 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_CommandPathIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_CommandPathIB, + 3, + &be_class_Matter_IM_base, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(endpoint, -1), be_const_var(0) }, + { be_const_key_weak(from_TLV, 0), be_const_closure(class_Matter_CommandPathIB_from_TLV_closure) }, + { be_const_key_weak(cluster, -1), be_const_var(1) }, + { be_const_key_weak(command, 1), be_const_var(2) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandPathIB_to_TLV_closure) }, + })), + be_str_weak(Matter_CommandPathIB) +); +// compact class 'Matter_CommandDataIB' ktab size: 11, total: 16 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_CommandDataIB[11] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_obj), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(command_path), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(command_fields), + /* K8 */ be_nested_str_weak(CommandPathIB), + /* K9 */ be_nested_str_weak(from_TLV), + /* K10 */ be_nested_str_weak(findsub), +}; + + +extern const bclass be_class_Matter_CommandDataIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandDataIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandDataIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180105, // 0006 GETMBR R6 R0 K5 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C0503, // 0008 GETMET R3 R2 K3 + 0x58140006, // 0009 LDCONST R5 K6 + 0x88180107, // 000A GETMBR R6 R0 K7 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandDataIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandDataIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0000, // 0005 GETNGBL R2 K0 + 0x8C080508, // 0006 GETMET R2 R2 K8 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080509, // 0008 GETMET R2 R2 K9 + 0x8C10030A, // 0009 GETMET R4 R1 K10 + 0x58180004, // 000A LDCONST R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020A02, // 000D SETMBR R0 K5 R2 + 0x8C08030A, // 000E GETMET R2 R1 K10 + 0x58100006, // 000F LDCONST R4 K6 + 0x7C080400, // 0010 CALL R2 2 + 0x90020E02, // 0011 SETMBR R0 K7 R2 + 0x80040000, // 0012 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_CommandDataIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_CommandDataIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(command_path, 3), be_const_var(0) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandDataIB_to_TLV_closure) }, + { be_const_key_weak(command_fields, -1), be_const_var(1) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_CommandDataIB_from_TLV_closure) }, + })), + be_str_weak(Matter_CommandDataIB) +); +// compact class 'Matter_InvokeResponseIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_InvokeResponseIB[12] = { + /* K0 */ be_nested_str_weak(command), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(CommandDataIB), + /* K3 */ be_nested_str_weak(from_TLV), + /* K4 */ be_nested_str_weak(findsub), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(status), + /* K7 */ be_nested_str_weak(CommandStatusIB), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_nested_str_weak(Matter_TLV_struct), + /* K11 */ be_nested_str_weak(add_obj), +}; + + +extern const bclass be_class_Matter_InvokeResponseIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_InvokeResponseIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_InvokeResponseIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0200, // 0005 GETNGBL R2 K1 + 0x8C080502, // 0006 GETMET R2 R2 K2 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x8C100304, // 0009 GETMET R4 R1 K4 + 0x58180005, // 000A LDCONST R6 K5 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020002, // 000D SETMBR R0 K0 R2 + 0xB80A0200, // 000E GETNGBL R2 K1 + 0x8C080507, // 000F GETMET R2 R2 K7 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080503, // 0011 GETMET R2 R2 K3 + 0x8C100304, // 0012 GETMET R4 R1 K4 + 0x58180008, // 0013 LDCONST R6 K8 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020C02, // 0016 SETMBR R0 K6 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_InvokeResponseIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_InvokeResponseIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040309, // 0001 GETMBR R1 R1 K9 + 0x8C08030A, // 0002 GETMET R2 R1 K10 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050B, // 0004 GETMET R3 R2 K11 + 0x58140005, // 0005 LDCONST R5 K5 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C050B, // 0008 GETMET R3 R2 K11 + 0x58140008, // 0009 LDCONST R5 K8 + 0x88180106, // 000A GETMBR R6 R0 K6 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_InvokeResponseIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_InvokeResponseIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_InvokeResponseIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_InvokeResponseIB_to_TLV_closure) }, + { be_const_key_weak(command, -1), be_const_var(0) }, + { be_const_key_weak(status, -1), be_const_var(1) }, + })), + be_str_weak(Matter_InvokeResponseIB) +); +// compact class 'Matter_CommandStatusIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_CommandStatusIB[12] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_obj), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(command_path), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(status), + /* K8 */ be_nested_str_weak(CommandPathIB), + /* K9 */ be_nested_str_weak(from_TLV), + /* K10 */ be_nested_str_weak(findsub), + /* K11 */ be_nested_str_weak(StatusIB), +}; + + +extern const bclass be_class_Matter_CommandStatusIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandStatusIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandStatusIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180105, // 0006 GETMBR R6 R0 K5 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C0503, // 0008 GETMET R3 R2 K3 + 0x58140006, // 0009 LDCONST R5 K6 + 0x88180107, // 000A GETMBR R6 R0 K7 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_CommandStatusIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_CommandStatusIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0000, // 0005 GETNGBL R2 K0 + 0x8C080508, // 0006 GETMET R2 R2 K8 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080509, // 0008 GETMET R2 R2 K9 + 0x8C10030A, // 0009 GETMET R4 R1 K10 + 0x58180004, // 000A LDCONST R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020A02, // 000D SETMBR R0 K5 R2 + 0xB80A0000, // 000E GETNGBL R2 K0 + 0x8C08050B, // 000F GETMET R2 R2 K11 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080509, // 0011 GETMET R2 R2 K9 + 0x8C10030A, // 0012 GETMET R4 R1 K10 + 0x58180006, // 0013 LDCONST R6 K6 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020E02, // 0016 SETMBR R0 K7 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_CommandStatusIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_CommandStatusIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(command_path, 2), be_const_var(0) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandStatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_CommandStatusIB_from_TLV_closure) }, + { be_const_key_weak(status, -1), be_const_var(1) }, + })), + be_str_weak(Matter_CommandStatusIB) +); +// compact class 'Matter_EventStatusIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_EventStatusIB[12] = { + /* K0 */ be_nested_str_weak(path), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(EventPathIB), + /* K3 */ be_nested_str_weak(from_TLV), + /* K4 */ be_nested_str_weak(findsub), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(status), + /* K7 */ be_nested_str_weak(StatusIB), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_nested_str_weak(Matter_TLV_struct), + /* K11 */ be_nested_str_weak(add_obj), +}; + + +extern const bclass be_class_Matter_EventStatusIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_EventStatusIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventStatusIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0200, // 0005 GETNGBL R2 K1 + 0x8C080502, // 0006 GETMET R2 R2 K2 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x8C100304, // 0009 GETMET R4 R1 K4 + 0x58180005, // 000A LDCONST R6 K5 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020002, // 000D SETMBR R0 K0 R2 + 0xB80A0200, // 000E GETNGBL R2 K1 + 0x8C080507, // 000F GETMET R2 R2 K7 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080503, // 0011 GETMET R2 R2 K3 + 0x8C100304, // 0012 GETMET R4 R1 K4 + 0x58180008, // 0013 LDCONST R6 K8 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020C02, // 0016 SETMBR R0 K6 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_EventStatusIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventStatusIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040309, // 0001 GETMBR R1 R1 K9 + 0x8C08030A, // 0002 GETMET R2 R1 K10 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050B, // 0004 GETMET R3 R2 K11 + 0x58140005, // 0005 LDCONST R5 K5 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C050B, // 0008 GETMET R3 R2 K11 + 0x58140008, // 0009 LDCONST R5 K8 + 0x88180106, // 000A GETMBR R6 R0 K6 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventStatusIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_EventStatusIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventStatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventStatusIB_to_TLV_closure) }, + { be_const_key_weak(path, -1), be_const_var(0) }, + { be_const_key_weak(status, -1), be_const_var(1) }, + })), + be_str_weak(Matter_EventStatusIB) +); +// compact class 'Matter_AttributeStatusIB' ktab size: 12, total: 17 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_AttributeStatusIB[12] = { + /* K0 */ be_nested_str_weak(path), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(AttributePathIB), + /* K3 */ be_nested_str_weak(from_TLV), + /* K4 */ be_nested_str_weak(findsub), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(status), + /* K7 */ be_nested_str_weak(StatusIB), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_nested_str_weak(Matter_TLV_struct), + /* K11 */ be_nested_str_weak(add_obj), +}; + + +extern const bclass be_class_Matter_AttributeStatusIB; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeStatusIB_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeStatusIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xB80A0200, // 0005 GETNGBL R2 K1 + 0x8C080502, // 0006 GETMET R2 R2 K2 + 0x7C080200, // 0007 CALL R2 1 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x8C100304, // 0009 GETMET R4 R1 K4 + 0x58180005, // 000A LDCONST R6 K5 + 0x7C100400, // 000B CALL R4 2 + 0x7C080400, // 000C CALL R2 2 + 0x90020002, // 000D SETMBR R0 K0 R2 + 0xB80A0200, // 000E GETNGBL R2 K1 + 0x8C080507, // 000F GETMET R2 R2 K7 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080503, // 0011 GETMET R2 R2 K3 + 0x8C100304, // 0012 GETMET R4 R1 K4 + 0x58180008, // 0013 LDCONST R6 K8 + 0x7C100400, // 0014 CALL R4 2 + 0x7C080400, // 0015 CALL R2 2 + 0x90020C02, // 0016 SETMBR R0 K6 R2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_AttributeStatusIB_to_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_AttributeStatusIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040309, // 0001 GETMBR R1 R1 K9 + 0x8C08030A, // 0002 GETMET R2 R1 K10 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C050B, // 0004 GETMET R3 R2 K11 + 0x58140005, // 0005 LDCONST R5 K5 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C050B, // 0008 GETMET R3 R2 K11 + 0x58140008, // 0009 LDCONST R5 K8 + 0x88180106, // 000A GETMBR R6 R0 K6 + 0x7C0C0600, // 000B CALL R3 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_AttributeStatusIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_AttributeStatusIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeStatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeStatusIB_to_TLV_closure) }, + { be_const_key_weak(path, -1), be_const_var(0) }, + { be_const_key_weak(status, -1), be_const_var(1) }, + })), + be_str_weak(Matter_AttributeStatusIB) +); +// compact class 'Matter_StatusIB' ktab size: 10, total: 14 (saved 32 bytes) +static const bvalue be_ktab_class_Matter_StatusIB[10] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(U2), + /* K6 */ be_nested_str_weak(status), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(cluster_status), + /* K9 */ be_nested_str_weak(findsubval), +}; + + +extern const bclass be_class_Matter_StatusIB; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_StatusIB_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_StatusIB, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180305, // 0006 GETMBR R6 R1 K5 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x58140007, // 000A LDCONST R5 K7 + 0x88180305, // 000B GETMBR R6 R1 K5 + 0x881C0108, // 000C GETMBR R7 R0 K8 + 0x7C0C0800, // 000D CALL R3 4 + 0x80040400, // 000E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_StatusIB_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_StatusIB, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080309, // 0005 GETMET R2 R1 K9 + 0x58100004, // 0006 LDCONST R4 K4 + 0x7C080400, // 0007 CALL R2 2 + 0x90020C02, // 0008 SETMBR R0 K6 R2 + 0x8C080309, // 0009 GETMET R2 R1 K9 + 0x58100007, // 000A LDCONST R4 K7 + 0x7C080400, // 000B CALL R2 2 + 0x90021002, // 000C SETMBR R0 K8 R2 + 0x80040000, // 000D RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_StatusIB +********************************************************************/ +extern const bclass be_class_Matter_IM_base; +be_local_class(Matter_StatusIB, + 2, + &be_class_Matter_IM_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(cluster_status, 2), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_StatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_StatusIB_from_TLV_closure) }, + { be_const_key_weak(status, -1), be_const_var(0) }, + })), + be_str_weak(Matter_StatusIB) +); +// compact class 'Matter_StatusResponseMessage' ktab size: 10, total: 12 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_StatusResponseMessage[10] = { + /* K0 */ be_nested_str_weak(status), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(matter), + /* K4 */ be_nested_str_weak(TLV), + /* K5 */ be_nested_str_weak(Matter_TLV_struct), + /* K6 */ be_nested_str_weak(add_TLV), + /* K7 */ be_nested_str_weak(U4), + /* K8 */ be_nested_str_weak(U1), + /* K9 */ be_nested_str_weak(InteractionModelRevision), +}; + + +extern const bclass be_class_Matter_StatusResponseMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_StatusResponseMessage_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_StatusResponseMessage, /* shared constants */ + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x80040000, // 0009 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_StatusResponseMessage_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_StatusResponseMessage, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8060600, // 0000 GETNGBL R1 K3 + 0x88040304, // 0001 GETMBR R1 R1 K4 + 0x8C080305, // 0002 GETMET R2 R1 K5 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0506, // 0004 GETMET R3 R2 K6 + 0x58140002, // 0005 LDCONST R5 K2 + 0x88180307, // 0006 GETMBR R6 R1 K7 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0506, // 0009 GETMET R3 R2 K6 + 0x541600FE, // 000A LDINT R5 255 + 0x88180308, // 000B GETMBR R6 R1 K8 + 0x881C0109, // 000C GETMBR R7 R0 K9 + 0x7C0C0800, // 000D CALL R3 4 + 0x80040400, // 000E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_StatusResponseMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_StatusResponseMessage, + 1, + &be_class_Matter_IM_Message_base, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_StatusResponseMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, 2), be_const_closure(class_Matter_StatusResponseMessage_to_TLV_closure) }, + { be_const_key_weak(status, -1), be_const_var(0) }, + })), + be_str_weak(Matter_StatusResponseMessage) +); + +extern const bclass be_class_Matter_ReadRequestMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_ReadRequestMessage_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[16]) { /* constants */ + /* K0 */ be_nested_str_weak(attributes_requests), + /* K1 */ be_nested_str_weak(from_TLV_array), + /* K2 */ be_nested_str_weak(findsubval), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(matter), + /* K5 */ be_nested_str_weak(AttributePathIB), + /* K6 */ be_nested_str_weak(event_requests), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(EventPathIB), + /* K9 */ be_nested_str_weak(event_filters), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(EventFilterIB), + /* K12 */ be_nested_str_weak(fabric_filtered), + /* K13 */ be_const_int(3), + /* K14 */ be_nested_str_weak(data_version_filters), + /* K15 */ be_nested_str_weak(DataVersionFilterIB), + }), + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[42]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080101, // 0005 GETMET R2 R0 K1 + 0x8C100302, // 0006 GETMET R4 R1 K2 + 0x58180003, // 0007 LDCONST R6 K3 + 0x7C100400, // 0008 CALL R4 2 + 0xB8160800, // 0009 GETNGBL R5 K4 + 0x88140B05, // 000A GETMBR R5 R5 K5 + 0x7C080600, // 000B CALL R2 3 + 0x90020002, // 000C SETMBR R0 K0 R2 + 0x8C080101, // 000D GETMET R2 R0 K1 + 0x8C100302, // 000E GETMET R4 R1 K2 + 0x58180007, // 000F LDCONST R6 K7 + 0x7C100400, // 0010 CALL R4 2 + 0xB8160800, // 0011 GETNGBL R5 K4 + 0x88140B08, // 0012 GETMBR R5 R5 K8 + 0x7C080600, // 0013 CALL R2 3 + 0x90020C02, // 0014 SETMBR R0 K6 R2 + 0x8C080101, // 0015 GETMET R2 R0 K1 + 0x8C100302, // 0016 GETMET R4 R1 K2 + 0x5818000A, // 0017 LDCONST R6 K10 + 0x7C100400, // 0018 CALL R4 2 + 0xB8160800, // 0019 GETNGBL R5 K4 + 0x88140B0B, // 001A GETMBR R5 R5 K11 + 0x7C080600, // 001B CALL R2 3 + 0x90021202, // 001C SETMBR R0 K9 R2 + 0x8C080302, // 001D GETMET R2 R1 K2 + 0x5810000D, // 001E LDCONST R4 K13 + 0x7C080400, // 001F CALL R2 2 + 0x90021802, // 0020 SETMBR R0 K12 R2 + 0x8C080101, // 0021 GETMET R2 R0 K1 + 0x8C100302, // 0022 GETMET R4 R1 K2 + 0x541A0003, // 0023 LDINT R6 4 + 0x7C100400, // 0024 CALL R4 2 + 0xB8160800, // 0025 GETNGBL R5 K4 + 0x88140B0F, // 0026 GETMBR R5 R5 K15 + 0x7C080600, // 0027 CALL R2 3 + 0x90021C02, // 0028 SETMBR R0 K14 R2 + 0x80040000, // 0029 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_ReadRequestMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_ReadRequestMessage, + 5, + &be_class_Matter_IM_Message_base, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_ReadRequestMessage_from_TLV_closure) }, + { be_const_key_weak(event_filters, -1), be_const_var(2) }, + { be_const_key_weak(fabric_filtered, -1), be_const_var(3) }, + { be_const_key_weak(data_version_filters, -1), be_const_var(4) }, + { be_const_key_weak(event_requests, 3), be_const_var(1) }, + { be_const_key_weak(attributes_requests, -1), be_const_var(0) }, + })), + be_str_weak(Matter_ReadRequestMessage) +); + +extern const bclass be_class_Matter_ReadRequestMessage_solo; + +/******************************************************************** +** Solidified function: from_raw +********************************************************************/ +be_local_closure(class_Matter_ReadRequestMessage_solo_from_raw, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(reset), + /* K1 */ be_nested_str_weak(get), + /* K2 */ be_const_int(355860503), + /* K3 */ be_const_int(1), + /* K4 */ be_const_int(2), + /* K5 */ be_const_int(3), + /* K6 */ be_nested_str_weak(endpoint), + /* K7 */ be_nested_str_weak(cluster), + /* K8 */ be_nested_str_weak(attribute), + /* K9 */ be_nested_str_weak(fabric_filtered), + }), + be_str_weak(from_raw), + &be_const_str_solidified, + ( &(const binstruction[131]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x7C0C0200, // 0001 CALL R3 1 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C0C0200, // 0004 CALL R3 1 + 0x4C100000, // 0005 LDNIL R4 + 0x8C140301, // 0006 GETMET R5 R1 K1 + 0x5C1C0400, // 0007 MOVE R7 R2 + 0x5421FFFB, // 0008 LDINT R8 -4 + 0x7C140600, // 0009 CALL R5 3 + 0x20140B02, // 000A NE R5 R5 K2 + 0x78160001, // 000B JMPF R5 #000E + 0x4C140000, // 000C LDNIL R5 + 0x80040A00, // 000D RET 1 R5 + 0x54160003, // 000E LDINT R5 4 + 0x00080405, // 000F ADD R2 R2 R5 + 0x14140403, // 0010 LT R5 R2 R3 + 0x7816002D, // 0011 JMPF R5 #0040 + 0x8C140301, // 0012 GETMET R5 R1 K1 + 0x001C0503, // 0013 ADD R7 R2 K3 + 0x58200003, // 0014 LDCONST R8 K3 + 0x7C140600, // 0015 CALL R5 3 + 0x8C180301, // 0016 GETMET R6 R1 K1 + 0x5C200400, // 0017 MOVE R8 R2 + 0x58240003, // 0018 LDCONST R9 K3 + 0x7C180600, // 0019 CALL R6 3 + 0x541E0023, // 001A LDINT R7 36 + 0x1C1C0C07, // 001B EQ R7 R6 R7 + 0x781E0006, // 001C JMPF R7 #0024 + 0x8C1C0301, // 001D GETMET R7 R1 K1 + 0x00240504, // 001E ADD R9 R2 K4 + 0x58280003, // 001F LDCONST R10 K3 + 0x7C1C0600, // 0020 CALL R7 3 + 0x5C100E00, // 0021 MOVE R4 R7 + 0x00080505, // 0022 ADD R2 R2 K5 + 0x7002000B, // 0023 JMP #0030 + 0x541E0024, // 0024 LDINT R7 37 + 0x1C1C0C07, // 0025 EQ R7 R6 R7 + 0x781E0007, // 0026 JMPF R7 #002F + 0x8C1C0301, // 0027 GETMET R7 R1 K1 + 0x00240504, // 0028 ADD R9 R2 K4 + 0x58280004, // 0029 LDCONST R10 K4 + 0x7C1C0600, // 002A CALL R7 3 + 0x5C100E00, // 002B MOVE R4 R7 + 0x541E0003, // 002C LDINT R7 4 + 0x00080407, // 002D ADD R2 R2 R7 + 0x70020000, // 002E JMP #0030 + 0x7002000F, // 002F JMP #0040 + 0x1C1C0B04, // 0030 EQ R7 R5 K4 + 0x781E0001, // 0031 JMPF R7 #0034 + 0x90020C04, // 0032 SETMBR R0 K6 R4 + 0x7002000A, // 0033 JMP #003F + 0x1C1C0B05, // 0034 EQ R7 R5 K5 + 0x781E0001, // 0035 JMPF R7 #0038 + 0x90020E04, // 0036 SETMBR R0 K7 R4 + 0x70020006, // 0037 JMP #003F + 0x541E0003, // 0038 LDINT R7 4 + 0x1C1C0A07, // 0039 EQ R7 R5 R7 + 0x781E0001, // 003A JMPF R7 #003D + 0x90021004, // 003B SETMBR R0 K8 R4 + 0x70020001, // 003C JMP #003F + 0x4C1C0000, // 003D LDNIL R7 + 0x80040E00, // 003E RET 1 R7 + 0x7001FFCF, // 003F JMP #0010 + 0x8C140301, // 0040 GETMET R5 R1 K1 + 0x5C1C0400, // 0041 MOVE R7 R2 + 0x5421FFFD, // 0042 LDINT R8 -2 + 0x7C140600, // 0043 CALL R5 3 + 0x5C100A00, // 0044 MOVE R4 R5 + 0x54161817, // 0045 LDINT R5 6168 + 0x20140805, // 0046 NE R5 R4 R5 + 0x78160001, // 0047 JMPF R5 #004A + 0x4C140000, // 0048 LDNIL R5 + 0x80040A00, // 0049 RET 1 R5 + 0x00080504, // 004A ADD R2 R2 K4 + 0x8C140301, // 004B GETMET R5 R1 K1 + 0x5C1C0400, // 004C MOVE R7 R2 + 0x5421FFFD, // 004D LDINT R8 -2 + 0x7C140600, // 004E CALL R5 3 + 0x5C100A00, // 004F MOVE R4 R5 + 0x54162802, // 0050 LDINT R5 10243 + 0x1C140805, // 0051 EQ R5 R4 R5 + 0x78160003, // 0052 JMPF R5 #0057 + 0x50140000, // 0053 LDBOOL R5 0 0 + 0x90021205, // 0054 SETMBR R0 K9 R5 + 0x00080504, // 0055 ADD R2 R2 K4 + 0x70020005, // 0056 JMP #005D + 0x54162902, // 0057 LDINT R5 10499 + 0x1C140805, // 0058 EQ R5 R4 R5 + 0x78160002, // 0059 JMPF R5 #005D + 0x50140200, // 005A LDBOOL R5 1 0 + 0x90021205, // 005B SETMBR R0 K9 R5 + 0x00080504, // 005C ADD R2 R2 K4 + 0x8C140301, // 005D GETMET R5 R1 K1 + 0x5C1C0400, // 005E MOVE R7 R2 + 0x5421FFFD, // 005F LDINT R8 -2 + 0x7C140600, // 0060 CALL R5 3 + 0x5C100A00, // 0061 MOVE R4 R5 + 0x541624FE, // 0062 LDINT R5 9471 + 0x1C140805, // 0063 EQ R5 R4 R5 + 0x78160000, // 0064 JMPF R5 #0066 + 0x00080505, // 0065 ADD R2 R2 K5 + 0x8C140301, // 0066 GETMET R5 R1 K1 + 0x5C1C0400, // 0067 MOVE R7 R2 + 0x58200003, // 0068 LDCONST R8 K3 + 0x7C140600, // 0069 CALL R5 3 + 0x541A0017, // 006A LDINT R6 24 + 0x20140A06, // 006B NE R5 R5 R6 + 0x78160001, // 006C JMPF R5 #006F + 0x4C140000, // 006D LDNIL R5 + 0x80040A00, // 006E RET 1 R5 + 0x00080503, // 006F ADD R2 R2 K3 + 0x88140106, // 0070 GETMBR R5 R0 K6 + 0x4C180000, // 0071 LDNIL R6 + 0x1C140A06, // 0072 EQ R5 R5 R6 + 0x7416000B, // 0073 JMPT R5 #0080 + 0x88140107, // 0074 GETMBR R5 R0 K7 + 0x4C180000, // 0075 LDNIL R6 + 0x1C140A06, // 0076 EQ R5 R5 R6 + 0x74160007, // 0077 JMPT R5 #0080 + 0x88140108, // 0078 GETMBR R5 R0 K8 + 0x4C180000, // 0079 LDNIL R6 + 0x1C140A06, // 007A EQ R5 R5 R6 + 0x74160003, // 007B JMPT R5 #0080 + 0x88140109, // 007C GETMBR R5 R0 K9 + 0x4C180000, // 007D LDNIL R6 + 0x1C140A06, // 007E EQ R5 R5 R6 + 0x78160001, // 007F JMPF R5 #0082 + 0x4C140000, // 0080 LDNIL R5 + 0x80040A00, // 0081 RET 1 R5 + 0x80040000, // 0082 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_ReadRequestMessage_solo +********************************************************************/ +extern const bclass be_class_Matter_Path; +be_local_class(Matter_ReadRequestMessage_solo, + 0, + &be_class_Matter_Path, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(from_raw, -1), be_const_closure(class_Matter_ReadRequestMessage_solo_from_raw_closure) }, + })), + be_str_weak(Matter_ReadRequestMessage_solo) +); + +extern const bclass be_class_Matter_ReportDataMessage; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_ReportDataMessage_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[18]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(U4), + /* K6 */ be_nested_str_weak(subscription_id), + /* K7 */ be_nested_str_weak(to_TLV_array), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(attribute_reports), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(event_reports), + /* K12 */ be_const_int(3), + /* K13 */ be_nested_str_weak(BOOL), + /* K14 */ be_nested_str_weak(more_chunked_messages), + /* K15 */ be_nested_str_weak(suppress_response), + /* K16 */ be_nested_str_weak(U1), + /* K17 */ be_nested_str_weak(InteractionModelRevision), + }), + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180305, // 0006 GETMBR R6 R1 K5 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0107, // 0009 GETMET R3 R0 K7 + 0x5C140400, // 000A MOVE R5 R2 + 0x58180008, // 000B LDCONST R6 K8 + 0x881C0109, // 000C GETMBR R7 R0 K9 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C0107, // 000E GETMET R3 R0 K7 + 0x5C140400, // 000F MOVE R5 R2 + 0x5818000A, // 0010 LDCONST R6 K10 + 0x881C010B, // 0011 GETMBR R7 R0 K11 + 0x7C0C0800, // 0012 CALL R3 4 + 0x8C0C0503, // 0013 GETMET R3 R2 K3 + 0x5814000C, // 0014 LDCONST R5 K12 + 0x8818030D, // 0015 GETMBR R6 R1 K13 + 0x881C010E, // 0016 GETMBR R7 R0 K14 + 0x7C0C0800, // 0017 CALL R3 4 + 0x8C0C0503, // 0018 GETMET R3 R2 K3 + 0x54160003, // 0019 LDINT R5 4 + 0x8818030D, // 001A GETMBR R6 R1 K13 + 0x881C010F, // 001B GETMBR R7 R0 K15 + 0x7C0C0800, // 001C CALL R3 4 + 0x8C0C0503, // 001D GETMET R3 R2 K3 + 0x541600FE, // 001E LDINT R5 255 + 0x88180310, // 001F GETMBR R6 R1 K16 + 0x881C0111, // 0020 GETMBR R7 R0 K17 + 0x7C0C0800, // 0021 CALL R3 4 + 0x80040400, // 0022 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_ReportDataMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_ReportDataMessage, + 5, + &be_class_Matter_IM_Message_base, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(suppress_response, -1), be_const_var(4) }, + { be_const_key_weak(event_reports, 3), be_const_var(2) }, + { be_const_key_weak(subscription_id, -1), be_const_var(0) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_ReportDataMessage_to_TLV_closure) }, + { be_const_key_weak(more_chunked_messages, -1), be_const_var(3) }, + { be_const_key_weak(attribute_reports, -1), be_const_var(1) }, + })), + be_str_weak(Matter_ReportDataMessage) +); + +extern const bclass be_class_Matter_SubscribeRequestMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_SubscribeRequestMessage_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[19]) { /* constants */ + /* K0 */ be_nested_str_weak(keep_subscriptions), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(min_interval_floor), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(max_interval_ceiling), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(attributes_requests), + /* K8 */ be_nested_str_weak(from_TLV_array), + /* K9 */ be_const_int(3), + /* K10 */ be_nested_str_weak(matter), + /* K11 */ be_nested_str_weak(AttributePathIB), + /* K12 */ be_nested_str_weak(event_requests), + /* K13 */ be_nested_str_weak(EventPathIB), + /* K14 */ be_nested_str_weak(event_filters), + /* K15 */ be_nested_str_weak(EventFilterIB), + /* K16 */ be_nested_str_weak(fabric_filtered), + /* K17 */ be_nested_str_weak(data_version_filters), + /* K18 */ be_nested_str_weak(DataVersionFilterIB), + }), + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x50140000, // 0007 LDBOOL R5 0 0 + 0x7C080600, // 0008 CALL R2 3 + 0x90020002, // 0009 SETMBR R0 K0 R2 + 0x8C080301, // 000A GETMET R2 R1 K1 + 0x58100004, // 000B LDCONST R4 K4 + 0x58140002, // 000C LDCONST R5 K2 + 0x7C080600, // 000D CALL R2 3 + 0x90020602, // 000E SETMBR R0 K3 R2 + 0x8C080301, // 000F GETMET R2 R1 K1 + 0x58100006, // 0010 LDCONST R4 K6 + 0x5416003B, // 0011 LDINT R5 60 + 0x7C080600, // 0012 CALL R2 3 + 0x90020A02, // 0013 SETMBR R0 K5 R2 + 0x8C080108, // 0014 GETMET R2 R0 K8 + 0x8C100301, // 0015 GETMET R4 R1 K1 + 0x58180009, // 0016 LDCONST R6 K9 + 0x7C100400, // 0017 CALL R4 2 + 0xB8161400, // 0018 GETNGBL R5 K10 + 0x88140B0B, // 0019 GETMBR R5 R5 K11 + 0x7C080600, // 001A CALL R2 3 + 0x90020E02, // 001B SETMBR R0 K7 R2 + 0x8C080108, // 001C GETMET R2 R0 K8 + 0x8C100301, // 001D GETMET R4 R1 K1 + 0x541A0003, // 001E LDINT R6 4 + 0x7C100400, // 001F CALL R4 2 + 0xB8161400, // 0020 GETNGBL R5 K10 + 0x88140B0D, // 0021 GETMBR R5 R5 K13 + 0x7C080600, // 0022 CALL R2 3 + 0x90021802, // 0023 SETMBR R0 K12 R2 + 0x8C080108, // 0024 GETMET R2 R0 K8 + 0x8C100301, // 0025 GETMET R4 R1 K1 + 0x541A0004, // 0026 LDINT R6 5 + 0x7C100400, // 0027 CALL R4 2 + 0xB8161400, // 0028 GETNGBL R5 K10 + 0x88140B0F, // 0029 GETMBR R5 R5 K15 + 0x7C080600, // 002A CALL R2 3 + 0x90021C02, // 002B SETMBR R0 K14 R2 + 0x8C080301, // 002C GETMET R2 R1 K1 + 0x54120006, // 002D LDINT R4 7 + 0x50140000, // 002E LDBOOL R5 0 0 + 0x7C080600, // 002F CALL R2 3 + 0x90022002, // 0030 SETMBR R0 K16 R2 + 0x8C080108, // 0031 GETMET R2 R0 K8 + 0x8C100301, // 0032 GETMET R4 R1 K1 + 0x541A0007, // 0033 LDINT R6 8 + 0x7C100400, // 0034 CALL R4 2 + 0xB8161400, // 0035 GETNGBL R5 K10 + 0x88140B12, // 0036 GETMBR R5 R5 K18 + 0x7C080600, // 0037 CALL R2 3 + 0x90022202, // 0038 SETMBR R0 K17 R2 + 0x80040000, // 0039 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_SubscribeRequestMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_SubscribeRequestMessage, + 8, + &be_class_Matter_IM_Message_base, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(attributes_requests, -1), be_const_var(3) }, + { be_const_key_weak(event_requests, -1), be_const_var(4) }, + { be_const_key_weak(min_interval_floor, -1), be_const_var(1) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_SubscribeRequestMessage_from_TLV_closure) }, + { be_const_key_weak(event_filters, -1), be_const_var(5) }, + { be_const_key_weak(fabric_filtered, 0), be_const_var(6) }, + { be_const_key_weak(keep_subscriptions, 3), be_const_var(0) }, + { be_const_key_weak(data_version_filters, -1), be_const_var(7) }, + { be_const_key_weak(max_interval_ceiling, -1), be_const_var(2) }, + })), + be_str_weak(Matter_SubscribeRequestMessage) +); + +extern const bclass be_class_Matter_SubscribeResponseMessage; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_SubscribeResponseMessage_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(U4), + /* K6 */ be_nested_str_weak(subscription_id), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(U2), + /* K9 */ be_nested_str_weak(max_interval), + /* K10 */ be_nested_str_weak(U1), + /* K11 */ be_nested_str_weak(InteractionModelRevision), + }), + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180305, // 0006 GETMBR R6 R1 K5 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x58140007, // 000A LDCONST R5 K7 + 0x88180308, // 000B GETMBR R6 R1 K8 + 0x881C0109, // 000C GETMBR R7 R0 K9 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C0503, // 000E GETMET R3 R2 K3 + 0x541600FE, // 000F LDINT R5 255 + 0x8818030A, // 0010 GETMBR R6 R1 K10 + 0x881C010B, // 0011 GETMBR R7 R0 K11 + 0x7C0C0800, // 0012 CALL R3 4 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_SubscribeResponseMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_SubscribeResponseMessage, + 2, + &be_class_Matter_IM_Message_base, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(max_interval, -1), be_const_var(1) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_SubscribeResponseMessage_to_TLV_closure) }, + { be_const_key_weak(subscription_id, -1), be_const_var(0) }, + })), + be_str_weak(Matter_SubscribeResponseMessage) +); + +extern const bclass be_class_Matter_WriteRequestMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_WriteRequestMessage_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(suppress_response), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(timed_request), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(write_requests), + /* K6 */ be_nested_str_weak(from_TLV_array), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(matter), + /* K9 */ be_nested_str_weak(AttributeDataIB), + /* K10 */ be_nested_str_weak(more_chunked_messages), + /* K11 */ be_const_int(3), + }), + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x8C080106, // 000D GETMET R2 R0 K6 + 0x8C100301, // 000E GETMET R4 R1 K1 + 0x58180007, // 000F LDCONST R6 K7 + 0x7C100400, // 0010 CALL R4 2 + 0xB8161000, // 0011 GETNGBL R5 K8 + 0x88140B09, // 0012 GETMBR R5 R5 K9 + 0x7C080600, // 0013 CALL R2 3 + 0x90020A02, // 0014 SETMBR R0 K5 R2 + 0x8C080301, // 0015 GETMET R2 R1 K1 + 0x5810000B, // 0016 LDCONST R4 K11 + 0x7C080400, // 0017 CALL R2 2 + 0x90021402, // 0018 SETMBR R0 K10 R2 + 0x80040000, // 0019 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_WriteRequestMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_WriteRequestMessage, + 4, + &be_class_Matter_IM_Message_base, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(write_requests, -1), be_const_var(2) }, + { be_const_key_weak(suppress_response, 2), be_const_var(0) }, + { be_const_key_weak(timed_request, -1), be_const_var(1) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_WriteRequestMessage_from_TLV_closure) }, + { be_const_key_weak(more_chunked_messages, -1), be_const_var(3) }, + })), + be_str_weak(Matter_WriteRequestMessage) +); + +extern const bclass be_class_Matter_WriteResponseMessage; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_WriteResponseMessage_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(to_TLV_array), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(write_responses), + /* K6 */ be_nested_str_weak(add_TLV), + /* K7 */ be_nested_str_weak(U1), + /* K8 */ be_nested_str_weak(InteractionModelRevision), + }), + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0103, // 0004 GETMET R3 R0 K3 + 0x5C140400, // 0005 MOVE R5 R2 + 0x58180004, // 0006 LDCONST R6 K4 + 0x881C0105, // 0007 GETMBR R7 R0 K5 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0506, // 0009 GETMET R3 R2 K6 + 0x541600FE, // 000A LDINT R5 255 + 0x88180307, // 000B GETMBR R6 R1 K7 + 0x881C0108, // 000C GETMBR R7 R0 K8 + 0x7C0C0800, // 000D CALL R3 4 + 0x80040400, // 000E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_WriteResponseMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_WriteResponseMessage, + 1, + &be_class_Matter_IM_Message_base, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_WriteResponseMessage_to_TLV_closure) }, + { be_const_key_weak(write_responses, 0), be_const_var(0) }, + })), + be_str_weak(Matter_WriteResponseMessage) +); + +extern const bclass be_class_Matter_TimedRequestMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_TimedRequestMessage_from_TLV, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(timeout), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + }), + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x80040000, // 0009 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TimedRequestMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_TimedRequestMessage, + 1, + &be_class_Matter_IM_Message_base, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(timeout, 1), be_const_var(0) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_TimedRequestMessage_from_TLV_closure) }, + })), + be_str_weak(Matter_TimedRequestMessage) +); + +extern const bclass be_class_Matter_InvokeRequestMessage; + +/******************************************************************** +** Solidified function: from_TLV +********************************************************************/ +be_local_closure(class_Matter_InvokeRequestMessage_from_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(suppress_response), + /* K1 */ be_nested_str_weak(findsubval), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(timed_request), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(invoke_requests), + /* K6 */ be_nested_str_weak(from_TLV_array), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(matter), + /* K9 */ be_nested_str_weak(CommandDataIB), + }), + be_str_weak(from_TLV), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x8C080301, // 0005 GETMET R2 R1 K1 + 0x58100002, // 0006 LDCONST R4 K2 + 0x7C080400, // 0007 CALL R2 2 + 0x90020002, // 0008 SETMBR R0 K0 R2 + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x58100004, // 000A LDCONST R4 K4 + 0x7C080400, // 000B CALL R2 2 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x8C080106, // 000D GETMET R2 R0 K6 + 0x8C100301, // 000E GETMET R4 R1 K1 + 0x58180007, // 000F LDCONST R6 K7 + 0x7C100400, // 0010 CALL R4 2 + 0xB8161000, // 0011 GETNGBL R5 K8 + 0x88140B09, // 0012 GETMBR R5 R5 K9 + 0x7C080600, // 0013 CALL R2 3 + 0x90020A02, // 0014 SETMBR R0 K5 R2 + 0x80040000, // 0015 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_InvokeRequestMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_InvokeRequestMessage, + 3, + &be_class_Matter_IM_Message_base, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(suppress_response, 1), be_const_var(0) }, + { be_const_key_weak(from_TLV, 3), be_const_closure(class_Matter_InvokeRequestMessage_from_TLV_closure) }, + { be_const_key_weak(timed_request, -1), be_const_var(1) }, + { be_const_key_weak(invoke_requests, -1), be_const_var(2) }, + })), + be_str_weak(Matter_InvokeRequestMessage) +); +// compact class 'Matter_InvokeRequestMessage_solo' ktab size: 17, total: 20 (saved 24 bytes) +static const bvalue be_ktab_class_Matter_InvokeRequestMessage_solo[17] = { + /* K0 */ be_nested_str_weak(reset), + /* K1 */ be_nested_str_weak(SuppressResponse), + /* K2 */ be_nested_str_weak(TimedRequest), + /* K3 */ be_nested_str_weak(command_fields), + /* K4 */ be_nested_str_weak(get), + /* K5 */ be_const_int(1), + /* K6 */ be_const_int(2), + /* K7 */ be_const_int(3), + /* K8 */ be_const_int(0), + /* K9 */ be_nested_str_weak(endpoint), + /* K10 */ be_nested_str_weak(cluster), + /* K11 */ be_nested_str_weak(command), + /* K12 */ be_nested_str_weak(matter), + /* K13 */ be_nested_str_weak(TLV), + /* K14 */ be_nested_str_weak(parse), + /* K15 */ be_nested_str_weak(next_idx), + /* K16 */ be_const_int(620691736), +}; + + +extern const bclass be_class_Matter_InvokeRequestMessage_solo; + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_InvokeRequestMessage_solo_reset, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_InvokeRequestMessage_solo, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x60080003, // 0001 GETGBL R2 G3 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x8C080500, // 0004 GETMET R2 R2 K0 + 0x7C080200, // 0005 CALL R2 1 + 0x90020201, // 0006 SETMBR R0 K1 R1 + 0x90020401, // 0007 SETMBR R0 K2 R1 + 0x90020601, // 0008 SETMBR R0 K3 R1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: from_raw +********************************************************************/ +be_local_closure(class_Matter_InvokeRequestMessage_solo_from_raw, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_InvokeRequestMessage_solo, /* shared constants */ + be_str_weak(from_raw), + &be_const_str_solidified, + ( &(const binstruction[170]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x7C0C0200, // 0001 CALL R3 1 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C0C0200, // 0004 CALL R3 1 + 0x4C100000, // 0005 LDNIL R4 + 0x8C140304, // 0006 GETMET R5 R1 K4 + 0x5C1C0400, // 0007 MOVE R7 R2 + 0x58200005, // 0008 LDCONST R8 K5 + 0x7C140600, // 0009 CALL R5 3 + 0x541A0014, // 000A LDINT R6 21 + 0x20140A06, // 000B NE R5 R5 R6 + 0x78160001, // 000C JMPF R5 #000F + 0x4C140000, // 000D LDNIL R5 + 0x80040A00, // 000E RET 1 R5 + 0x00080505, // 000F ADD R2 R2 K5 + 0x8C140304, // 0010 GETMET R5 R1 K4 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x5421FFFD, // 0012 LDINT R8 -2 + 0x7C140600, // 0013 CALL R5 3 + 0x5C100A00, // 0014 MOVE R4 R5 + 0x541627FF, // 0015 LDINT R5 10240 + 0x1C140805, // 0016 EQ R5 R4 R5 + 0x74160002, // 0017 JMPT R5 #001B + 0x541628FF, // 0018 LDINT R5 10496 + 0x1C140805, // 0019 EQ R5 R4 R5 + 0x78160003, // 001A JMPF R5 #001F + 0x541628FF, // 001B LDINT R5 10496 + 0x1C140805, // 001C EQ R5 R4 R5 + 0x90020205, // 001D SETMBR R0 K1 R5 + 0x00080506, // 001E ADD R2 R2 K6 + 0x8C140304, // 001F GETMET R5 R1 K4 + 0x5C1C0400, // 0020 MOVE R7 R2 + 0x5421FFFD, // 0021 LDINT R8 -2 + 0x7C140600, // 0022 CALL R5 3 + 0x5C100A00, // 0023 MOVE R4 R5 + 0x54162800, // 0024 LDINT R5 10241 + 0x1C140805, // 0025 EQ R5 R4 R5 + 0x74160002, // 0026 JMPT R5 #002A + 0x54162900, // 0027 LDINT R5 10497 + 0x1C140805, // 0028 EQ R5 R4 R5 + 0x78160003, // 0029 JMPF R5 #002E + 0x54162900, // 002A LDINT R5 10497 + 0x1C140805, // 002B EQ R5 R4 R5 + 0x90020205, // 002C SETMBR R0 K1 R5 + 0x00080506, // 002D ADD R2 R2 K6 + 0x8C140304, // 002E GETMET R5 R1 K4 + 0x5C1C0400, // 002F MOVE R7 R2 + 0x5421FFFD, // 0030 LDINT R8 -2 + 0x7C140600, // 0031 CALL R5 3 + 0x541A3601, // 0032 LDINT R6 13826 + 0x20140A06, // 0033 NE R5 R5 R6 + 0x78160001, // 0034 JMPF R5 #0037 + 0x4C140000, // 0035 LDNIL R5 + 0x80040A00, // 0036 RET 1 R5 + 0x00080506, // 0037 ADD R2 R2 K6 + 0x8C140304, // 0038 GETMET R5 R1 K4 + 0x5C1C0400, // 0039 MOVE R7 R2 + 0x58200005, // 003A LDCONST R8 K5 + 0x7C140600, // 003B CALL R5 3 + 0x541A0014, // 003C LDINT R6 21 + 0x20140A06, // 003D NE R5 R5 R6 + 0x78160001, // 003E JMPF R5 #0041 + 0x4C140000, // 003F LDNIL R5 + 0x80040A00, // 0040 RET 1 R5 + 0x00080505, // 0041 ADD R2 R2 K5 + 0x8C140304, // 0042 GETMET R5 R1 K4 + 0x5C1C0400, // 0043 MOVE R7 R2 + 0x5421FFFD, // 0044 LDINT R8 -2 + 0x7C140600, // 0045 CALL R5 3 + 0x541A36FF, // 0046 LDINT R6 14080 + 0x20140A06, // 0047 NE R5 R5 R6 + 0x78160001, // 0048 JMPF R5 #004B + 0x4C140000, // 0049 LDNIL R5 + 0x80040A00, // 004A RET 1 R5 + 0x00080506, // 004B ADD R2 R2 K6 + 0x14140403, // 004C LT R5 R2 R3 + 0x7816002C, // 004D JMPF R5 #007B + 0x8C140304, // 004E GETMET R5 R1 K4 + 0x001C0505, // 004F ADD R7 R2 K5 + 0x58200005, // 0050 LDCONST R8 K5 + 0x7C140600, // 0051 CALL R5 3 + 0x8C180304, // 0052 GETMET R6 R1 K4 + 0x5C200400, // 0053 MOVE R8 R2 + 0x58240005, // 0054 LDCONST R9 K5 + 0x7C180600, // 0055 CALL R6 3 + 0x541E0023, // 0056 LDINT R7 36 + 0x1C1C0C07, // 0057 EQ R7 R6 R7 + 0x781E0006, // 0058 JMPF R7 #0060 + 0x8C1C0304, // 0059 GETMET R7 R1 K4 + 0x00240506, // 005A ADD R9 R2 K6 + 0x58280005, // 005B LDCONST R10 K5 + 0x7C1C0600, // 005C CALL R7 3 + 0x5C100E00, // 005D MOVE R4 R7 + 0x00080507, // 005E ADD R2 R2 K7 + 0x7002000B, // 005F JMP #006C + 0x541E0024, // 0060 LDINT R7 37 + 0x1C1C0C07, // 0061 EQ R7 R6 R7 + 0x781E0007, // 0062 JMPF R7 #006B + 0x8C1C0304, // 0063 GETMET R7 R1 K4 + 0x00240506, // 0064 ADD R9 R2 K6 + 0x58280006, // 0065 LDCONST R10 K6 + 0x7C1C0600, // 0066 CALL R7 3 + 0x5C100E00, // 0067 MOVE R4 R7 + 0x541E0003, // 0068 LDINT R7 4 + 0x00080407, // 0069 ADD R2 R2 R7 + 0x70020000, // 006A JMP #006C + 0x7002000E, // 006B JMP #007B + 0x1C1C0B08, // 006C EQ R7 R5 K8 + 0x781E0001, // 006D JMPF R7 #0070 + 0x90021204, // 006E SETMBR R0 K9 R4 + 0x70020009, // 006F JMP #007A + 0x1C1C0B05, // 0070 EQ R7 R5 K5 + 0x781E0001, // 0071 JMPF R7 #0074 + 0x90021404, // 0072 SETMBR R0 K10 R4 + 0x70020005, // 0073 JMP #007A + 0x1C1C0B06, // 0074 EQ R7 R5 K6 + 0x781E0001, // 0075 JMPF R7 #0078 + 0x90021604, // 0076 SETMBR R0 K11 R4 + 0x70020001, // 0077 JMP #007A + 0x4C1C0000, // 0078 LDNIL R7 + 0x80040E00, // 0079 RET 1 R7 + 0x7001FFD0, // 007A JMP #004C + 0x8C140304, // 007B GETMET R5 R1 K4 + 0x5C1C0400, // 007C MOVE R7 R2 + 0x58200005, // 007D LDCONST R8 K5 + 0x7C140600, // 007E CALL R5 3 + 0x541A0017, // 007F LDINT R6 24 + 0x20140A06, // 0080 NE R5 R5 R6 + 0x78160001, // 0081 JMPF R5 #0084 + 0x4C140000, // 0082 LDNIL R5 + 0x80040A00, // 0083 RET 1 R5 + 0x00080505, // 0084 ADD R2 R2 K5 + 0x8C140304, // 0085 GETMET R5 R1 K4 + 0x5C1C0400, // 0086 MOVE R7 R2 + 0x5421FFFD, // 0087 LDINT R8 -2 + 0x7C140600, // 0088 CALL R5 3 + 0x541A3500, // 0089 LDINT R6 13569 + 0x20140A06, // 008A NE R5 R5 R6 + 0x78160001, // 008B JMPF R5 #008E + 0x4C140000, // 008C LDNIL R5 + 0x80040A00, // 008D RET 1 R5 + 0xB8161800, // 008E GETNGBL R5 K12 + 0x88140B0D, // 008F GETMBR R5 R5 K13 + 0x8C140B0E, // 0090 GETMET R5 R5 K14 + 0x5C1C0200, // 0091 MOVE R7 R1 + 0x5C200400, // 0092 MOVE R8 R2 + 0x7C140600, // 0093 CALL R5 3 + 0x90020605, // 0094 SETMBR R0 K3 R5 + 0x88140103, // 0095 GETMBR R5 R0 K3 + 0x88080B0F, // 0096 GETMBR R2 R5 K15 + 0x8C180304, // 0097 GETMET R6 R1 K4 + 0x5C200400, // 0098 MOVE R8 R2 + 0x5425FFFD, // 0099 LDINT R9 -2 + 0x7C180600, // 009A CALL R6 3 + 0x541E1817, // 009B LDINT R7 6168 + 0x20180C07, // 009C NE R6 R6 R7 + 0x781A0001, // 009D JMPF R6 #00A0 + 0x4C180000, // 009E LDNIL R6 + 0x80040C00, // 009F RET 1 R6 + 0x00080506, // 00A0 ADD R2 R2 K6 + 0x8C140304, // 00A1 GETMET R5 R1 K4 + 0x5C1C0400, // 00A2 MOVE R7 R2 + 0x5421FFFB, // 00A3 LDINT R8 -4 + 0x7C140600, // 00A4 CALL R5 3 + 0x20140B10, // 00A5 NE R5 R5 K16 + 0x78160001, // 00A6 JMPF R5 #00A9 + 0x4C140000, // 00A7 LDNIL R5 + 0x80040A00, // 00A8 RET 1 R5 + 0x80040000, // 00A9 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_InvokeRequestMessage_solo +********************************************************************/ +extern const bclass be_class_Matter_Path; +be_local_class(Matter_InvokeRequestMessage_solo, + 3, + &be_class_Matter_Path, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(SuppressResponse, 4), be_const_var(0) }, + { be_const_key_weak(command_fields, 3), be_const_var(2) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_InvokeRequestMessage_solo_reset_closure) }, + { be_const_key_weak(from_raw, -1), be_const_closure(class_Matter_InvokeRequestMessage_solo_from_raw_closure) }, + { be_const_key_weak(TimedRequest, -1), be_const_var(1) }, + })), + be_str_weak(Matter_InvokeRequestMessage_solo) +); + +extern const bclass be_class_Matter_InvokeResponseMessage; + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_InvokeResponseMessage_to_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(Matter_TLV_struct), + /* K3 */ be_nested_str_weak(add_TLV), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(BOOL), + /* K6 */ be_nested_str_weak(suppress_response), + /* K7 */ be_nested_str_weak(to_TLV_array), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(invoke_responses), + /* K10 */ be_nested_str_weak(U1), + /* K11 */ be_nested_str_weak(InteractionModelRevision), + }), + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C080302, // 0002 GETMET R2 R1 K2 + 0x7C080200, // 0003 CALL R2 1 + 0x8C0C0503, // 0004 GETMET R3 R2 K3 + 0x58140004, // 0005 LDCONST R5 K4 + 0x88180305, // 0006 GETMBR R6 R1 K5 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x7C0C0800, // 0008 CALL R3 4 + 0x8C0C0107, // 0009 GETMET R3 R0 K7 + 0x5C140400, // 000A MOVE R5 R2 + 0x58180008, // 000B LDCONST R6 K8 + 0x881C0109, // 000C GETMBR R7 R0 K9 + 0x7C0C0800, // 000D CALL R3 4 + 0x8C0C0503, // 000E GETMET R3 R2 K3 + 0x541600FE, // 000F LDINT R5 255 + 0x8818030A, // 0010 GETMBR R6 R1 K10 + 0x881C010B, // 0011 GETMBR R7 R0 K11 + 0x7C0C0800, // 0012 CALL R3 4 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_InvokeResponseMessage +********************************************************************/ +extern const bclass be_class_Matter_IM_Message_base; +be_local_class(Matter_InvokeResponseMessage, + 2, + &be_class_Matter_IM_Message_base, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(suppress_response, -1), be_const_var(0) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_InvokeResponseMessage_to_TLV_closure) }, + { be_const_key_weak(invoke_responses, -1), be_const_var(1) }, + })), + be_str_weak(Matter_InvokeResponseMessage) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Message.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Message.h new file mode 100644 index 000000000..6a0337ed1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Message.h @@ -0,0 +1,1904 @@ +/* Solidification of Matter_IM_Message.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_IM_Message' ktab size: 28, total: 48 (saved 160 bytes) +static const bvalue be_ktab_class_Matter_IM_Message[28] = { + /* K0 */ be_nested_str_weak(resp), + /* K1 */ be_nested_str_weak(build_response), + /* K2 */ be_nested_str_weak(ready), + /* K3 */ be_nested_str_weak(expiration), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(millis), + /* K6 */ be_nested_str_weak(MSG_TIMEOUT), + /* K7 */ be_nested_str_weak(last_counter), + /* K8 */ be_const_int(0), + /* K9 */ be_nested_str_weak(finishing), + /* K10 */ be_nested_str_weak(finished), + /* K11 */ be_nested_str_weak(data), + /* K12 */ be_nested_str_weak(reset), + /* K13 */ be_nested_str_weak(to_TLV), + /* K14 */ be_nested_str_weak(tlv2raw), + /* K15 */ be_nested_str_weak(encode_frame), + /* K16 */ be_nested_str_weak(encrypt), + /* K17 */ be_nested_str_weak(loglevel), + /* K18 */ be_nested_str_weak(log), + /* K19 */ be_nested_str_weak(MTR_X3A_X20_X3Csnd_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20id_X3D_X25s_X20exch_X3D_X25s_X20rack_X3D_X25s), + /* K20 */ be_nested_str_weak(session), + /* K21 */ be_nested_str_weak(local_session_id), + /* K22 */ be_nested_str_weak(message_counter), + /* K23 */ be_nested_str_weak(exchange_id), + /* K24 */ be_nested_str_weak(ack_message_counter), + /* K25 */ be_nested_str_weak(send_response_frame), + /* K26 */ be_nested_str_weak(opcode), + /* K27 */ be_nested_str_weak(x_flag_r), +}; + + +extern const bclass be_class_Matter_IM_Message; + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_IM_Message_reset, /* name */ + be_nested_proto( + 8, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x20100204, // 0001 NE R4 R1 R4 + 0x78120004, // 0002 JMPF R4 #0008 + 0x8C100301, // 0003 GETMET R4 R1 K1 + 0x5C180400, // 0004 MOVE R6 R2 + 0x5C1C0600, // 0005 MOVE R7 R3 + 0x7C100600, // 0006 CALL R4 3 + 0x70020000, // 0007 JMP #0009 + 0x4C100000, // 0008 LDNIL R4 + 0x90020004, // 0009 SETMBR R0 K0 R4 + 0x50100200, // 000A LDBOOL R4 1 0 + 0x90020404, // 000B SETMBR R0 K2 R4 + 0xB8120800, // 000C GETNGBL R4 K4 + 0x8C100905, // 000D GETMET R4 R4 K5 + 0x7C100200, // 000E CALL R4 1 + 0x88140106, // 000F GETMBR R5 R0 K6 + 0x00100805, // 0010 ADD R4 R4 R5 + 0x90020604, // 0011 SETMBR R0 K3 R4 + 0x90020F08, // 0012 SETMBR R0 K7 K8 + 0x50100000, // 0013 LDBOOL R4 0 0 + 0x90021204, // 0014 SETMBR R0 K9 R4 + 0x50100000, // 0015 LDBOOL R4 0 0 + 0x90021404, // 0016 SETMBR R0 K10 R4 + 0x4C100000, // 0017 LDNIL R4 + 0x90021604, // 0018 SETMBR R0 K11 R4 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_Message_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C10010C, // 0000 GETMET R4 R0 K12 + 0x5C180200, // 0001 MOVE R6 R1 + 0x5C1C0400, // 0002 MOVE R7 R2 + 0x5C200600, // 0003 MOVE R8 R3 + 0x7C100800, // 0004 CALL R4 4 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_im +********************************************************************/ +be_local_closure(class_Matter_IM_Message_send_im, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(send_im), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x880C010B, // 0001 GETMBR R3 R0 K11 + 0x8C0C070D, // 0002 GETMET R3 R3 K13 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C070E, // 0004 GETMET R3 R3 K14 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C10050F, // 0006 GETMET R4 R2 K15 + 0x5C180600, // 0007 MOVE R6 R3 + 0x7C100400, // 0008 CALL R4 2 + 0x8C100510, // 0009 GETMET R4 R2 K16 + 0x7C100200, // 000A CALL R4 1 + 0xB8120800, // 000B GETNGBL R4 K4 + 0x8C100911, // 000C GETMET R4 R4 K17 + 0x541A0003, // 000D LDINT R6 4 + 0x7C100400, // 000E CALL R4 2 + 0x7812000A, // 000F JMPF R4 #001B + 0xB8122400, // 0010 GETNGBL R4 K18 + 0x60140018, // 0011 GETGBL R5 G24 + 0x58180013, // 0012 LDCONST R6 K19 + 0x881C0514, // 0013 GETMBR R7 R2 K20 + 0x881C0F15, // 0014 GETMBR R7 R7 K21 + 0x88200516, // 0015 GETMBR R8 R2 K22 + 0x88240517, // 0016 GETMBR R9 R2 K23 + 0x88280518, // 0017 GETMBR R10 R2 K24 + 0x7C140A00, // 0018 CALL R5 5 + 0x541A0003, // 0019 LDINT R6 4 + 0x7C100400, // 001A CALL R4 2 + 0x8C100319, // 001B GETMET R4 R1 K25 + 0x5C180400, // 001C MOVE R6 R2 + 0x7C100400, // 001D CALL R4 2 + 0x88100516, // 001E GETMBR R4 R2 K22 + 0x90020E04, // 001F SETMBR R0 K7 R4 + 0x50100200, // 0020 LDBOOL R4 1 0 + 0x90021204, // 0021 SETMBR R0 K9 R4 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_error_received +********************************************************************/ +be_local_closure(class_Matter_IM_Message_status_error_received, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(status_error_received), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_exchangeid +********************************************************************/ +be_local_closure(class_Matter_IM_Message_get_exchangeid, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(get_exchangeid), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x88040317, // 0001 GETMBR R1 R1 K23 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ack_received +********************************************************************/ +be_local_closure(class_Matter_IM_Message_ack_received, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(ack_received), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x780A0002, // 0001 JMPF R2 #0005 + 0x50080200, // 0002 LDBOOL R2 1 0 + 0x90021402, // 0003 SETMBR R0 K10 R2 + 0x70020005, // 0004 JMP #000B + 0xB80A0800, // 0005 GETNGBL R2 K4 + 0x8C080505, // 0006 GETMET R2 R2 K5 + 0x7C080200, // 0007 CALL R2 1 + 0x880C0106, // 0008 GETMBR R3 R0 K6 + 0x00080403, // 0009 ADD R2 R2 R3 + 0x90020602, // 000A SETMBR R0 K3 R2 + 0x50080000, // 000B LDBOOL R2 0 0 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reached_timeout +********************************************************************/ +be_local_closure(class_Matter_IM_Message_reached_timeout, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(reached_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_ok_received +********************************************************************/ +be_local_closure(class_Matter_IM_Message_status_ok_received, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Message, /* shared constants */ + be_str_weak(status_ok_received), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0xB80A0800, // 0000 GETNGBL R2 K4 + 0x8C080505, // 0001 GETMET R2 R2 K5 + 0x7C080200, // 0002 CALL R2 1 + 0x880C0106, // 0003 GETMBR R3 R0 K6 + 0x00080403, // 0004 ADD R2 R2 R3 + 0x90020602, // 0005 SETMBR R0 K3 R2 + 0x78060007, // 0006 JMPF R1 #000F + 0x8C080301, // 0007 GETMET R2 R1 K1 + 0x88100100, // 0008 GETMBR R4 R0 K0 + 0x8810091A, // 0009 GETMBR R4 R4 K26 + 0x88140100, // 000A GETMBR R5 R0 K0 + 0x88140B1B, // 000B GETMBR R5 R5 K27 + 0x88180100, // 000C GETMBR R6 R0 K0 + 0x7C080800, // 000D CALL R2 4 + 0x90020002, // 000E SETMBR R0 K0 R2 + 0x50080200, // 000F LDBOOL R2 1 0 + 0x90020402, // 0010 SETMBR R0 K2 R2 + 0x50080200, // 0011 LDBOOL R2 1 0 + 0x80040400, // 0012 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_Message +********************************************************************/ +be_local_class(Matter_IM_Message, + 7, + NULL, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(reset, 6), be_const_closure(class_Matter_IM_Message_reset_closure) }, + { be_const_key_weak(last_counter, -1), be_const_var(6) }, + { be_const_key_weak(send_im, 1), be_const_closure(class_Matter_IM_Message_send_im_closure) }, + { be_const_key_weak(init, 15), be_const_closure(class_Matter_IM_Message_init_closure) }, + { be_const_key_weak(status_error_received, 13), be_const_closure(class_Matter_IM_Message_status_error_received_closure) }, + { be_const_key_weak(data, 9), be_const_var(5) }, + { be_const_key_weak(get_exchangeid, -1), be_const_closure(class_Matter_IM_Message_get_exchangeid_closure) }, + { be_const_key_weak(status_ok_received, 12), be_const_closure(class_Matter_IM_Message_status_ok_received_closure) }, + { be_const_key_weak(ack_received, 7), be_const_closure(class_Matter_IM_Message_ack_received_closure) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_Message_reached_timeout_closure) }, + { be_const_key_weak(MSG_TIMEOUT, -1), be_const_int(5000) }, + { be_const_key_weak(resp, -1), be_const_var(1) }, + { be_const_key_weak(expiration, -1), be_const_var(0) }, + { be_const_key_weak(ready, -1), be_const_var(2) }, + { be_const_key_weak(finishing, -1), be_const_var(3) }, + { be_const_key_weak(finished, -1), be_const_var(4) }, + })), + be_str_weak(Matter_IM_Message) +); + +extern const bclass be_class_Matter_IM_Status; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_Status_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_const_int(1), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(StatusResponseMessage), + /* K4 */ be_nested_str_weak(status), + /* K5 */ be_nested_str_weak(data), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0700, // 0003 GETMET R3 R3 K0 + 0x5C140200, // 0004 MOVE R5 R1 + 0x58180001, // 0005 LDCONST R6 K1 + 0x501C0200, // 0006 LDBOOL R7 1 0 + 0x7C0C0800, // 0007 CALL R3 4 + 0xB80E0400, // 0008 GETNGBL R3 K2 + 0x8C0C0703, // 0009 GETMET R3 R3 K3 + 0x7C0C0200, // 000A CALL R3 1 + 0x900E0802, // 000B SETMBR R3 K4 R2 + 0x90020A03, // 000C SETMBR R0 K5 R3 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_Status +********************************************************************/ +extern const bclass be_class_Matter_IM_Message; +be_local_class(Matter_IM_Status, + 0, + &be_class_Matter_IM_Message, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_Status_init_closure) }, + })), + be_str_weak(Matter_IM_Status) +); + +extern const bclass be_class_Matter_IM_InvokeResponse; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_InvokeResponse_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(data), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0700, // 0003 GETMET R3 R3 K0 + 0x5C140200, // 0004 MOVE R5 R1 + 0x541A0008, // 0005 LDINT R6 9 + 0x501C0200, // 0006 LDBOOL R7 1 0 + 0x7C0C0800, // 0007 CALL R3 4 + 0x90020202, // 0008 SETMBR R0 K1 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_InvokeResponse +********************************************************************/ +extern const bclass be_class_Matter_IM_Message; +be_local_class(Matter_IM_InvokeResponse, + 0, + &be_class_Matter_IM_Message, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_InvokeResponse_init_closure) }, + })), + be_str_weak(Matter_IM_InvokeResponse) +); + +extern const bclass be_class_Matter_IM_WriteResponse; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_WriteResponse_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(data), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0700, // 0003 GETMET R3 R3 K0 + 0x5C140200, // 0004 MOVE R5 R1 + 0x541A0006, // 0005 LDINT R6 7 + 0x501C0200, // 0006 LDBOOL R7 1 0 + 0x7C0C0800, // 0007 CALL R3 4 + 0x90020202, // 0008 SETMBR R0 K1 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_WriteResponse +********************************************************************/ +extern const bclass be_class_Matter_IM_Message; +be_local_class(Matter_IM_WriteResponse, + 0, + &be_class_Matter_IM_Message, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_WriteResponse_init_closure) }, + })), + be_str_weak(Matter_IM_WriteResponse) +); +// compact class 'Matter_IM_ReportData_Pull' ktab size: 51, total: 57 (saved 48 bytes) +static const bvalue be_ktab_class_Matter_IM_ReportData_Pull[51] = { + /* K0 */ be_nested_str_weak(resp), + /* K1 */ be_nested_str_weak(data), + /* K2 */ be_nested_str_weak(device), + /* K3 */ be_nested_str_weak(debug), + /* K4 */ be_nested_str_weak(data_ev), + /* K5 */ be_nested_str_weak(event_generator_or_arr), + /* K6 */ be_nested_str_weak(generator_or_arr), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(next_attribute), + /* K9 */ be_nested_str_weak(is_direct), + /* K10 */ be_nested_str_weak(im), + /* K11 */ be_nested_str_weak(read_single_attribute_to_bytes), + /* K12 */ be_nested_str_weak(get_pi), + /* K13 */ be_nested_str_weak(session), + /* K14 */ be_nested_str_weak(MAX_MESSAGE), + /* K15 */ be_nested_str_weak(append), + /* K16 */ be_nested_str_weak(remove), + /* K17 */ be_nested_str_weak(next_event), + /* K18 */ be_nested_str_weak(tasmota), + /* K19 */ be_nested_str_weak(loglevel), + /* K20 */ be_const_int(3), + /* K21 */ be_nested_str_weak(), + /* K22 */ be_nested_str_weak(data0), + /* K23 */ be_nested_str_weak(_X20_X2D_X20), + /* K24 */ be_nested_str_weak(data1), + /* K25 */ be_nested_str_weak(_X2C_X20), + /* K26 */ be_nested_str_weak(data2), + /* K27 */ be_nested_str_weak(log), + /* K28 */ be_nested_str_weak(MTR_X3A_X20_X3ERead_Event_X28_X256i_X7C_X258s_X29_X20_X5B_X2502X_X5D_X2504X_X2F_X2502X_X25s), + /* K29 */ be_nested_str_weak(local_session_id), + /* K30 */ be_nested_str_weak(event_no), + /* K31 */ be_nested_str_weak(endpoint), + /* K32 */ be_nested_str_weak(cluster), + /* K33 */ be_nested_str_weak(event_id), + /* K34 */ be_nested_str_weak(to_raw_bytes), + /* K35 */ be_nested_str_weak(add), + /* K36 */ be_const_int(1), + /* K37 */ be_nested_str_weak(subscription_id), + /* K38 */ be_const_int(2), + /* K39 */ be_nested_str_weak(suppress_response), + /* K40 */ be_nested_str_weak(encode_frame), + /* K41 */ be_nested_str_weak(encrypt), + /* K42 */ be_nested_str_weak(send_response_frame), + /* K43 */ be_nested_str_weak(last_counter), + /* K44 */ be_nested_str_weak(message_counter), + /* K45 */ be_nested_str_weak(ready), + /* K46 */ be_nested_str_weak(finishing), + /* K47 */ be_nested_str_weak(status_ok_received), + /* K48 */ be_nested_str_weak(_message_handler), + /* K49 */ be_nested_str_weak(send_encrypted_ack), + /* K50 */ be_nested_str_weak(init), +}; + + +extern const bclass be_class_Matter_IM_ReportData_Pull; + +/******************************************************************** +** Solidified function: send_im +********************************************************************/ +be_local_closure(class_Matter_IM_ReportData_Pull_send_im, /* name */ + be_nested_proto( + 19, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportData_Pull, /* shared constants */ + be_str_weak(send_im), + &be_const_str_solidified, + ( &(const binstruction[361]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x4C100000, // 0002 LDNIL R4 + 0x200C0604, // 0003 NE R3 R3 R4 + 0x780E0001, // 0004 JMPF R3 #0007 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x70020001, // 0006 JMP #0009 + 0x600C0015, // 0007 GETGBL R3 G21 + 0x7C0C0000, // 0008 CALL R3 0 + 0x4C100000, // 0009 LDNIL R4 + 0x90020204, // 000A SETMBR R0 K1 R4 + 0x50100200, // 000B LDBOOL R4 1 0 + 0x88140302, // 000C GETMBR R5 R1 K2 + 0x88140B03, // 000D GETMBR R5 R5 K3 + 0x88180104, // 000E GETMBR R6 R0 K4 + 0x4C1C0000, // 000F LDNIL R7 + 0x20180C07, // 0010 NE R6 R6 R7 + 0x781A0001, // 0011 JMPF R6 #0014 + 0x88180104, // 0012 GETMBR R6 R0 K4 + 0x70020007, // 0013 JMP #001C + 0x88180105, // 0014 GETMBR R6 R0 K5 + 0x4C1C0000, // 0015 LDNIL R7 + 0x20180C07, // 0016 NE R6 R6 R7 + 0x781A0002, // 0017 JMPF R6 #001B + 0x60180015, // 0018 GETGBL R6 G21 + 0x7C180000, // 0019 CALL R6 0 + 0x70020000, // 001A JMP #001C + 0x4C180000, // 001B LDNIL R6 + 0x7812004A, // 001C JMPF R4 #0068 + 0x881C0106, // 001D GETMBR R7 R0 K6 + 0x4C200000, // 001E LDNIL R8 + 0x201C0E08, // 001F NE R7 R7 R8 + 0x781E0046, // 0020 JMPF R7 #0068 + 0x601C000F, // 0021 GETGBL R7 G15 + 0x88200106, // 0022 GETMBR R8 R0 K6 + 0x60240012, // 0023 GETGBL R9 G18 + 0x7C1C0400, // 0024 CALL R7 2 + 0x781E0002, // 0025 JMPF R7 #0029 + 0x881C0106, // 0026 GETMBR R7 R0 K6 + 0x941C0F07, // 0027 GETIDX R7 R7 K7 + 0x70020000, // 0028 JMP #002A + 0x881C0106, // 0029 GETMBR R7 R0 K6 + 0x4C200000, // 002A LDNIL R8 + 0x78120026, // 002B JMPF R4 #0053 + 0x8C240F08, // 002C GETMET R9 R7 K8 + 0x7C240200, // 002D CALL R9 1 + 0x5C201200, // 002E MOVE R8 R9 + 0x78260022, // 002F JMPF R9 #0053 + 0x8C240F09, // 0030 GETMET R9 R7 K9 + 0x7C240200, // 0031 CALL R9 1 + 0x74260001, // 0032 JMPT R9 #0035 + 0x74160000, // 0033 JMPT R5 #0035 + 0x50240001, // 0034 LDBOOL R9 0 1 + 0x50240200, // 0035 LDBOOL R9 1 0 + 0x8828030A, // 0036 GETMBR R10 R1 K10 + 0x8C28150B, // 0037 GETMET R10 R10 K11 + 0x8C300F0C, // 0038 GETMET R12 R7 K12 + 0x7C300200, // 0039 CALL R12 1 + 0x5C341000, // 003A MOVE R13 R8 + 0x8838050D, // 003B GETMBR R14 R2 K13 + 0x5C3C1200, // 003C MOVE R15 R9 + 0x7C280A00, // 003D CALL R10 5 + 0x4C2C0000, // 003E LDNIL R11 + 0x1C2C140B, // 003F EQ R11 R10 R11 + 0x782E0000, // 0040 JMPF R11 #0042 + 0x7001FFE8, // 0041 JMP #002B + 0x602C000C, // 0042 GETGBL R11 G12 + 0x5C300600, // 0043 MOVE R12 R3 + 0x7C2C0200, // 0044 CALL R11 1 + 0x6030000C, // 0045 GETGBL R12 G12 + 0x5C341400, // 0046 MOVE R13 R10 + 0x7C300200, // 0047 CALL R12 1 + 0x002C160C, // 0048 ADD R11 R11 R12 + 0x8830010E, // 0049 GETMBR R12 R0 K14 + 0x242C160C, // 004A GT R11 R11 R12 + 0x782E0002, // 004B JMPF R11 #004F + 0x9002020A, // 004C SETMBR R0 K1 R10 + 0x50100000, // 004D LDBOOL R4 0 0 + 0x70020002, // 004E JMP #0052 + 0x8C2C070F, // 004F GETMET R11 R3 K15 + 0x5C341400, // 0050 MOVE R13 R10 + 0x7C2C0400, // 0051 CALL R11 2 + 0x7001FFD7, // 0052 JMP #002B + 0x78120012, // 0053 JMPF R4 #0067 + 0x6024000F, // 0054 GETGBL R9 G15 + 0x88280106, // 0055 GETMBR R10 R0 K6 + 0x602C0012, // 0056 GETGBL R11 G18 + 0x7C240400, // 0057 CALL R9 2 + 0x7826000B, // 0058 JMPF R9 #0065 + 0x88240106, // 0059 GETMBR R9 R0 K6 + 0x8C241310, // 005A GETMET R9 R9 K16 + 0x582C0007, // 005B LDCONST R11 K7 + 0x7C240400, // 005C CALL R9 2 + 0x6024000C, // 005D GETGBL R9 G12 + 0x88280106, // 005E GETMBR R10 R0 K6 + 0x7C240200, // 005F CALL R9 1 + 0x1C241307, // 0060 EQ R9 R9 K7 + 0x78260001, // 0061 JMPF R9 #0064 + 0x4C240000, // 0062 LDNIL R9 + 0x90020C09, // 0063 SETMBR R0 K6 R9 + 0x70020001, // 0064 JMP #0067 + 0x4C240000, // 0065 LDNIL R9 + 0x90020C09, // 0066 SETMBR R0 K6 R9 + 0x7001FFB3, // 0067 JMP #001C + 0x78120017, // 0068 JMPF R4 #0081 + 0x881C0104, // 0069 GETMBR R7 R0 K4 + 0x4C200000, // 006A LDNIL R8 + 0x201C0E08, // 006B NE R7 R7 R8 + 0x781E0013, // 006C JMPF R7 #0081 + 0x601C000C, // 006D GETGBL R7 G12 + 0x88200104, // 006E GETMBR R8 R0 K4 + 0x7C1C0200, // 006F CALL R7 1 + 0x241C0F07, // 0070 GT R7 R7 K7 + 0x781E000E, // 0071 JMPF R7 #0081 + 0x601C000C, // 0072 GETGBL R7 G12 + 0x5C200600, // 0073 MOVE R8 R3 + 0x7C1C0200, // 0074 CALL R7 1 + 0x6020000C, // 0075 GETGBL R8 G12 + 0x88240104, // 0076 GETMBR R9 R0 K4 + 0x7C200200, // 0077 CALL R8 1 + 0x001C0E08, // 0078 ADD R7 R7 R8 + 0x8820010E, // 0079 GETMBR R8 R0 K14 + 0x241C0E08, // 007A GT R7 R7 R8 + 0x781E0002, // 007B JMPF R7 #007F + 0x50100000, // 007C LDBOOL R4 0 0 + 0x4C180000, // 007D LDNIL R6 + 0x70020001, // 007E JMP #0081 + 0x4C1C0000, // 007F LDNIL R7 + 0x90020807, // 0080 SETMBR R0 K4 R7 + 0x7812006D, // 0081 JMPF R4 #00F0 + 0x881C0105, // 0082 GETMBR R7 R0 K5 + 0x4C200000, // 0083 LDNIL R8 + 0x201C0E08, // 0084 NE R7 R7 R8 + 0x781E0069, // 0085 JMPF R7 #00F0 + 0x601C000F, // 0086 GETGBL R7 G15 + 0x88200105, // 0087 GETMBR R8 R0 K5 + 0x60240012, // 0088 GETGBL R9 G18 + 0x7C1C0400, // 0089 CALL R7 2 + 0x781E0002, // 008A JMPF R7 #008E + 0x881C0105, // 008B GETMBR R7 R0 K5 + 0x941C0F07, // 008C GETIDX R7 R7 K7 + 0x70020000, // 008D JMP #008F + 0x881C0105, // 008E GETMBR R7 R0 K5 + 0x4C200000, // 008F LDNIL R8 + 0x78120049, // 0090 JMPF R4 #00DB + 0x8C240F11, // 0091 GETMET R9 R7 K17 + 0x7C240200, // 0092 CALL R9 1 + 0x5C201200, // 0093 MOVE R8 R9 + 0x78260045, // 0094 JMPF R9 #00DB + 0x7816002D, // 0095 JMPF R5 #00C4 + 0xB8262400, // 0096 GETNGBL R9 K18 + 0x8C241313, // 0097 GETMET R9 R9 K19 + 0x582C0014, // 0098 LDCONST R11 K20 + 0x7C240400, // 0099 CALL R9 2 + 0x78260028, // 009A JMPF R9 #00C4 + 0x58240015, // 009B LDCONST R9 K21 + 0x88281116, // 009C GETMBR R10 R8 K22 + 0x4C2C0000, // 009D LDNIL R11 + 0x2028140B, // 009E NE R10 R10 R11 + 0x782A0004, // 009F JMPF R10 #00A5 + 0x60280008, // 00A0 GETGBL R10 G8 + 0x882C1116, // 00A1 GETMBR R11 R8 K22 + 0x7C280200, // 00A2 CALL R10 1 + 0x002A2E0A, // 00A3 ADD R10 K23 R10 + 0x5C241400, // 00A4 MOVE R9 R10 + 0x88281118, // 00A5 GETMBR R10 R8 K24 + 0x4C2C0000, // 00A6 LDNIL R11 + 0x2028140B, // 00A7 NE R10 R10 R11 + 0x782A0004, // 00A8 JMPF R10 #00AE + 0x60280008, // 00A9 GETGBL R10 G8 + 0x882C1118, // 00AA GETMBR R11 R8 K24 + 0x7C280200, // 00AB CALL R10 1 + 0x002A320A, // 00AC ADD R10 K25 R10 + 0x0024120A, // 00AD ADD R9 R9 R10 + 0x8828111A, // 00AE GETMBR R10 R8 K26 + 0x4C2C0000, // 00AF LDNIL R11 + 0x2028140B, // 00B0 NE R10 R10 R11 + 0x782A0004, // 00B1 JMPF R10 #00B7 + 0x60280008, // 00B2 GETGBL R10 G8 + 0x882C111A, // 00B3 GETMBR R11 R8 K26 + 0x7C280200, // 00B4 CALL R10 1 + 0x002A320A, // 00B5 ADD R10 K25 R10 + 0x0024120A, // 00B6 ADD R9 R9 R10 + 0xB82A3600, // 00B7 GETNGBL R10 K27 + 0x602C0018, // 00B8 GETGBL R11 G24 + 0x5830001C, // 00B9 LDCONST R12 K28 + 0x8834050D, // 00BA GETMBR R13 R2 K13 + 0x88341B1D, // 00BB GETMBR R13 R13 K29 + 0x8838111E, // 00BC GETMBR R14 R8 K30 + 0x883C111F, // 00BD GETMBR R15 R8 K31 + 0x88401120, // 00BE GETMBR R16 R8 K32 + 0x88441121, // 00BF GETMBR R17 R8 K33 + 0x5C481200, // 00C0 MOVE R18 R9 + 0x7C2C0E00, // 00C1 CALL R11 7 + 0x58300014, // 00C2 LDCONST R12 K20 + 0x7C280400, // 00C3 CALL R10 2 + 0x8C241122, // 00C4 GETMET R9 R8 K34 + 0x7C240200, // 00C5 CALL R9 1 + 0x6028000C, // 00C6 GETGBL R10 G12 + 0x5C2C0600, // 00C7 MOVE R11 R3 + 0x7C280200, // 00C8 CALL R10 1 + 0x602C000C, // 00C9 GETGBL R11 G12 + 0x5C300C00, // 00CA MOVE R12 R6 + 0x7C2C0200, // 00CB CALL R11 1 + 0x0028140B, // 00CC ADD R10 R10 R11 + 0x602C000C, // 00CD GETGBL R11 G12 + 0x5C301200, // 00CE MOVE R12 R9 + 0x7C2C0200, // 00CF CALL R11 1 + 0x0028140B, // 00D0 ADD R10 R10 R11 + 0x882C010E, // 00D1 GETMBR R11 R0 K14 + 0x2428140B, // 00D2 GT R10 R10 R11 + 0x782A0002, // 00D3 JMPF R10 #00D7 + 0x90020809, // 00D4 SETMBR R0 K4 R9 + 0x50100000, // 00D5 LDBOOL R4 0 0 + 0x70020002, // 00D6 JMP #00DA + 0x8C280D0F, // 00D7 GETMET R10 R6 K15 + 0x5C301200, // 00D8 MOVE R12 R9 + 0x7C280400, // 00D9 CALL R10 2 + 0x7001FFB4, // 00DA JMP #0090 + 0x78120012, // 00DB JMPF R4 #00EF + 0x6024000F, // 00DC GETGBL R9 G15 + 0x88280105, // 00DD GETMBR R10 R0 K5 + 0x602C0012, // 00DE GETGBL R11 G18 + 0x7C240400, // 00DF CALL R9 2 + 0x7826000B, // 00E0 JMPF R9 #00ED + 0x88240105, // 00E1 GETMBR R9 R0 K5 + 0x8C241310, // 00E2 GETMET R9 R9 K16 + 0x582C0007, // 00E3 LDCONST R11 K7 + 0x7C240400, // 00E4 CALL R9 2 + 0x6024000C, // 00E5 GETGBL R9 G12 + 0x88280105, // 00E6 GETMBR R10 R0 K5 + 0x7C240200, // 00E7 CALL R9 1 + 0x1C241307, // 00E8 EQ R9 R9 K7 + 0x78260001, // 00E9 JMPF R9 #00EC + 0x4C240000, // 00EA LDNIL R9 + 0x90020A09, // 00EB SETMBR R0 K5 R9 + 0x70020001, // 00EC JMP #00EF + 0x4C240000, // 00ED LDNIL R9 + 0x90020A09, // 00EE SETMBR R0 K5 R9 + 0x7001FF90, // 00EF JMP #0081 + 0x881C0101, // 00F0 GETMBR R7 R0 K1 + 0x4C200000, // 00F1 LDNIL R8 + 0x201C0E08, // 00F2 NE R7 R7 R8 + 0x741E0004, // 00F3 JMPT R7 #00F9 + 0x881C0104, // 00F4 GETMBR R7 R0 K4 + 0x4C200000, // 00F5 LDNIL R8 + 0x201C0E08, // 00F6 NE R7 R7 R8 + 0x741E0000, // 00F7 JMPT R7 #00F9 + 0x501C0001, // 00F8 LDBOOL R7 0 1 + 0x501C0200, // 00F9 LDBOOL R7 1 0 + 0x60200015, // 00FA GETGBL R8 G21 + 0x8824010E, // 00FB GETMBR R9 R0 K14 + 0x7C200200, // 00FC CALL R8 1 + 0x8C241123, // 00FD GETMET R9 R8 K35 + 0x542E0014, // 00FE LDINT R11 21 + 0x58300024, // 00FF LDCONST R12 K36 + 0x7C240600, // 0100 CALL R9 3 + 0x88240125, // 0101 GETMBR R9 R0 K37 + 0x4C280000, // 0102 LDNIL R10 + 0x2024120A, // 0103 NE R9 R9 R10 + 0x78260007, // 0104 JMPF R9 #010D + 0x8C241123, // 0105 GETMET R9 R8 K35 + 0x542E24FF, // 0106 LDINT R11 9472 + 0x5431FFFD, // 0107 LDINT R12 -2 + 0x7C240600, // 0108 CALL R9 3 + 0x8C241123, // 0109 GETMET R9 R8 K35 + 0x882C0125, // 010A GETMBR R11 R0 K37 + 0x58300026, // 010B LDCONST R12 K38 + 0x7C240600, // 010C CALL R9 3 + 0x4C240000, // 010D LDNIL R9 + 0x20240609, // 010E NE R9 R3 R9 + 0x7826000F, // 010F JMPF R9 #0120 + 0x6024000C, // 0110 GETGBL R9 G12 + 0x5C280600, // 0111 MOVE R10 R3 + 0x7C240200, // 0112 CALL R9 1 + 0x24241307, // 0113 GT R9 R9 K7 + 0x7826000A, // 0114 JMPF R9 #0120 + 0x8C241123, // 0115 GETMET R9 R8 K35 + 0x542E3600, // 0116 LDINT R11 13825 + 0x5431FFFD, // 0117 LDINT R12 -2 + 0x7C240600, // 0118 CALL R9 3 + 0x8C24110F, // 0119 GETMET R9 R8 K15 + 0x5C2C0600, // 011A MOVE R11 R3 + 0x7C240400, // 011B CALL R9 2 + 0x8C241123, // 011C GETMET R9 R8 K35 + 0x542E0017, // 011D LDINT R11 24 + 0x58300024, // 011E LDCONST R12 K36 + 0x7C240600, // 011F CALL R9 3 + 0x4C240000, // 0120 LDNIL R9 + 0x20240C09, // 0121 NE R9 R6 R9 + 0x7826000F, // 0122 JMPF R9 #0133 + 0x6024000C, // 0123 GETGBL R9 G12 + 0x5C280C00, // 0124 MOVE R10 R6 + 0x7C240200, // 0125 CALL R9 1 + 0x24241307, // 0126 GT R9 R9 K7 + 0x7826000A, // 0127 JMPF R9 #0133 + 0x8C241123, // 0128 GETMET R9 R8 K35 + 0x542E3601, // 0129 LDINT R11 13826 + 0x5431FFFD, // 012A LDINT R12 -2 + 0x7C240600, // 012B CALL R9 3 + 0x8C24110F, // 012C GETMET R9 R8 K15 + 0x5C2C0C00, // 012D MOVE R11 R6 + 0x7C240400, // 012E CALL R9 2 + 0x8C241123, // 012F GETMET R9 R8 K35 + 0x542E0017, // 0130 LDINT R11 24 + 0x58300024, // 0131 LDCONST R12 K36 + 0x7C240600, // 0132 CALL R9 3 + 0x781E0004, // 0133 JMPF R7 #0139 + 0x8C241123, // 0134 GETMET R9 R8 K35 + 0x542E2902, // 0135 LDINT R11 10499 + 0x5431FFFD, // 0136 LDINT R12 -2 + 0x7C240600, // 0137 CALL R9 3 + 0x70020003, // 0138 JMP #013D + 0x8C241123, // 0139 GETMET R9 R8 K35 + 0x542E2802, // 013A LDINT R11 10243 + 0x5431FFFD, // 013B LDINT R12 -2 + 0x7C240600, // 013C CALL R9 3 + 0x88240127, // 013D GETMBR R9 R0 K39 + 0x4C280000, // 013E LDNIL R10 + 0x2024120A, // 013F NE R9 R9 R10 + 0x7826000A, // 0140 JMPF R9 #014C + 0x88240127, // 0141 GETMBR R9 R0 K39 + 0x78260004, // 0142 JMPF R9 #0148 + 0x8C241123, // 0143 GETMET R9 R8 K35 + 0x542E2903, // 0144 LDINT R11 10500 + 0x5431FFFD, // 0145 LDINT R12 -2 + 0x7C240600, // 0146 CALL R9 3 + 0x70020003, // 0147 JMP #014C + 0x8C241123, // 0148 GETMET R9 R8 K35 + 0x542E2803, // 0149 LDINT R11 10244 + 0x5431FFFD, // 014A LDINT R12 -2 + 0x7C240600, // 014B CALL R9 3 + 0x8C241123, // 014C GETMET R9 R8 K35 + 0x542E24FE, // 014D LDINT R11 9471 + 0x5431FFFD, // 014E LDINT R12 -2 + 0x7C240600, // 014F CALL R9 3 + 0x8C241123, // 0150 GETMET R9 R8 K35 + 0x582C0024, // 0151 LDCONST R11 K36 + 0x58300024, // 0152 LDCONST R12 K36 + 0x7C240600, // 0153 CALL R9 3 + 0x8C241123, // 0154 GETMET R9 R8 K35 + 0x542E0017, // 0155 LDINT R11 24 + 0x58300024, // 0156 LDCONST R12 K36 + 0x7C240600, // 0157 CALL R9 3 + 0x8C240528, // 0158 GETMET R9 R2 K40 + 0x5C2C1000, // 0159 MOVE R11 R8 + 0x7C240400, // 015A CALL R9 2 + 0x8C240529, // 015B GETMET R9 R2 K41 + 0x7C240200, // 015C CALL R9 1 + 0x8C24032A, // 015D GETMET R9 R1 K42 + 0x5C2C0400, // 015E MOVE R11 R2 + 0x7C240400, // 015F CALL R9 2 + 0x8824052C, // 0160 GETMBR R9 R2 K44 + 0x90025609, // 0161 SETMBR R0 K43 R9 + 0x781E0002, // 0162 JMPF R7 #0166 + 0x50240000, // 0163 LDBOOL R9 0 0 + 0x90025A09, // 0164 SETMBR R0 K45 R9 + 0x70020001, // 0165 JMP #0168 + 0x50240200, // 0166 LDBOOL R9 1 0 + 0x90025C09, // 0167 SETMBR R0 K46 R9 + 0x80000000, // 0168 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_ok_received +********************************************************************/ +be_local_closure(class_Matter_IM_ReportData_Pull_status_ok_received, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportData_Pull, /* shared constants */ + be_str_weak(status_ok_received), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08052F, // 0003 GETMET R2 R2 K47 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8808012E, // 0006 GETMBR R2 R0 K46 + 0x740A0005, // 0007 JMPT R2 #000E + 0x8808030D, // 0008 GETMBR R2 R1 K13 + 0x88080530, // 0009 GETMBR R2 R2 K48 + 0x8C080531, // 000A GETMET R2 R2 K49 + 0x5C100200, // 000B MOVE R4 R1 + 0x50140000, // 000C LDBOOL R5 0 0 + 0x7C080600, // 000D CALL R2 3 + 0x50080200, // 000E LDBOOL R2 1 0 + 0x80040400, // 000F RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_subscription_id +********************************************************************/ +be_local_closure(class_Matter_IM_ReportData_Pull_set_subscription_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportData_Pull, /* shared constants */ + be_str_weak(set_subscription_id), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90024A01, // 0000 SETMBR R0 K37 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_suppress_response +********************************************************************/ +be_local_closure(class_Matter_IM_ReportData_Pull_set_suppress_response, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportData_Pull, /* shared constants */ + be_str_weak(set_suppress_response), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90024E01, // 0000 SETMBR R0 K39 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_ReportData_Pull_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportData_Pull, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100932, // 0003 GETMET R4 R4 K50 + 0x5C180200, // 0004 MOVE R6 R1 + 0x541E0004, // 0005 LDINT R7 5 + 0x50200200, // 0006 LDBOOL R8 1 0 + 0x7C100800, // 0007 CALL R4 4 + 0x90020C02, // 0008 SETMBR R0 K6 R2 + 0x90020A03, // 0009 SETMBR R0 K5 R3 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_ReportData_Pull +********************************************************************/ +extern const bclass be_class_Matter_IM_Message; +be_local_class(Matter_IM_ReportData_Pull, + 5, + &be_class_Matter_IM_Message, + be_nested_map(11, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_ReportData_Pull_send_im_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_ReportData_Pull_status_ok_received_closure) }, + { be_const_key_weak(data_ev, -1), be_const_var(4) }, + { be_const_key_weak(suppress_response, 8), be_const_var(3) }, + { be_const_key_weak(MAX_MESSAGE, -1), be_const_int(1150) }, + { be_const_key_weak(set_suppress_response, -1), be_const_closure(class_Matter_IM_ReportData_Pull_set_suppress_response_closure) }, + { be_const_key_weak(set_subscription_id, -1), be_const_closure(class_Matter_IM_ReportData_Pull_set_subscription_id_closure) }, + { be_const_key_weak(generator_or_arr, 5), be_const_var(0) }, + { be_const_key_weak(event_generator_or_arr, 4), be_const_var(1) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_ReportData_Pull_init_closure) }, + { be_const_key_weak(subscription_id, -1), be_const_var(2) }, + })), + be_str_weak(Matter_IM_ReportData_Pull) +); +// compact class 'Matter_IM_ReportDataSubscribed_Pull' ktab size: 34, total: 46 (saved 96 bytes) +static const bvalue be_ktab_class_Matter_IM_ReportDataSubscribed_Pull[34] = { + /* K0 */ be_nested_str_weak(ack_received), + /* K1 */ be_nested_str_weak(report_data_phase), + /* K2 */ be_nested_str_weak(sub), + /* K3 */ be_nested_str_weak(is_keep_alive), + /* K4 */ be_nested_str_weak(re_arm), + /* K5 */ be_nested_str_weak(ready), + /* K6 */ be_nested_str_weak(generator_or_arr), + /* K7 */ be_nested_str_weak(event_generator_or_arr), + /* K8 */ be_nested_str_weak(send_im), + /* K9 */ be_nested_str_weak(finishing), + /* K10 */ be_nested_str_weak(finished), + /* K11 */ be_nested_str_weak(resp), + /* K12 */ be_nested_str_weak(build_standalone_ack), + /* K13 */ be_nested_str_weak(encode_frame), + /* K14 */ be_nested_str_weak(encrypt), + /* K15 */ be_nested_str_weak(tasmota), + /* K16 */ be_nested_str_weak(loglevel), + /* K17 */ be_nested_str_weak(log), + /* K18 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i), + /* K19 */ be_nested_str_weak(session), + /* K20 */ be_nested_str_weak(local_session_id), + /* K21 */ be_nested_str_weak(ack_message_counter), + /* K22 */ be_nested_str_weak(message_counter), + /* K23 */ be_nested_str_weak(send_response_frame), + /* K24 */ be_nested_str_weak(last_counter), + /* K25 */ be_nested_str_weak(init), + /* K26 */ be_nested_str_weak(matter), + /* K27 */ be_nested_str_weak(Frame), + /* K28 */ be_nested_str_weak(initiate_response), + /* K29 */ be_nested_str_weak(set_subscription_id), + /* K30 */ be_nested_str_weak(subscription_id), + /* K31 */ be_nested_str_weak(set_suppress_response), + /* K32 */ be_nested_str_weak(remove_self), + /* K33 */ be_nested_str_weak(status_ok_received), +}; + + +extern const bclass be_class_Matter_IM_ReportDataSubscribed_Pull; + +/******************************************************************** +** Solidified function: ack_received +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_ack_received, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(ack_received), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x740A0008, // 0007 JMPT R2 #0011 + 0x88080102, // 0008 GETMBR R2 R0 K2 + 0x88080503, // 0009 GETMBR R2 R2 K3 + 0x780A0002, // 000A JMPF R2 #000E + 0x88080102, // 000B GETMBR R2 R0 K2 + 0x8C080504, // 000C GETMET R2 R2 K4 + 0x7C080200, // 000D CALL R2 1 + 0x50080000, // 000E LDBOOL R2 0 0 + 0x80040400, // 000F RET 1 R2 + 0x70020001, // 0010 JMP #0013 + 0x50080000, // 0011 LDBOOL R2 0 0 + 0x80040400, // 0012 RET 1 R2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_im +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_send_im, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(send_im), + &be_const_str_solidified, + ( &(const binstruction[77]) { /* code */ + 0x88080105, // 0000 GETMBR R2 R0 K5 + 0x740A0001, // 0001 JMPT R2 #0004 + 0x50080000, // 0002 LDBOOL R2 0 0 + 0x80040400, // 0003 RET 1 R2 + 0x88080106, // 0004 GETMBR R2 R0 K6 + 0x4C0C0000, // 0005 LDNIL R3 + 0x20080403, // 0006 NE R2 R2 R3 + 0x740A0003, // 0007 JMPT R2 #000C + 0x88080107, // 0008 GETMBR R2 R0 K7 + 0x4C0C0000, // 0009 LDNIL R3 + 0x20080403, // 000A NE R2 R2 R3 + 0x780A0031, // 000B JMPF R2 #003E + 0x88080101, // 000C GETMBR R2 R0 K1 + 0x780A000F, // 000D JMPF R2 #001E + 0x60080003, // 000E GETGBL R2 G3 + 0x5C0C0000, // 000F MOVE R3 R0 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080508, // 0011 GETMET R2 R2 K8 + 0x5C100200, // 0012 MOVE R4 R1 + 0x7C080400, // 0013 CALL R2 2 + 0x88080109, // 0014 GETMBR R2 R0 K9 + 0x740A0000, // 0015 JMPT R2 #0017 + 0x80000400, // 0016 RET 0 + 0x50080000, // 0017 LDBOOL R2 0 0 + 0x90020202, // 0018 SETMBR R0 K1 R2 + 0x50080000, // 0019 LDBOOL R2 0 0 + 0x90020A02, // 001A SETMBR R0 K5 R2 + 0x50080000, // 001B LDBOOL R2 0 0 + 0x90021402, // 001C SETMBR R0 K10 R2 + 0x7002001E, // 001D JMP #003D + 0x8808010B, // 001E GETMBR R2 R0 K11 + 0x8C08050C, // 001F GETMET R2 R2 K12 + 0x50100000, // 0020 LDBOOL R4 0 0 + 0x7C080400, // 0021 CALL R2 2 + 0x8C0C050D, // 0022 GETMET R3 R2 K13 + 0x7C0C0200, // 0023 CALL R3 1 + 0x8C0C050E, // 0024 GETMET R3 R2 K14 + 0x7C0C0200, // 0025 CALL R3 1 + 0xB80E1E00, // 0026 GETNGBL R3 K15 + 0x8C0C0710, // 0027 GETMET R3 R3 K16 + 0x54160003, // 0028 LDINT R5 4 + 0x7C0C0400, // 0029 CALL R3 2 + 0x780E0009, // 002A JMPF R3 #0035 + 0xB80E2200, // 002B GETNGBL R3 K17 + 0x60100018, // 002C GETGBL R4 G24 + 0x58140012, // 002D LDCONST R5 K18 + 0x88180513, // 002E GETMBR R6 R2 K19 + 0x88180D14, // 002F GETMBR R6 R6 K20 + 0x881C0515, // 0030 GETMBR R7 R2 K21 + 0x88200516, // 0031 GETMBR R8 R2 K22 + 0x7C100800, // 0032 CALL R4 4 + 0x54160003, // 0033 LDINT R5 4 + 0x7C0C0400, // 0034 CALL R3 2 + 0x8C0C0317, // 0035 GETMET R3 R1 K23 + 0x5C140400, // 0036 MOVE R5 R2 + 0x7C0C0400, // 0037 CALL R3 2 + 0x880C0516, // 0038 GETMBR R3 R2 K22 + 0x90023003, // 0039 SETMBR R0 K24 R3 + 0x880C0102, // 003A GETMBR R3 R0 K2 + 0x8C0C0704, // 003B GETMET R3 R3 K4 + 0x7C0C0200, // 003C CALL R3 1 + 0x7002000D, // 003D JMP #004C + 0x88080101, // 003E GETMBR R2 R0 K1 + 0x780A0008, // 003F JMPF R2 #0049 + 0x60080003, // 0040 GETGBL R2 G3 + 0x5C0C0000, // 0041 MOVE R3 R0 + 0x7C080200, // 0042 CALL R2 1 + 0x8C080508, // 0043 GETMET R2 R2 K8 + 0x5C100200, // 0044 MOVE R4 R1 + 0x7C080400, // 0045 CALL R2 2 + 0x50080000, // 0046 LDBOOL R2 0 0 + 0x90020202, // 0047 SETMBR R0 K1 R2 + 0x70020002, // 0048 JMP #004C + 0x88080102, // 0049 GETMBR R2 R0 K2 + 0x8C080504, // 004A GETMET R2 R2 K4 + 0x7C080200, // 004B CALL R2 1 + 0x80000000, // 004C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_init, /* name */ + be_nested_proto( + 12, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x60180003, // 0000 GETGBL R6 G3 + 0x5C1C0000, // 0001 MOVE R7 R0 + 0x7C180200, // 0002 CALL R6 1 + 0x8C180D19, // 0003 GETMET R6 R6 K25 + 0x4C200000, // 0004 LDNIL R8 + 0x5C240600, // 0005 MOVE R9 R3 + 0x5C280800, // 0006 MOVE R10 R4 + 0x7C180800, // 0007 CALL R6 4 + 0xB81A3400, // 0008 GETNGBL R6 K26 + 0x88180D1B, // 0009 GETMBR R6 R6 K27 + 0x8C180D1C, // 000A GETMET R6 R6 K28 + 0x5C200200, // 000B MOVE R8 R1 + 0x5C240400, // 000C MOVE R9 R2 + 0x542A0004, // 000D LDINT R10 5 + 0x502C0200, // 000E LDBOOL R11 1 0 + 0x7C180A00, // 000F CALL R6 5 + 0x90021606, // 0010 SETMBR R0 K11 R6 + 0x90020405, // 0011 SETMBR R0 K2 R5 + 0x50180200, // 0012 LDBOOL R6 1 0 + 0x90020206, // 0013 SETMBR R0 K1 R6 + 0x8C18011D, // 0014 GETMET R6 R0 K29 + 0x88200B1E, // 0015 GETMBR R8 R5 K30 + 0x7C180400, // 0016 CALL R6 2 + 0x8C18011F, // 0017 GETMET R6 R0 K31 + 0x50200000, // 0018 LDBOOL R8 0 0 + 0x7C180400, // 0019 CALL R6 2 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_error_received +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_status_error_received, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(status_error_received), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080520, // 0001 GETMET R2 R2 K32 + 0x7C080200, // 0002 CALL R2 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reached_timeout +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_reached_timeout, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(reached_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040320, // 0001 GETMET R1 R1 K32 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_ok_received +********************************************************************/ +be_local_closure(class_Matter_IM_ReportDataSubscribed_Pull_status_ok_received, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_ReportDataSubscribed_Pull, /* shared constants */ + be_str_weak(status_ok_received), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x780A0007, // 0001 JMPF R2 #000A + 0x60080003, // 0002 GETGBL R2 G3 + 0x5C0C0000, // 0003 MOVE R3 R0 + 0x7C080200, // 0004 CALL R2 1 + 0x8C080521, // 0005 GETMET R2 R2 K33 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x80040400, // 0008 RET 1 R2 + 0x7002000A, // 0009 JMP #0015 + 0x88080102, // 000A GETMBR R2 R0 K2 + 0x8C080504, // 000B GETMET R2 R2 K4 + 0x7C080200, // 000C CALL R2 1 + 0x60080003, // 000D GETGBL R2 G3 + 0x5C0C0000, // 000E MOVE R3 R0 + 0x7C080200, // 000F CALL R2 1 + 0x8C080521, // 0010 GETMET R2 R2 K33 + 0x4C100000, // 0011 LDNIL R4 + 0x7C080400, // 0012 CALL R2 2 + 0x50080000, // 0013 LDBOOL R2 0 0 + 0x80040400, // 0014 RET 1 R2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_ReportDataSubscribed_Pull +********************************************************************/ +extern const bclass be_class_Matter_IM_ReportData_Pull; +be_local_class(Matter_IM_ReportDataSubscribed_Pull, + 2, + &be_class_Matter_IM_ReportData_Pull, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ack_received, 1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_ack_received_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_status_ok_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_send_im_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_init_closure) }, + { be_const_key_weak(report_data_phase, 7), be_const_var(1) }, + { be_const_key_weak(sub, 6), be_const_var(0) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_reached_timeout_closure) }, + { be_const_key_weak(status_error_received, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_Pull_status_error_received_closure) }, + })), + be_str_weak(Matter_IM_ReportDataSubscribed_Pull) +); +// compact class 'Matter_IM_SubscribedHeartbeat' ktab size: 13, total: 16 (saved 24 bytes) +static const bvalue be_ktab_class_Matter_IM_SubscribedHeartbeat[13] = { + /* K0 */ be_nested_str_weak(sub), + /* K1 */ be_nested_str_weak(remove_self), + /* K2 */ be_nested_str_weak(send_im), + /* K3 */ be_nested_str_weak(ready), + /* K4 */ be_nested_str_weak(ack_received), + /* K5 */ be_nested_str_weak(init), + /* K6 */ be_nested_str_weak(resp), + /* K7 */ be_nested_str_weak(matter), + /* K8 */ be_nested_str_weak(Frame), + /* K9 */ be_nested_str_weak(initiate_response), + /* K10 */ be_nested_str_weak(set_subscription_id), + /* K11 */ be_nested_str_weak(subscription_id), + /* K12 */ be_nested_str_weak(set_suppress_response), +}; + + +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; + +/******************************************************************** +** Solidified function: status_error_received +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_status_error_received, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(status_error_received), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x50080000, // 0003 LDBOOL R2 0 0 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_im +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_send_im, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(send_im), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x50080000, // 0006 LDBOOL R2 0 0 + 0x90020602, // 0007 SETMBR R0 K3 R2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ack_received +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_ack_received, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(ack_received), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080504, // 0003 GETMET R2 R2 K4 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x50080000, // 0006 LDBOOL R2 0 0 + 0x80040400, // 0007 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reached_timeout +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_reached_timeout, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(reached_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_ok_received +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_status_ok_received, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(status_ok_received), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x50080000, // 0000 LDBOOL R2 0 0 + 0x80040400, // 0001 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribedHeartbeat_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribedHeartbeat, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100905, // 0003 GETMET R4 R4 K5 + 0x4C180000, // 0004 LDNIL R6 + 0x4C1C0000, // 0005 LDNIL R7 + 0x4C200000, // 0006 LDNIL R8 + 0x7C100800, // 0007 CALL R4 4 + 0xB8120E00, // 0008 GETNGBL R4 K7 + 0x88100908, // 0009 GETMBR R4 R4 K8 + 0x8C100909, // 000A GETMET R4 R4 K9 + 0x5C180200, // 000B MOVE R6 R1 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x54220004, // 000D LDINT R8 5 + 0x50240200, // 000E LDBOOL R9 1 0 + 0x7C100A00, // 000F CALL R4 5 + 0x90020C04, // 0010 SETMBR R0 K6 R4 + 0x90020003, // 0011 SETMBR R0 K0 R3 + 0x8C10010A, // 0012 GETMET R4 R0 K10 + 0x8818070B, // 0013 GETMBR R6 R3 K11 + 0x7C100400, // 0014 CALL R4 2 + 0x8C10010C, // 0015 GETMET R4 R0 K12 + 0x50180200, // 0016 LDBOOL R6 1 0 + 0x7C100400, // 0017 CALL R4 2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_SubscribedHeartbeat +********************************************************************/ +extern const bclass be_class_Matter_IM_ReportData_Pull; +be_local_class(Matter_IM_SubscribedHeartbeat, + 1, + &be_class_Matter_IM_ReportData_Pull, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, 1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_init_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_status_ok_received_closure) }, + { be_const_key_weak(sub, 6), be_const_var(0) }, + { be_const_key_weak(ack_received, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_ack_received_closure) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_reached_timeout_closure) }, + { be_const_key_weak(status_error_received, 0), be_const_closure(class_Matter_IM_SubscribedHeartbeat_status_error_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_send_im_closure) }, + })), + be_str_weak(Matter_IM_SubscribedHeartbeat) +); +// compact class 'Matter_IM_SubscribeResponse_Pull' ktab size: 29, total: 36 (saved 56 bytes) +static const bvalue be_ktab_class_Matter_IM_SubscribeResponse_Pull[29] = { + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(sub), + /* K2 */ be_nested_str_weak(report_data_phase), + /* K3 */ be_nested_str_weak(set_subscription_id), + /* K4 */ be_nested_str_weak(subscription_id), + /* K5 */ be_nested_str_weak(tasmota), + /* K6 */ be_nested_str_weak(loglevel), + /* K7 */ be_const_int(3), + /* K8 */ be_nested_str_weak(log), + /* K9 */ be_nested_str_weak(MTR_X3A_X20_X3ESub_OK_X20_X20_X20_X20_X28_X256i_X29_X20sub_X3D_X25i), + /* K10 */ be_nested_str_weak(session), + /* K11 */ be_nested_str_weak(local_session_id), + /* K12 */ be_nested_str_weak(status_ok_received), + /* K13 */ be_nested_str_weak(finishing), + /* K14 */ be_nested_str_weak(send_im), + /* K15 */ be_nested_str_weak(ready), + /* K16 */ be_nested_str_weak(resp), + /* K17 */ be_nested_str_weak(matter), + /* K18 */ be_nested_str_weak(SubscribeResponseMessage), + /* K19 */ be_nested_str_weak(max_interval), + /* K20 */ be_nested_str_weak(opcode), + /* K21 */ be_nested_str_weak(encode_frame), + /* K22 */ be_nested_str_weak(to_TLV), + /* K23 */ be_nested_str_weak(tlv2raw), + /* K24 */ be_nested_str_weak(encrypt), + /* K25 */ be_nested_str_weak(send_response_frame), + /* K26 */ be_nested_str_weak(last_counter), + /* K27 */ be_nested_str_weak(message_counter), + /* K28 */ be_nested_str_weak(re_arm), +}; + + +extern const bclass be_class_Matter_IM_SubscribeResponse_Pull; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribeResponse_Pull_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribeResponse_Pull, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x60140003, // 0000 GETGBL R5 G3 + 0x5C180000, // 0001 MOVE R6 R0 + 0x7C140200, // 0002 CALL R5 1 + 0x8C140B00, // 0003 GETMET R5 R5 K0 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x5C200400, // 0005 MOVE R8 R2 + 0x5C240600, // 0006 MOVE R9 R3 + 0x7C140800, // 0007 CALL R5 4 + 0x90020204, // 0008 SETMBR R0 K1 R4 + 0x50140200, // 0009 LDBOOL R5 1 0 + 0x90020405, // 000A SETMBR R0 K2 R5 + 0x8C140103, // 000B GETMET R5 R0 K3 + 0x881C0904, // 000C GETMBR R7 R4 K4 + 0x7C140400, // 000D CALL R5 2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: status_ok_received +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribeResponse_Pull_status_ok_received, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribeResponse_Pull, /* shared constants */ + be_str_weak(status_ok_received), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0xB80A0A00, // 0000 GETNGBL R2 K5 + 0x8C080506, // 0001 GETMET R2 R2 K6 + 0x58100007, // 0002 LDCONST R4 K7 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0009, // 0004 JMPF R2 #000F + 0xB80A1000, // 0005 GETNGBL R2 K8 + 0x600C0018, // 0006 GETGBL R3 G24 + 0x58100009, // 0007 LDCONST R4 K9 + 0x8814030A, // 0008 GETMBR R5 R1 K10 + 0x88140B0B, // 0009 GETMBR R5 R5 K11 + 0x88180101, // 000A GETMBR R6 R0 K1 + 0x88180D04, // 000B GETMBR R6 R6 K4 + 0x7C0C0600, // 000C CALL R3 3 + 0x58100007, // 000D LDCONST R4 K7 + 0x7C080400, // 000E CALL R2 2 + 0x60080003, // 000F GETGBL R2 G3 + 0x5C0C0000, // 0010 MOVE R3 R0 + 0x7C080200, // 0011 CALL R2 1 + 0x8C08050C, // 0012 GETMET R2 R2 K12 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C080400, // 0014 CALL R2 2 + 0x80040400, // 0015 RET 1 R2 + 0x88080102, // 0016 GETMBR R2 R0 K2 + 0x740A0001, // 0017 JMPT R2 #001A + 0x50080200, // 0018 LDBOOL R2 1 0 + 0x90021A02, // 0019 SETMBR R0 K13 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_im +********************************************************************/ +be_local_closure(class_Matter_IM_SubscribeResponse_Pull_send_im, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_SubscribeResponse_Pull, /* shared constants */ + be_str_weak(send_im), + &be_const_str_solidified, + ( &(const binstruction[49]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x780A000E, // 0001 JMPF R2 #0011 + 0x60080003, // 0002 GETGBL R2 G3 + 0x5C0C0000, // 0003 MOVE R3 R0 + 0x7C080200, // 0004 CALL R2 1 + 0x8C08050E, // 0005 GETMET R2 R2 K14 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x8808010D, // 0008 GETMBR R2 R0 K13 + 0x780A0003, // 0009 JMPF R2 #000E + 0x50080000, // 000A LDBOOL R2 0 0 + 0x90020402, // 000B SETMBR R0 K2 R2 + 0x50080000, // 000C LDBOOL R2 0 0 + 0x90021A02, // 000D SETMBR R0 K13 R2 + 0x50080000, // 000E LDBOOL R2 0 0 + 0x90021E02, // 000F SETMBR R0 K15 R2 + 0x7002001E, // 0010 JMP #0030 + 0x88080110, // 0011 GETMBR R2 R0 K16 + 0xB80E2200, // 0012 GETNGBL R3 K17 + 0x8C0C0712, // 0013 GETMET R3 R3 K18 + 0x7C0C0200, // 0014 CALL R3 1 + 0x88100101, // 0015 GETMBR R4 R0 K1 + 0x88100904, // 0016 GETMBR R4 R4 K4 + 0x900E0804, // 0017 SETMBR R3 K4 R4 + 0x88100101, // 0018 GETMBR R4 R0 K1 + 0x88100913, // 0019 GETMBR R4 R4 K19 + 0x900E2604, // 001A SETMBR R3 K19 R4 + 0x88100110, // 001B GETMBR R4 R0 K16 + 0x54160003, // 001C LDINT R5 4 + 0x90122805, // 001D SETMBR R4 K20 R5 + 0x8C100515, // 001E GETMET R4 R2 K21 + 0x8C180716, // 001F GETMET R6 R3 K22 + 0x7C180200, // 0020 CALL R6 1 + 0x8C180D17, // 0021 GETMET R6 R6 K23 + 0x7C180200, // 0022 CALL R6 1 + 0x7C100400, // 0023 CALL R4 2 + 0x8C100518, // 0024 GETMET R4 R2 K24 + 0x7C100200, // 0025 CALL R4 1 + 0x8C100319, // 0026 GETMET R4 R1 K25 + 0x5C180400, // 0027 MOVE R6 R2 + 0x7C100400, // 0028 CALL R4 2 + 0x8810051B, // 0029 GETMBR R4 R2 K27 + 0x90023404, // 002A SETMBR R0 K26 R4 + 0x88100101, // 002B GETMBR R4 R0 K1 + 0x8C10091C, // 002C GETMET R4 R4 K28 + 0x7C100200, // 002D CALL R4 1 + 0x50100200, // 002E LDBOOL R4 1 0 + 0x90021A04, // 002F SETMBR R0 K13 R4 + 0x80000000, // 0030 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_SubscribeResponse_Pull +********************************************************************/ +extern const bclass be_class_Matter_IM_ReportData_Pull; +be_local_class(Matter_IM_SubscribeResponse_Pull, + 2, + &be_class_Matter_IM_ReportData_Pull, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, 4), be_const_closure(class_Matter_IM_SubscribeResponse_Pull_init_closure) }, + { be_const_key_weak(sub, -1), be_const_var(0) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_SubscribeResponse_Pull_status_ok_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_SubscribeResponse_Pull_send_im_closure) }, + { be_const_key_weak(report_data_phase, -1), be_const_var(1) }, + })), + be_str_weak(Matter_IM_SubscribeResponse_Pull) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Subscription.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Subscription.h new file mode 100644 index 000000000..ff0a4ee78 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_IM_Subscription.h @@ -0,0 +1,1039 @@ +/* Solidification of Matter_IM_Subscription.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_IM_Subscription' ktab size: 47, total: 79 (saved 256 bytes) +static const bvalue be_ktab_class_Matter_IM_Subscription[47] = { + /* K0 */ be_nested_str_weak(update_event_no), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(event_generators), + /* K3 */ be_nested_str_weak(event_is_match), + /* K4 */ be_nested_str_weak(event_no), + /* K5 */ be_nested_str_weak(add), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(path_list), + /* K8 */ be_nested_str_weak(endpoint), + /* K9 */ be_nested_str_weak(cluster), + /* K10 */ be_nested_str_weak(attribute), + /* K11 */ be_nested_str_weak(_add_attribute_unique_path), + /* K12 */ be_nested_str_weak(updates), + /* K13 */ be_nested_str_weak(clear), + /* K14 */ be_nested_str_weak(wait_status), + /* K15 */ be_nested_str_weak(subs_shop), + /* K16 */ be_nested_str_weak(subscription_id), + /* K17 */ be_nested_str_weak(session), + /* K18 */ be_nested_str_weak(min_interval_floor), + /* K19 */ be_nested_str_weak(min_interval), + /* K20 */ be_nested_str_weak(max_interval_ceiling), + /* K21 */ be_nested_str_weak(max_interval), + /* K22 */ be_nested_str_weak(fabric_filtered), + /* K23 */ be_nested_str_weak(im), + /* K24 */ be_nested_str_weak(device), + /* K25 */ be_nested_str_weak(attributes_requests), + /* K26 */ be_nested_str_weak(push), + /* K27 */ be_nested_str_weak(matter), + /* K28 */ be_nested_str_weak(Path), + /* K29 */ be_nested_str_weak(stop_iteration), + /* K30 */ be_nested_str_weak(IM), + /* K31 */ be_nested_str_weak(parse_event_filters_min_no), + /* K32 */ be_nested_str_weak(event_filters), + /* K33 */ be_nested_str_weak(clear_before_arm), + /* K34 */ be_nested_str_weak(is_keep_alive), + /* K35 */ be_nested_str_weak(restart_from), + /* K36 */ be_nested_str_weak(resize), + /* K37 */ be_nested_str_weak(tasmota), + /* K38 */ be_nested_str_weak(millis), + /* K39 */ be_nested_str_weak(expiration), + /* K40 */ be_nested_str_weak(MAX_INTERVAL_MARGIN), + /* K41 */ be_nested_str_weak(not_before), + /* K42 */ be_nested_str_weak(log), + /* K43 */ be_nested_str_weak(MTR_X3A_X20_X2ESub_Done_X20_X20_X28_X20_X20_X20_X20_X20_X20_X29_X20sub_X3D_X25i), + /* K44 */ be_const_int(3), + /* K45 */ be_nested_str_weak(MTR_X3A_X20_X2DSub_Del_X20_X20_X20_X28_X20_X20_X20_X20_X20_X20_X29_X20sub_X3D), + /* K46 */ be_nested_str_weak(remove_sub), +}; + + +extern const bclass be_class_Matter_IM_Subscription; + +/******************************************************************** +** Solidified function: event_published +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_event_published, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(event_published), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0012, // 0003 JMPF R2 #0017 + 0x58080001, // 0004 LDCONST R2 K1 + 0x600C000C, // 0005 GETGBL R3 G12 + 0x88100102, // 0006 GETMBR R4 R0 K2 + 0x7C0C0200, // 0007 CALL R3 1 + 0x140C0403, // 0008 LT R3 R2 R3 + 0x780E000C, // 0009 JMPF R3 #0017 + 0x880C0102, // 000A GETMBR R3 R0 K2 + 0x940C0602, // 000B GETIDX R3 R3 R2 + 0x8C0C0703, // 000C GETMET R3 R3 K3 + 0x5C140200, // 000D MOVE R5 R1 + 0x7C0C0400, // 000E CALL R3 2 + 0x780E0004, // 000F JMPF R3 #0015 + 0x880C0304, // 0010 GETMBR R3 R1 K4 + 0x8C0C0705, // 0011 GETMET R3 R3 K5 + 0x5415FFFE, // 0012 LDINT R5 -1 + 0x7C0C0400, // 0013 CALL R3 2 + 0x90020003, // 0014 SETMBR R0 K0 R3 + 0x00080506, // 0015 ADD R2 R2 K6 + 0x7001FFED, // 0016 JMP #0005 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attribute_updated_ctx +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_attribute_updated_ctx, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(attribute_updated_ctx), + &be_const_str_solidified, + ( &(const binstruction[38]) { /* code */ + 0x580C0001, // 0000 LDCONST R3 K1 + 0x6010000C, // 0001 GETGBL R4 G12 + 0x88140107, // 0002 GETMBR R5 R0 K7 + 0x7C100200, // 0003 CALL R4 1 + 0x14100604, // 0004 LT R4 R3 R4 + 0x7812001E, // 0005 JMPF R4 #0025 + 0x88100107, // 0006 GETMBR R4 R0 K7 + 0x94100803, // 0007 GETIDX R4 R4 R3 + 0x88140908, // 0008 GETMBR R5 R4 K8 + 0x4C180000, // 0009 LDNIL R6 + 0x1C140A06, // 000A EQ R5 R5 R6 + 0x74160003, // 000B JMPT R5 #0010 + 0x88140908, // 000C GETMBR R5 R4 K8 + 0x88180308, // 000D GETMBR R6 R1 K8 + 0x1C140A06, // 000E EQ R5 R5 R6 + 0x78160012, // 000F JMPF R5 #0023 + 0x88140909, // 0010 GETMBR R5 R4 K9 + 0x4C180000, // 0011 LDNIL R6 + 0x1C140A06, // 0012 EQ R5 R5 R6 + 0x74160003, // 0013 JMPT R5 #0018 + 0x88140909, // 0014 GETMBR R5 R4 K9 + 0x88180309, // 0015 GETMBR R6 R1 K9 + 0x1C140A06, // 0016 EQ R5 R5 R6 + 0x7816000A, // 0017 JMPF R5 #0023 + 0x8814090A, // 0018 GETMBR R5 R4 K10 + 0x4C180000, // 0019 LDNIL R6 + 0x1C140A06, // 001A EQ R5 R5 R6 + 0x74160003, // 001B JMPT R5 #0020 + 0x8814090A, // 001C GETMBR R5 R4 K10 + 0x8818030A, // 001D GETMBR R6 R1 K10 + 0x1C140A06, // 001E EQ R5 R5 R6 + 0x78160002, // 001F JMPF R5 #0023 + 0x8C14010B, // 0020 GETMET R5 R0 K11 + 0x5C1C0200, // 0021 MOVE R7 R1 + 0x7C140400, // 0022 CALL R5 2 + 0x000C0706, // 0023 ADD R3 R3 K6 + 0x7001FFDB, // 0024 JMP #0001 + 0x80000000, // 0025 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear_before_arm +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_clear_before_arm, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(clear_before_arm), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x7C040200, // 0002 CALL R1 1 + 0x50040200, // 0003 LDBOOL R1 1 0 + 0x90021C01, // 0004 SETMBR R0 K14 R1 + 0x4C040000, // 0005 LDNIL R1 + 0x90020001, // 0006 SETMBR R0 K0 R1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_init, /* name */ + be_nested_proto( + 17, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[69]) { /* code */ + 0x90021E01, // 0000 SETMBR R0 K15 R1 + 0x90022002, // 0001 SETMBR R0 K16 R2 + 0x90022203, // 0002 SETMBR R0 K17 R3 + 0x88140912, // 0003 GETMBR R5 R4 K18 + 0x14180B01, // 0004 LT R6 R5 K1 + 0x781A0000, // 0005 JMPF R6 #0007 + 0x58140001, // 0006 LDCONST R5 K1 + 0x541A003B, // 0007 LDINT R6 60 + 0x24180A06, // 0008 GT R6 R5 R6 + 0x781A0000, // 0009 JMPF R6 #000B + 0x5416003B, // 000A LDINT R5 60 + 0x90022605, // 000B SETMBR R0 K19 R5 + 0x88180914, // 000C GETMBR R6 R4 K20 + 0x541E003B, // 000D LDINT R7 60 + 0x141C0C07, // 000E LT R7 R6 R7 + 0x781E0000, // 000F JMPF R7 #0011 + 0x541A003B, // 0010 LDINT R6 60 + 0x541E0E0F, // 0011 LDINT R7 3600 + 0x241C0C07, // 0012 GT R7 R6 R7 + 0x781E0000, // 0013 JMPF R7 #0015 + 0x541A0E0F, // 0014 LDINT R6 3600 + 0x541A003B, // 0015 LDINT R6 60 + 0x90022A06, // 0016 SETMBR R0 K21 R6 + 0x501C0000, // 0017 LDBOOL R7 0 0 + 0x90021C07, // 0018 SETMBR R0 K14 R7 + 0x881C0916, // 0019 GETMBR R7 R4 K22 + 0x90022C07, // 001A SETMBR R0 K22 R7 + 0x881C0317, // 001B GETMBR R7 R1 K23 + 0x881C0F18, // 001C GETMBR R7 R7 K24 + 0x60200012, // 001D GETGBL R8 G18 + 0x7C200000, // 001E CALL R8 0 + 0x90020E08, // 001F SETMBR R0 K7 R8 + 0x88200919, // 0020 GETMBR R8 R4 K25 + 0x4C240000, // 0021 LDNIL R9 + 0x20201009, // 0022 NE R8 R8 R9 + 0x78220012, // 0023 JMPF R8 #0037 + 0x60200010, // 0024 GETGBL R8 G16 + 0x88240919, // 0025 GETMBR R9 R4 K25 + 0x7C200200, // 0026 CALL R8 1 + 0xA802000B, // 0027 EXBLK 0 #0034 + 0x5C241000, // 0028 MOVE R9 R8 + 0x7C240000, // 0029 CALL R9 0 + 0x88280107, // 002A GETMBR R10 R0 K7 + 0x8C28151A, // 002B GETMET R10 R10 K26 + 0xB8323600, // 002C GETNGBL R12 K27 + 0x8C30191C, // 002D GETMET R12 R12 K28 + 0x88381308, // 002E GETMBR R14 R9 K8 + 0x883C1309, // 002F GETMBR R15 R9 K9 + 0x8840130A, // 0030 GETMBR R16 R9 K10 + 0x7C300800, // 0031 CALL R12 4 + 0x7C280400, // 0032 CALL R10 2 + 0x7001FFF3, // 0033 JMP #0028 + 0x5820001D, // 0034 LDCONST R8 K29 + 0xAC200200, // 0035 CATCH R8 1 0 + 0xB0080000, // 0036 RAISE 2 R0 R0 + 0xB8223600, // 0037 GETNGBL R8 K27 + 0x8820111E, // 0038 GETMBR R8 R8 K30 + 0x8C20111F, // 0039 GETMET R8 R8 K31 + 0x88280920, // 003A GETMBR R10 R4 K32 + 0x4C2C0000, // 003B LDNIL R11 + 0x7C200600, // 003C CALL R8 3 + 0x60240012, // 003D GETGBL R9 G18 + 0x7C240000, // 003E CALL R9 0 + 0x90021809, // 003F SETMBR R0 K12 R9 + 0x8C240121, // 0040 GETMET R9 R0 K33 + 0x7C240200, // 0041 CALL R9 1 + 0x50240000, // 0042 LDBOOL R9 0 0 + 0x90024409, // 0043 SETMBR R0 K34 R9 + 0x80000000, // 0044 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _add_attribute_unique_path +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription__add_attribute_unique_path, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(_add_attribute_unique_path), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x58080001, // 0000 LDCONST R2 K1 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x8810010C, // 0002 GETMBR R4 R0 K12 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0010, // 0005 JMPF R3 #0017 + 0x880C010C, // 0006 GETMBR R3 R0 K12 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x88100708, // 0008 GETMBR R4 R3 K8 + 0x88140308, // 0009 GETMBR R5 R1 K8 + 0x1C100805, // 000A EQ R4 R4 R5 + 0x78120008, // 000B JMPF R4 #0015 + 0x88100709, // 000C GETMBR R4 R3 K9 + 0x88140309, // 000D GETMBR R5 R1 K9 + 0x1C100805, // 000E EQ R4 R4 R5 + 0x78120004, // 000F JMPF R4 #0015 + 0x8810070A, // 0010 GETMBR R4 R3 K10 + 0x8814030A, // 0011 GETMBR R5 R1 K10 + 0x1C100805, // 0012 EQ R4 R4 R5 + 0x78120000, // 0013 JMPF R4 #0015 + 0x80000800, // 0014 RET 0 + 0x00080506, // 0015 ADD R2 R2 K6 + 0x7001FFE9, // 0016 JMP #0001 + 0x880C010C, // 0017 GETMBR R3 R0 K12 + 0x8C0C071A, // 0018 GETMET R3 R3 K26 + 0x5C140200, // 0019 MOVE R5 R1 + 0x7C0C0400, // 001A CALL R3 2 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_event_generator_array +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_update_event_generator_array, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(update_event_generator_array), + &be_const_str_solidified, + ( &(const binstruction[46]) { /* code */ + 0x6004000C, // 0000 GETGBL R1 G12 + 0x88080102, // 0001 GETMBR R2 R0 K2 + 0x7C040200, // 0002 CALL R1 1 + 0x1C040301, // 0003 EQ R1 R1 K1 + 0x78060002, // 0004 JMPF R1 #0008 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + 0x70020024, // 0007 JMP #002D + 0x6004000C, // 0008 GETGBL R1 G12 + 0x88080102, // 0009 GETMBR R2 R0 K2 + 0x7C040200, // 000A CALL R1 1 + 0x1C040306, // 000B EQ R1 R1 K6 + 0x78060008, // 000C JMPF R1 #0016 + 0x88040102, // 000D GETMBR R1 R0 K2 + 0x94040301, // 000E GETIDX R1 R1 K1 + 0x8C040323, // 000F GETMET R1 R1 K35 + 0x880C0100, // 0010 GETMBR R3 R0 K0 + 0x7C040400, // 0011 CALL R1 2 + 0x88040102, // 0012 GETMBR R1 R0 K2 + 0x94040301, // 0013 GETIDX R1 R1 K1 + 0x80040200, // 0014 RET 1 R1 + 0x70020016, // 0015 JMP #002D + 0x60040012, // 0016 GETGBL R1 G18 + 0x7C040000, // 0017 CALL R1 0 + 0x8C080324, // 0018 GETMET R2 R1 K36 + 0x6010000C, // 0019 GETGBL R4 G12 + 0x88140102, // 001A GETMBR R5 R0 K2 + 0x7C100200, // 001B CALL R4 1 + 0x7C080400, // 001C CALL R2 2 + 0x58080001, // 001D LDCONST R2 K1 + 0x600C000C, // 001E GETGBL R3 G12 + 0x88100102, // 001F GETMBR R4 R0 K2 + 0x7C0C0200, // 0020 CALL R3 1 + 0x140C0403, // 0021 LT R3 R2 R3 + 0x780E0009, // 0022 JMPF R3 #002D + 0x880C0102, // 0023 GETMBR R3 R0 K2 + 0x940C0602, // 0024 GETIDX R3 R3 R2 + 0x8C0C0723, // 0025 GETMET R3 R3 K35 + 0x88140100, // 0026 GETMBR R5 R0 K0 + 0x7C0C0400, // 0027 CALL R3 2 + 0x880C0102, // 0028 GETMBR R3 R0 K2 + 0x940C0602, // 0029 GETIDX R3 R3 R2 + 0x98040403, // 002A SETIDX R1 R2 R3 + 0x00080506, // 002B ADD R2 R2 K6 + 0x7001FFF0, // 002C JMP #001E + 0x80000000, // 002D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: re_arm +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_re_arm, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(re_arm), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x8804010E, // 0000 GETMBR R1 R0 K14 + 0x74060000, // 0001 JMPT R1 #0003 + 0x80000200, // 0002 RET 0 + 0x50040000, // 0003 LDBOOL R1 0 0 + 0x90021C01, // 0004 SETMBR R0 K14 R1 + 0xB8064A00, // 0005 GETNGBL R1 K37 + 0x8C040326, // 0006 GETMET R1 R1 K38 + 0x7C040200, // 0007 CALL R1 1 + 0x88080115, // 0008 GETMBR R2 R0 K21 + 0x880C0128, // 0009 GETMBR R3 R0 K40 + 0x04080403, // 000A SUB R2 R2 R3 + 0x540E03E7, // 000B LDINT R3 1000 + 0x08080403, // 000C MUL R2 R2 R3 + 0x00080202, // 000D ADD R2 R1 R2 + 0x90024E02, // 000E SETMBR R0 K39 R2 + 0x88080113, // 000F GETMBR R2 R0 K19 + 0x540E03E7, // 0010 LDINT R3 1000 + 0x08080403, // 0011 MUL R2 R2 R3 + 0x00080202, // 0012 ADD R2 R1 R2 + 0x04080506, // 0013 SUB R2 R2 K6 + 0x90025202, // 0014 SETMBR R0 K41 R2 + 0x88080122, // 0015 GETMBR R2 R0 K34 + 0x740A0006, // 0016 JMPT R2 #001E + 0xB80A5400, // 0017 GETNGBL R2 K42 + 0x600C0018, // 0018 GETGBL R3 G24 + 0x5810002B, // 0019 LDCONST R4 K43 + 0x88140110, // 001A GETMBR R5 R0 K16 + 0x7C0C0400, // 001B CALL R3 2 + 0x5810002C, // 001C LDCONST R4 K44 + 0x7C080400, // 001D CALL R2 2 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_event_generator_or_arr +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_set_event_generator_or_arr, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(set_event_generator_or_arr), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0003, // 0002 JMPF R2 #0007 + 0x60080012, // 0003 GETGBL R2 G18 + 0x7C080000, // 0004 CALL R2 0 + 0x90020402, // 0005 SETMBR R0 K2 R2 + 0x7002000A, // 0006 JMP #0012 + 0x6008000F, // 0007 GETGBL R2 G15 + 0x5C0C0200, // 0008 MOVE R3 R1 + 0x60100012, // 0009 GETGBL R4 G18 + 0x7C080400, // 000A CALL R2 2 + 0x780A0001, // 000B JMPF R2 #000E + 0x90020401, // 000C SETMBR R0 K2 R1 + 0x70020003, // 000D JMP #0012 + 0x60080012, // 000E GETGBL R2 G18 + 0x7C080000, // 000F CALL R2 0 + 0x400C0401, // 0010 CONNECT R3 R2 R1 + 0x90020402, // 0011 SETMBR R0 K2 R2 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_self +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_remove_self, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription, /* shared constants */ + be_str_weak(remove_self), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xB8065400, // 0000 GETNGBL R1 K42 + 0x60080008, // 0001 GETGBL R2 G8 + 0x880C0110, // 0002 GETMBR R3 R0 K16 + 0x7C080200, // 0003 CALL R2 1 + 0x000A5A02, // 0004 ADD R2 K45 R2 + 0x580C002C, // 0005 LDCONST R3 K44 + 0x7C040400, // 0006 CALL R1 2 + 0x8804010F, // 0007 GETMBR R1 R0 K15 + 0x8C04032E, // 0008 GETMET R1 R1 K46 + 0x5C0C0000, // 0009 MOVE R3 R0 + 0x7C040400, // 000A CALL R1 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_Subscription +********************************************************************/ +be_local_class(Matter_IM_Subscription, + 14, + NULL, + be_nested_map(24, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(expiration, 1), be_const_var(9) }, + { be_const_key_weak(remove_self, -1), be_const_closure(class_Matter_IM_Subscription_remove_self_closure) }, + { be_const_key_weak(fabric_filtered, 23), be_const_var(7) }, + { be_const_key_weak(subs_shop, 16), be_const_var(0) }, + { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(class_Matter_IM_Subscription_attribute_updated_ctx_closure) }, + { be_const_key_weak(update_event_no, -1), be_const_var(13) }, + { be_const_key_weak(MAX_INTERVAL_MARGIN, -1), be_const_int(5) }, + { be_const_key_weak(session, 14), be_const_var(2) }, + { be_const_key_weak(not_before, -1), be_const_var(8) }, + { be_const_key_weak(path_list, 5), be_const_var(3) }, + { be_const_key_weak(event_generators, -1), be_const_var(4) }, + { be_const_key_weak(clear_before_arm, 4), be_const_closure(class_Matter_IM_Subscription_clear_before_arm_closure) }, + { be_const_key_weak(is_keep_alive, 11), be_const_var(11) }, + { be_const_key_weak(updates, 12), be_const_var(12) }, + { be_const_key_weak(wait_status, -1), be_const_var(10) }, + { be_const_key_weak(max_interval, -1), be_const_var(6) }, + { be_const_key_weak(init, 9), be_const_closure(class_Matter_IM_Subscription_init_closure) }, + { be_const_key_weak(min_interval, -1), be_const_var(5) }, + { be_const_key_weak(_add_attribute_unique_path, -1), be_const_closure(class_Matter_IM_Subscription__add_attribute_unique_path_closure) }, + { be_const_key_weak(update_event_generator_array, -1), be_const_closure(class_Matter_IM_Subscription_update_event_generator_array_closure) }, + { be_const_key_weak(subscription_id, -1), be_const_var(1) }, + { be_const_key_weak(re_arm, -1), be_const_closure(class_Matter_IM_Subscription_re_arm_closure) }, + { be_const_key_weak(set_event_generator_or_arr, -1), be_const_closure(class_Matter_IM_Subscription_set_event_generator_or_arr_closure) }, + { be_const_key_weak(event_published, -1), be_const_closure(class_Matter_IM_Subscription_event_published_closure) }, + })), + be_str_weak(Matter_IM_Subscription) +); +// compact class 'Matter_IM_Subscription_Shop' ktab size: 31, total: 51 (saved 160 bytes) +static const bvalue be_ktab_class_Matter_IM_Subscription_Shop[31] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(subs), + /* K2 */ be_nested_str_weak(wait_status), + /* K3 */ be_nested_str_weak(tasmota), + /* K4 */ be_nested_str_weak(time_reached), + /* K5 */ be_nested_str_weak(not_before), + /* K6 */ be_nested_str_weak(updates), + /* K7 */ be_nested_str_weak(update_event_no), + /* K8 */ be_nested_str_weak(im), + /* K9 */ be_nested_str_weak(send_subscribe_update), + /* K10 */ be_nested_str_weak(clear_before_arm), + /* K11 */ be_const_int(1), + /* K12 */ be_nested_str_weak(expiration), + /* K13 */ be_nested_str_weak(send_subscribe_heartbeat), + /* K14 */ be_nested_str_weak(re_arm), + /* K15 */ be_nested_str_weak(attribute_updated_ctx), + /* K16 */ be_nested_str_weak(remove), + /* K17 */ be_nested_str_weak(crypto), + /* K18 */ be_nested_str_weak(random), + /* K19 */ be_const_int(2), + /* K20 */ be_nested_str_weak(get), + /* K21 */ be_nested_str_weak(get_by_id), + /* K22 */ be_nested_str_weak(matter), + /* K23 */ be_nested_str_weak(IM_Subscription), + /* K24 */ be_nested_str_weak(push), + /* K25 */ be_nested_str_weak(event_published), + /* K26 */ be_nested_str_weak(session), + /* K27 */ be_nested_str_weak(_sessions), + /* K28 */ be_nested_str_weak(remove_by_session), + /* K29 */ be_nested_str_weak(stop_iteration), + /* K30 */ be_nested_str_weak(subscription_id), +}; + + +extern const bclass be_class_Matter_IM_Subscription_Shop; + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_every_50ms, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x880C0101, // 0002 GETMBR R3 R0 K1 + 0x7C080200, // 0003 CALL R2 1 + 0x14080202, // 0004 LT R2 R1 R2 + 0x780A0019, // 0005 JMPF R2 #0020 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x94080401, // 0007 GETIDX R2 R2 R1 + 0x880C0502, // 0008 GETMBR R3 R2 K2 + 0x740E0013, // 0009 JMPT R3 #001E + 0xB80E0600, // 000A GETNGBL R3 K3 + 0x8C0C0704, // 000B GETMET R3 R3 K4 + 0x88140505, // 000C GETMBR R5 R2 K5 + 0x7C0C0400, // 000D CALL R3 2 + 0x780E000E, // 000E JMPF R3 #001E + 0x600C000C, // 000F GETGBL R3 G12 + 0x88100506, // 0010 GETMBR R4 R2 K6 + 0x7C0C0200, // 0011 CALL R3 1 + 0x240C0700, // 0012 GT R3 R3 K0 + 0x740E0003, // 0013 JMPT R3 #0018 + 0x880C0507, // 0014 GETMBR R3 R2 K7 + 0x4C100000, // 0015 LDNIL R4 + 0x200C0604, // 0016 NE R3 R3 R4 + 0x780E0005, // 0017 JMPF R3 #001E + 0x880C0108, // 0018 GETMBR R3 R0 K8 + 0x8C0C0709, // 0019 GETMET R3 R3 K9 + 0x5C140400, // 001A MOVE R5 R2 + 0x7C0C0400, // 001B CALL R3 2 + 0x8C0C050A, // 001C GETMET R3 R2 K10 + 0x7C0C0200, // 001D CALL R3 1 + 0x0004030B, // 001E ADD R1 R1 K11 + 0x7001FFE0, // 001F JMP #0001 + 0x58040000, // 0020 LDCONST R1 K0 + 0x6008000C, // 0021 GETGBL R2 G12 + 0x880C0101, // 0022 GETMBR R3 R0 K1 + 0x7C080200, // 0023 CALL R2 1 + 0x14080202, // 0024 LT R2 R1 R2 + 0x780A0012, // 0025 JMPF R2 #0039 + 0x88080101, // 0026 GETMBR R2 R0 K1 + 0x94080401, // 0027 GETIDX R2 R2 R1 + 0x880C0502, // 0028 GETMBR R3 R2 K2 + 0x740E000C, // 0029 JMPT R3 #0037 + 0xB80E0600, // 002A GETNGBL R3 K3 + 0x8C0C0704, // 002B GETMET R3 R3 K4 + 0x8814050C, // 002C GETMBR R5 R2 K12 + 0x7C0C0400, // 002D CALL R3 2 + 0x780E0007, // 002E JMPF R3 #0037 + 0x880C0108, // 002F GETMBR R3 R0 K8 + 0x8C0C070D, // 0030 GETMET R3 R3 K13 + 0x5C140400, // 0031 MOVE R5 R2 + 0x7C0C0400, // 0032 CALL R3 2 + 0x8C0C050A, // 0033 GETMET R3 R2 K10 + 0x7C0C0200, // 0034 CALL R3 1 + 0x8C0C050E, // 0035 GETMET R3 R2 K14 + 0x7C0C0200, // 0036 CALL R3 1 + 0x0004030B, // 0037 ADD R1 R1 K11 + 0x7001FFE7, // 0038 JMP #0021 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90021001, // 0000 SETMBR R0 K8 R1 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x90020202, // 0003 SETMBR R0 K1 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attribute_updated_ctx +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_attribute_updated_ctx, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(attribute_updated_ctx), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x580C0000, // 0000 LDCONST R3 K0 + 0x6010000C, // 0001 GETGBL R4 G12 + 0x88140101, // 0002 GETMBR R5 R0 K1 + 0x7C100200, // 0003 CALL R4 1 + 0x14100604, // 0004 LT R4 R3 R4 + 0x78120007, // 0005 JMPF R4 #000E + 0x88100101, // 0006 GETMBR R4 R0 K1 + 0x94100803, // 0007 GETIDX R4 R4 R3 + 0x8C10090F, // 0008 GETMET R4 R4 K15 + 0x5C180200, // 0009 MOVE R6 R1 + 0x5C1C0400, // 000A MOVE R7 R2 + 0x7C100600, // 000B CALL R4 3 + 0x000C070B, // 000C ADD R3 R3 K11 + 0x7001FFF2, // 000D JMP #0001 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_sub +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_remove_sub, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(remove_sub), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x88100101, // 0002 GETMBR R4 R0 K1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E000A, // 0005 JMPF R3 #0011 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x1C0C0601, // 0008 EQ R3 R3 R1 + 0x780E0004, // 0009 JMPF R3 #000F + 0x880C0101, // 000A GETMBR R3 R0 K1 + 0x8C0C0710, // 000B GETMET R3 R3 K16 + 0x5C140400, // 000C MOVE R5 R2 + 0x7C0C0400, // 000D CALL R3 2 + 0x70020000, // 000E JMP #0010 + 0x0008050B, // 000F ADD R2 R2 K11 + 0x7001FFEF, // 0010 JMP #0001 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: new_subscription +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_new_subscription, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(new_subscription), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xA4122200, // 0000 IMPORT R4 K17 + 0x8C140912, // 0001 GETMET R5 R4 K18 + 0x581C0013, // 0002 LDCONST R7 K19 + 0x7C140400, // 0003 CALL R5 2 + 0x8C140B14, // 0004 GETMET R5 R5 K20 + 0x581C0000, // 0005 LDCONST R7 K0 + 0x58200013, // 0006 LDCONST R8 K19 + 0x7C140600, // 0007 CALL R5 3 + 0x8C180115, // 0008 GETMET R6 R0 K21 + 0x5C200A00, // 0009 MOVE R8 R5 + 0x7C180400, // 000A CALL R6 2 + 0x781A0008, // 000B JMPF R6 #0015 + 0x8C180912, // 000C GETMET R6 R4 K18 + 0x58200013, // 000D LDCONST R8 K19 + 0x7C180400, // 000E CALL R6 2 + 0x8C180D14, // 000F GETMET R6 R6 K20 + 0x58200000, // 0010 LDCONST R8 K0 + 0x58240013, // 0011 LDCONST R9 K19 + 0x7C180600, // 0012 CALL R6 3 + 0x5C140C00, // 0013 MOVE R5 R6 + 0x7001FFF2, // 0014 JMP #0008 + 0xB81A2C00, // 0015 GETNGBL R6 K22 + 0x8C180D17, // 0016 GETMET R6 R6 K23 + 0x5C200000, // 0017 MOVE R8 R0 + 0x5C240A00, // 0018 MOVE R9 R5 + 0x5C280200, // 0019 MOVE R10 R1 + 0x5C2C0400, // 001A MOVE R11 R2 + 0x5C300600, // 001B MOVE R12 R3 + 0x7C180C00, // 001C CALL R6 6 + 0x881C0101, // 001D GETMBR R7 R0 K1 + 0x8C1C0F18, // 001E GETMET R7 R7 K24 + 0x5C240C00, // 001F MOVE R9 R6 + 0x7C1C0400, // 0020 CALL R7 2 + 0x80040C00, // 0021 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_published +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_event_published, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(event_published), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x88100101, // 0002 GETMBR R4 R0 K1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0006, // 0005 JMPF R3 #000D + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x8C0C0719, // 0008 GETMET R3 R3 K25 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C0C0400, // 000A CALL R3 2 + 0x0008050B, // 000B ADD R2 R2 K11 + 0x7001FFF3, // 000C JMP #0001 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_by_session +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_remove_by_session, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(remove_by_session), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x88100101, // 0002 GETMBR R4 R0 K1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E000B, // 0005 JMPF R3 #0012 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x880C071A, // 0008 GETMBR R3 R3 K26 + 0x1C0C0601, // 0009 EQ R3 R3 R1 + 0x780E0004, // 000A JMPF R3 #0010 + 0x880C0101, // 000B GETMBR R3 R0 K1 + 0x8C0C0710, // 000C GETMET R3 R3 K16 + 0x5C140400, // 000D MOVE R5 R2 + 0x7C0C0400, // 000E CALL R3 2 + 0x70020000, // 000F JMP #0011 + 0x0008050B, // 0010 ADD R2 R2 K11 + 0x7001FFEE, // 0011 JMP #0001 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_by_fabric +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_remove_by_fabric, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(remove_by_fabric), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x60080010, // 0000 GETGBL R2 G16 + 0x880C031B, // 0001 GETMBR R3 R1 K27 + 0x7C080200, // 0002 CALL R2 1 + 0xA8020005, // 0003 EXBLK 0 #000A + 0x5C0C0400, // 0004 MOVE R3 R2 + 0x7C0C0000, // 0005 CALL R3 0 + 0x8C10011C, // 0006 GETMET R4 R0 K28 + 0x5C180600, // 0007 MOVE R6 R3 + 0x7C100400, // 0008 CALL R4 2 + 0x7001FFF9, // 0009 JMP #0004 + 0x5808001D, // 000A LDCONST R2 K29 + 0xAC080200, // 000B CATCH R2 1 0 + 0xB0080000, // 000C RAISE 2 R0 R0 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_by_id +********************************************************************/ +be_local_closure(class_Matter_IM_Subscription_Shop_get_by_id, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_IM_Subscription_Shop, /* shared constants */ + be_str_weak(get_by_id), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x88100101, // 0002 GETMBR R4 R0 K1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0009, // 0005 JMPF R3 #0010 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x880C071E, // 0008 GETMBR R3 R3 K30 + 0x1C0C0601, // 0009 EQ R3 R3 R1 + 0x780E0002, // 000A JMPF R3 #000E + 0x880C0101, // 000B GETMBR R3 R0 K1 + 0x940C0602, // 000C GETIDX R3 R3 R2 + 0x80040600, // 000D RET 1 R3 + 0x0008050B, // 000E ADD R2 R2 K11 + 0x7001FFF0, // 000F JMP #0001 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_IM_Subscription_Shop +********************************************************************/ +be_local_class(Matter_IM_Subscription_Shop, + 2, + NULL, + be_nested_map(11, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_IM_Subscription_Shop_every_50ms_closure) }, + { be_const_key_weak(get_by_id, -1), be_const_closure(class_Matter_IM_Subscription_Shop_get_by_id_closure) }, + { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(class_Matter_IM_Subscription_Shop_attribute_updated_ctx_closure) }, + { be_const_key_weak(remove_sub, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_sub_closure) }, + { be_const_key_weak(remove_by_fabric, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_by_fabric_closure) }, + { be_const_key_weak(new_subscription, -1), be_const_closure(class_Matter_IM_Subscription_Shop_new_subscription_closure) }, + { be_const_key_weak(event_published, -1), be_const_closure(class_Matter_IM_Subscription_Shop_event_published_closure) }, + { be_const_key_weak(subs, -1), be_const_var(0) }, + { be_const_key_weak(remove_by_session, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_by_session_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_Matter_IM_Subscription_Shop_init_closure) }, + { be_const_key_weak(im, 1), be_const_var(1) }, + })), + be_str_weak(Matter_IM_Subscription_Shop) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Message.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Message.h new file mode 100644 index 000000000..58559d111 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Message.h @@ -0,0 +1,1152 @@ +/* Solidification of Matter_Message.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_Frame; +// compact class 'Matter_Frame' ktab size: 73, total: 200 (saved 1016 bytes) +static const bvalue be_ktab_class_Matter_Frame[73] = { + /* K0 */ be_nested_str_weak(session), + /* K1 */ be_nested_str_weak(get_node_id), + /* K2 */ be_nested_str_weak(crypto), + /* K3 */ be_nested_str_weak(raw), + /* K4 */ be_nested_str_weak(payload_idx), + /* K5 */ be_nested_str_weak(get_r2i), + /* K6 */ be_nested_str_weak(message_handler), + /* K7 */ be_nested_str_weak(_n_bytes), + /* K8 */ be_nested_str_weak(clear), + /* K9 */ be_nested_str_weak(add), + /* K10 */ be_nested_str_weak(sec_flags), + /* K11 */ be_const_int(1), + /* K12 */ be_nested_str_weak(message_counter), + /* K13 */ be_nested_str_weak(is_CASE), + /* K14 */ be_nested_str_weak(get_device_id), + /* K15 */ be_nested_str_weak(resize), + /* K16 */ be_nested_str_weak(AES_CCM), + /* K17 */ be_nested_str_weak(encrypt1), + /* K18 */ be_const_int(0), + /* K19 */ be_nested_str_weak(remote_ip), + /* K20 */ be_nested_str_weak(remote_port), + /* K21 */ be_nested_str_weak(flags), + /* K22 */ be_nested_str_weak(flag_s), + /* K23 */ be_nested_str_weak(flag_dsiz), + /* K24 */ be_const_int(3), + /* K25 */ be_nested_str_weak(local_session_id), + /* K26 */ be_const_int(2), + /* K27 */ be_nested_str_weak(sec_p), + /* K28 */ be_nested_str_weak(sec_c), + /* K29 */ be_nested_str_weak(sec_sesstype), + /* K30 */ be_nested_str_weak(source_node_id), + /* K31 */ be_nested_str_weak(dest_node_id_8), + /* K32 */ be_nested_str_weak(dest_node_id_2), + /* K33 */ be_nested_str_weak(x_flags), + /* K34 */ be_nested_str_weak(x_flag_v), + /* K35 */ be_nested_str_weak(x_flag_r), + /* K36 */ be_nested_str_weak(x_flag_a), + /* K37 */ be_nested_str_weak(x_flag_i), + /* K38 */ be_nested_str_weak(opcode), + /* K39 */ be_nested_str_weak(exchange_id), + /* K40 */ be_nested_str_weak(protocol_id), + /* K41 */ be_nested_str_weak(ack_message_counter), + /* K42 */ be_nested_str_weak(app_payload_idx), + /* K43 */ be_nested_str_weak(get), + /* K44 */ be_nested_str_weak(getbits), + /* K45 */ be_nested_str_weak(sec_mx), + /* K46 */ be_nested_str_weak(matter), + /* K47 */ be_nested_str_weak(Frame), + /* K48 */ be_nested_str_weak(decode_header), + /* K49 */ be_nested_str_weak(decode_payload), + /* K50 */ be_nested_str_weak(initiator_session_id), + /* K51 */ be_nested_str_weak(counter_snd_next), + /* K52 */ be_nested_str_weak(_counter_insecure_snd), + /* K53 */ be_nested_str_weak(next), + /* K54 */ be_nested_str_weak(get_opcode_name), + /* K55 */ be_nested_str_weak(0x_X2502X), + /* K56 */ be_nested_str_weak(log), + /* K57 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s), + /* K58 */ be_nested_str_weak(get_i2r), + /* K59 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X3E_X20Compute_X20Privacy_X20TODO), + /* K60 */ be_nested_str_weak(get_i2r_privacy), + /* K61 */ be_const_int(2147483647), + /* K62 */ be_nested_str_weak(AES_CTR), + /* K63 */ be_nested_str_weak(decrypt), + /* K64 */ be_nested_str_weak(peer_node_id), + /* K65 */ be_nested_str_weak(decrypt1), + /* K66 */ be_nested_str_weak(MTR_X3A_X20rejected_X20packet_X20due_X20to_X20invalid_X20MIC), + /* K67 */ be_const_class(be_class_Matter_Frame), + /* K68 */ be_nested_str_weak(_ip), + /* K69 */ be_nested_str_weak(_port), + /* K70 */ be_nested_str_weak(_exchange_id), + /* K71 */ be_nested_str_weak(x_flag_sx), + /* K72 */ be_nested_str_weak(vendor_id), +}; + + +extern const bclass be_class_Matter_Frame; + +/******************************************************************** +** Solidified function: get_node_id +********************************************************************/ +be_local_closure(class_Matter_Frame_get_node_id, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(get_node_id), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x8C040301, // 0003 GETMET R1 R1 K1 + 0x7C040200, // 0004 CALL R1 1 + 0x70020000, // 0005 JMP #0007 + 0x4C040000, // 0006 LDNIL R1 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: encrypt +********************************************************************/ +be_local_closure(class_Matter_Frame_encrypt, /* name */ + be_nested_proto( + 23, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(encrypt), + &be_const_str_solidified, + ( &(const binstruction[63]) { /* code */ + 0xA4060400, // 0000 IMPORT R1 K2 + 0x88080103, // 0001 GETMBR R2 R0 K3 + 0x880C0100, // 0002 GETMBR R3 R0 K0 + 0x88100104, // 0003 GETMBR R4 R0 K4 + 0x5416000F, // 0004 LDINT R5 16 + 0x8C180705, // 0005 GETMET R6 R3 K5 + 0x7C180200, // 0006 CALL R6 1 + 0x881C0106, // 0007 GETMBR R7 R0 K6 + 0x881C0F07, // 0008 GETMBR R7 R7 K7 + 0x8C200F08, // 0009 GETMET R8 R7 K8 + 0x7C200200, // 000A CALL R8 1 + 0x8C200F09, // 000B GETMET R8 R7 K9 + 0x8828010A, // 000C GETMBR R10 R0 K10 + 0x582C000B, // 000D LDCONST R11 K11 + 0x7C200600, // 000E CALL R8 3 + 0x8C200F09, // 000F GETMET R8 R7 K9 + 0x8828010C, // 0010 GETMBR R10 R0 K12 + 0x542E0003, // 0011 LDINT R11 4 + 0x7C200600, // 0012 CALL R8 3 + 0x8C20070D, // 0013 GETMET R8 R3 K13 + 0x7C200200, // 0014 CALL R8 1 + 0x78220005, // 0015 JMPF R8 #001C + 0x8C20070E, // 0016 GETMET R8 R3 K14 + 0x7C200200, // 0017 CALL R8 1 + 0x78220002, // 0018 JMPF R8 #001C + 0x8C20070E, // 0019 GETMET R8 R3 K14 + 0x7C200200, // 001A CALL R8 1 + 0x40200E08, // 001B CONNECT R8 R7 R8 + 0x8C200F0F, // 001C GETMET R8 R7 K15 + 0x542A000C, // 001D LDINT R10 13 + 0x7C200400, // 001E CALL R8 2 + 0x8C20050F, // 001F GETMET R8 R2 K15 + 0x6028000C, // 0020 GETGBL R10 G12 + 0x5C2C0400, // 0021 MOVE R11 R2 + 0x7C280200, // 0022 CALL R10 1 + 0x00281405, // 0023 ADD R10 R10 R5 + 0x7C200400, // 0024 CALL R8 2 + 0x88200310, // 0025 GETMBR R8 R1 K16 + 0x8C201111, // 0026 GETMET R8 R8 K17 + 0x5C280C00, // 0027 MOVE R10 R6 + 0x5C2C0E00, // 0028 MOVE R11 R7 + 0x58300012, // 0029 LDCONST R12 K18 + 0x6034000C, // 002A GETGBL R13 G12 + 0x5C380E00, // 002B MOVE R14 R7 + 0x7C340200, // 002C CALL R13 1 + 0x5C380400, // 002D MOVE R14 R2 + 0x583C0012, // 002E LDCONST R15 K18 + 0x5C400800, // 002F MOVE R16 R4 + 0x5C440400, // 0030 MOVE R17 R2 + 0x5C480800, // 0031 MOVE R18 R4 + 0x604C000C, // 0032 GETGBL R19 G12 + 0x5C500400, // 0033 MOVE R20 R2 + 0x7C4C0200, // 0034 CALL R19 1 + 0x044C2604, // 0035 SUB R19 R19 R4 + 0x044C2605, // 0036 SUB R19 R19 R5 + 0x5C500400, // 0037 MOVE R20 R2 + 0x6054000C, // 0038 GETGBL R21 G12 + 0x5C580400, // 0039 MOVE R22 R2 + 0x7C540200, // 003A CALL R21 1 + 0x04542A05, // 003B SUB R21 R21 R5 + 0x5C580A00, // 003C MOVE R22 R5 + 0x7C201C00, // 003D CALL R8 14 + 0x80000000, // 003E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Frame_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x90020602, // 0001 SETMBR R0 K3 R2 + 0x90022603, // 0002 SETMBR R0 K19 R3 + 0x90022804, // 0003 SETMBR R0 K20 R4 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: encode_frame +********************************************************************/ +be_local_closure(class_Matter_Frame_encode_frame, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(encode_frame), + &be_const_str_solidified, + ( &(const binstruction[161]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E000A, // 0002 JMPF R3 #000E + 0x600C0015, // 0003 GETGBL R3 G21 + 0x5412000F, // 0004 LDINT R4 16 + 0x78060003, // 0005 JMPF R1 #000A + 0x6014000C, // 0006 GETGBL R5 G12 + 0x5C180200, // 0007 MOVE R6 R1 + 0x7C140200, // 0008 CALL R5 1 + 0x70020000, // 0009 JMP #000B + 0x58140012, // 000A LDCONST R5 K18 + 0x00100805, // 000B ADD R4 R4 R5 + 0x7C0C0200, // 000C CALL R3 1 + 0x5C080600, // 000D MOVE R2 R3 + 0x880C0115, // 000E GETMBR R3 R0 K21 + 0x4C100000, // 000F LDNIL R4 + 0x1C0C0604, // 0010 EQ R3 R3 R4 + 0x780E000D, // 0011 JMPF R3 #0020 + 0x90022B12, // 0012 SETMBR R0 K21 K18 + 0x880C0116, // 0013 GETMBR R3 R0 K22 + 0x780E0003, // 0014 JMPF R3 #0019 + 0x880C0115, // 0015 GETMBR R3 R0 K21 + 0x54120003, // 0016 LDINT R4 4 + 0x300C0604, // 0017 OR R3 R3 R4 + 0x90022A03, // 0018 SETMBR R0 K21 R3 + 0x880C0117, // 0019 GETMBR R3 R0 K23 + 0x780E0004, // 001A JMPF R3 #0020 + 0x880C0115, // 001B GETMBR R3 R0 K21 + 0x88100117, // 001C GETMBR R4 R0 K23 + 0x2C100918, // 001D AND R4 R4 K24 + 0x300C0604, // 001E OR R3 R3 R4 + 0x90022A03, // 001F SETMBR R0 K21 R3 + 0x8C0C0509, // 0020 GETMET R3 R2 K9 + 0x88140115, // 0021 GETMBR R5 R0 K21 + 0x5818000B, // 0022 LDCONST R6 K11 + 0x7C0C0600, // 0023 CALL R3 3 + 0x8C0C0509, // 0024 GETMET R3 R2 K9 + 0x88140119, // 0025 GETMBR R5 R0 K25 + 0x78160001, // 0026 JMPF R5 #0029 + 0x88140119, // 0027 GETMBR R5 R0 K25 + 0x70020000, // 0028 JMP #002A + 0x58140012, // 0029 LDCONST R5 K18 + 0x5818001A, // 002A LDCONST R6 K26 + 0x7C0C0600, // 002B CALL R3 3 + 0x880C010A, // 002C GETMBR R3 R0 K10 + 0x4C100000, // 002D LDNIL R4 + 0x1C0C0604, // 002E EQ R3 R3 R4 + 0x780E0013, // 002F JMPF R3 #0044 + 0x90021512, // 0030 SETMBR R0 K10 K18 + 0x880C011B, // 0031 GETMBR R3 R0 K27 + 0x780E0003, // 0032 JMPF R3 #0037 + 0x880C010A, // 0033 GETMBR R3 R0 K10 + 0x5412007F, // 0034 LDINT R4 128 + 0x300C0604, // 0035 OR R3 R3 R4 + 0x90021403, // 0036 SETMBR R0 K10 R3 + 0x880C011C, // 0037 GETMBR R3 R0 K28 + 0x780E0003, // 0038 JMPF R3 #003D + 0x880C010A, // 0039 GETMBR R3 R0 K10 + 0x5412003F, // 003A LDINT R4 64 + 0x300C0604, // 003B OR R3 R3 R4 + 0x90021403, // 003C SETMBR R0 K10 R3 + 0x880C011D, // 003D GETMBR R3 R0 K29 + 0x780E0004, // 003E JMPF R3 #0044 + 0x880C010A, // 003F GETMBR R3 R0 K10 + 0x8810011D, // 0040 GETMBR R4 R0 K29 + 0x2C100918, // 0041 AND R4 R4 K24 + 0x300C0604, // 0042 OR R3 R3 R4 + 0x90021403, // 0043 SETMBR R0 K10 R3 + 0x8C0C0509, // 0044 GETMET R3 R2 K9 + 0x8814010A, // 0045 GETMBR R5 R0 K10 + 0x5818000B, // 0046 LDCONST R6 K11 + 0x7C0C0600, // 0047 CALL R3 3 + 0x8C0C0509, // 0048 GETMET R3 R2 K9 + 0x8814010C, // 0049 GETMBR R5 R0 K12 + 0x541A0003, // 004A LDINT R6 4 + 0x7C0C0600, // 004B CALL R3 3 + 0x880C0116, // 004C GETMBR R3 R0 K22 + 0x780E0001, // 004D JMPF R3 #0050 + 0x880C011E, // 004E GETMBR R3 R0 K30 + 0x400C0403, // 004F CONNECT R3 R2 R3 + 0x880C0117, // 0050 GETMBR R3 R0 K23 + 0x1C0C070B, // 0051 EQ R3 R3 K11 + 0x780E0001, // 0052 JMPF R3 #0055 + 0x880C011F, // 0053 GETMBR R3 R0 K31 + 0x400C0403, // 0054 CONNECT R3 R2 R3 + 0x880C0117, // 0055 GETMBR R3 R0 K23 + 0x1C0C071A, // 0056 EQ R3 R3 K26 + 0x780E0003, // 0057 JMPF R3 #005C + 0x8C0C0509, // 0058 GETMET R3 R2 K9 + 0x88140120, // 0059 GETMBR R5 R0 K32 + 0x5818001A, // 005A LDCONST R6 K26 + 0x7C0C0600, // 005B CALL R3 3 + 0x600C000C, // 005C GETGBL R3 G12 + 0x5C100400, // 005D MOVE R4 R2 + 0x7C0C0200, // 005E CALL R3 1 + 0x90020803, // 005F SETMBR R0 K4 R3 + 0x880C0121, // 0060 GETMBR R3 R0 K33 + 0x4C100000, // 0061 LDNIL R4 + 0x1C0C0604, // 0062 EQ R3 R3 R4 + 0x780E0016, // 0063 JMPF R3 #007B + 0x90024312, // 0064 SETMBR R0 K33 K18 + 0x880C0122, // 0065 GETMBR R3 R0 K34 + 0x780E0003, // 0066 JMPF R3 #006B + 0x880C0121, // 0067 GETMBR R3 R0 K33 + 0x5412000F, // 0068 LDINT R4 16 + 0x300C0604, // 0069 OR R3 R3 R4 + 0x90024203, // 006A SETMBR R0 K33 R3 + 0x880C0123, // 006B GETMBR R3 R0 K35 + 0x780E0003, // 006C JMPF R3 #0071 + 0x880C0121, // 006D GETMBR R3 R0 K33 + 0x54120003, // 006E LDINT R4 4 + 0x300C0604, // 006F OR R3 R3 R4 + 0x90024203, // 0070 SETMBR R0 K33 R3 + 0x880C0124, // 0071 GETMBR R3 R0 K36 + 0x780E0002, // 0072 JMPF R3 #0076 + 0x880C0121, // 0073 GETMBR R3 R0 K33 + 0x300C071A, // 0074 OR R3 R3 K26 + 0x90024203, // 0075 SETMBR R0 K33 R3 + 0x880C0125, // 0076 GETMBR R3 R0 K37 + 0x780E0002, // 0077 JMPF R3 #007B + 0x880C0121, // 0078 GETMBR R3 R0 K33 + 0x300C070B, // 0079 OR R3 R3 K11 + 0x90024203, // 007A SETMBR R0 K33 R3 + 0x8C0C0509, // 007B GETMET R3 R2 K9 + 0x88140121, // 007C GETMBR R5 R0 K33 + 0x5818000B, // 007D LDCONST R6 K11 + 0x7C0C0600, // 007E CALL R3 3 + 0x8C0C0509, // 007F GETMET R3 R2 K9 + 0x88140126, // 0080 GETMBR R5 R0 K38 + 0x5818000B, // 0081 LDCONST R6 K11 + 0x7C0C0600, // 0082 CALL R3 3 + 0x8C0C0509, // 0083 GETMET R3 R2 K9 + 0x88140127, // 0084 GETMBR R5 R0 K39 + 0x4C180000, // 0085 LDNIL R6 + 0x20140A06, // 0086 NE R5 R5 R6 + 0x78160003, // 0087 JMPF R5 #008C + 0x88140127, // 0088 GETMBR R5 R0 K39 + 0x541AFFFE, // 0089 LDINT R6 65535 + 0x2C140A06, // 008A AND R5 R5 R6 + 0x70020000, // 008B JMP #008D + 0x58140012, // 008C LDCONST R5 K18 + 0x5818001A, // 008D LDCONST R6 K26 + 0x7C0C0600, // 008E CALL R3 3 + 0x8C0C0509, // 008F GETMET R3 R2 K9 + 0x88140128, // 0090 GETMBR R5 R0 K40 + 0x5818001A, // 0091 LDCONST R6 K26 + 0x7C0C0600, // 0092 CALL R3 3 + 0x880C0124, // 0093 GETMBR R3 R0 K36 + 0x780E0003, // 0094 JMPF R3 #0099 + 0x8C0C0509, // 0095 GETMET R3 R2 K9 + 0x88140129, // 0096 GETMBR R5 R0 K41 + 0x541A0003, // 0097 LDINT R6 4 + 0x7C0C0600, // 0098 CALL R3 3 + 0x600C000C, // 0099 GETGBL R3 G12 + 0x5C100400, // 009A MOVE R4 R2 + 0x7C0C0200, // 009B CALL R3 1 + 0x90025403, // 009C SETMBR R0 K42 R3 + 0x78060000, // 009D JMPF R1 #009F + 0x400C0401, // 009E CONNECT R3 R2 R1 + 0x90020602, // 009F SETMBR R0 K3 R2 + 0x80040400, // 00A0 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: decode_header +********************************************************************/ +be_local_closure(class_Matter_Frame_decode_header, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(decode_header), + &be_const_str_solidified, + ( &(const binstruction[121]) { /* code */ + 0x58040012, // 0000 LDCONST R1 K18 + 0x88080103, // 0001 GETMBR R2 R0 K3 + 0x8C0C052B, // 0002 GETMET R3 R2 K43 + 0x58140012, // 0003 LDCONST R5 K18 + 0x5818000B, // 0004 LDCONST R6 K11 + 0x7C0C0600, // 0005 CALL R3 3 + 0x90022A03, // 0006 SETMBR R0 K21 R3 + 0x880C0115, // 0007 GETMBR R3 R0 K21 + 0x541200F7, // 0008 LDINT R4 248 + 0x2C0C0604, // 0009 AND R3 R3 R4 + 0x200C0712, // 000A NE R3 R3 K18 + 0x780E0001, // 000B JMPF R3 #000E + 0x500C0000, // 000C LDBOOL R3 0 0 + 0x80040600, // 000D RET 1 R3 + 0x8C0C052C, // 000E GETMET R3 R2 K44 + 0x5814001A, // 000F LDCONST R5 K26 + 0x5818000B, // 0010 LDCONST R6 K11 + 0x7C0C0600, // 0011 CALL R3 3 + 0x90022C03, // 0012 SETMBR R0 K22 R3 + 0x8C0C052C, // 0013 GETMET R3 R2 K44 + 0x58140012, // 0014 LDCONST R5 K18 + 0x5818001A, // 0015 LDCONST R6 K26 + 0x7C0C0600, // 0016 CALL R3 3 + 0x90022E03, // 0017 SETMBR R0 K23 R3 + 0x880C0117, // 0018 GETMBR R3 R0 K23 + 0x1C0C0718, // 0019 EQ R3 R3 K24 + 0x780E0001, // 001A JMPF R3 #001D + 0x500C0000, // 001B LDBOOL R3 0 0 + 0x80040600, // 001C RET 1 R3 + 0x8C0C052B, // 001D GETMET R3 R2 K43 + 0x58140018, // 001E LDCONST R5 K24 + 0x5818000B, // 001F LDCONST R6 K11 + 0x7C0C0600, // 0020 CALL R3 3 + 0x90021403, // 0021 SETMBR R0 K10 R3 + 0x8C0C052C, // 0022 GETMET R3 R2 K44 + 0x54160007, // 0023 LDINT R5 8 + 0x08163005, // 0024 MUL R5 K24 R5 + 0x541A0006, // 0025 LDINT R6 7 + 0x00140A06, // 0026 ADD R5 R5 R6 + 0x5818000B, // 0027 LDCONST R6 K11 + 0x7C0C0600, // 0028 CALL R3 3 + 0x90023603, // 0029 SETMBR R0 K27 R3 + 0x8C0C052C, // 002A GETMET R3 R2 K44 + 0x54160007, // 002B LDINT R5 8 + 0x08163005, // 002C MUL R5 K24 R5 + 0x541A0005, // 002D LDINT R6 6 + 0x00140A06, // 002E ADD R5 R5 R6 + 0x5818000B, // 002F LDCONST R6 K11 + 0x7C0C0600, // 0030 CALL R3 3 + 0x90023803, // 0031 SETMBR R0 K28 R3 + 0x8C0C052C, // 0032 GETMET R3 R2 K44 + 0x54160007, // 0033 LDINT R5 8 + 0x08163005, // 0034 MUL R5 K24 R5 + 0x541A0004, // 0035 LDINT R6 5 + 0x00140A06, // 0036 ADD R5 R5 R6 + 0x5818000B, // 0037 LDCONST R6 K11 + 0x7C0C0600, // 0038 CALL R3 3 + 0x90025A03, // 0039 SETMBR R0 K45 R3 + 0x8C0C052C, // 003A GETMET R3 R2 K44 + 0x54160007, // 003B LDINT R5 8 + 0x08163005, // 003C MUL R5 K24 R5 + 0x5818001A, // 003D LDCONST R6 K26 + 0x7C0C0600, // 003E CALL R3 3 + 0x90023A03, // 003F SETMBR R0 K29 R3 + 0x880C011D, // 0040 GETMBR R3 R0 K29 + 0x240C070B, // 0041 GT R3 R3 K11 + 0x780E0001, // 0042 JMPF R3 #0045 + 0x500C0000, // 0043 LDBOOL R3 0 0 + 0x80040600, // 0044 RET 1 R3 + 0x8C0C052B, // 0045 GETMET R3 R2 K43 + 0x5814000B, // 0046 LDCONST R5 K11 + 0x5818001A, // 0047 LDCONST R6 K26 + 0x7C0C0600, // 0048 CALL R3 3 + 0x90023203, // 0049 SETMBR R0 K25 R3 + 0x8C0C052B, // 004A GETMET R3 R2 K43 + 0x54160003, // 004B LDINT R5 4 + 0x541A0003, // 004C LDINT R6 4 + 0x7C0C0600, // 004D CALL R3 3 + 0x90021803, // 004E SETMBR R0 K12 R3 + 0x540E0007, // 004F LDINT R3 8 + 0x00040203, // 0050 ADD R1 R1 R3 + 0x880C0116, // 0051 GETMBR R3 R0 K22 + 0x780E0006, // 0052 JMPF R3 #005A + 0x540E0006, // 0053 LDINT R3 7 + 0x000C0203, // 0054 ADD R3 R1 R3 + 0x400C0203, // 0055 CONNECT R3 R1 R3 + 0x940C0403, // 0056 GETIDX R3 R2 R3 + 0x90023C03, // 0057 SETMBR R0 K30 R3 + 0x540E0007, // 0058 LDINT R3 8 + 0x00040203, // 0059 ADD R1 R1 R3 + 0x880C0117, // 005A GETMBR R3 R0 K23 + 0x1C0C070B, // 005B EQ R3 R3 K11 + 0x780E0007, // 005C JMPF R3 #0065 + 0x540E0006, // 005D LDINT R3 7 + 0x000C0203, // 005E ADD R3 R1 R3 + 0x400C0203, // 005F CONNECT R3 R1 R3 + 0x940C0403, // 0060 GETIDX R3 R2 R3 + 0x90023E03, // 0061 SETMBR R0 K31 R3 + 0x540E0007, // 0062 LDINT R3 8 + 0x00040203, // 0063 ADD R1 R1 R3 + 0x70020008, // 0064 JMP #006E + 0x880C0117, // 0065 GETMBR R3 R0 K23 + 0x1C0C071A, // 0066 EQ R3 R3 K26 + 0x780E0005, // 0067 JMPF R3 #006E + 0x8C0C052B, // 0068 GETMET R3 R2 K43 + 0x5C140200, // 0069 MOVE R5 R1 + 0x5818001A, // 006A LDCONST R6 K26 + 0x7C0C0600, // 006B CALL R3 3 + 0x90024003, // 006C SETMBR R0 K32 R3 + 0x0004031A, // 006D ADD R1 R1 K26 + 0x880C012D, // 006E GETMBR R3 R0 K45 + 0x780E0005, // 006F JMPF R3 #0076 + 0x8C0C052B, // 0070 GETMET R3 R2 K43 + 0x5C140200, // 0071 MOVE R5 R1 + 0x5818001A, // 0072 LDCONST R6 K26 + 0x7C0C0600, // 0073 CALL R3 3 + 0x0010071A, // 0074 ADD R4 R3 K26 + 0x00040204, // 0075 ADD R1 R1 R4 + 0x90020801, // 0076 SETMBR R0 K4 R1 + 0x500C0200, // 0077 LDBOOL R3 1 0 + 0x80040600, // 0078 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: debug +********************************************************************/ +be_local_closure(class_Matter_Frame_debug, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(debug), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x80000400, // 0000 RET 0 + 0xB80A5C00, // 0001 GETNGBL R2 K46 + 0x8C08052F, // 0002 GETMET R2 R2 K47 + 0x88100106, // 0003 GETMBR R4 R0 K6 + 0x5C140200, // 0004 MOVE R5 R1 + 0x7C080600, // 0005 CALL R2 3 + 0x8C0C0530, // 0006 GETMET R3 R2 K48 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C0C0531, // 0008 GETMET R3 R2 K49 + 0x7C0C0200, // 0009 CALL R3 1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: build_response +********************************************************************/ +be_local_closure(class_Matter_Frame_build_response, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(build_response), + &be_const_str_solidified, + ( &(const binstruction[90]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120005, // 0002 JMPF R4 #0009 + 0x60100006, // 0003 GETGBL R4 G6 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C100200, // 0005 CALL R4 1 + 0x88140106, // 0006 GETMBR R5 R0 K6 + 0x7C100200, // 0007 CALL R4 1 + 0x5C0C0800, // 0008 MOVE R3 R4 + 0x88100113, // 0009 GETMBR R4 R0 K19 + 0x900E2604, // 000A SETMBR R3 K19 R4 + 0x88100114, // 000B GETMBR R4 R0 K20 + 0x900E2804, // 000C SETMBR R3 K20 R4 + 0x88100116, // 000D GETMBR R4 R0 K22 + 0x78120003, // 000E JMPF R4 #0013 + 0x900E2F0B, // 000F SETMBR R3 K23 K11 + 0x8810011E, // 0010 GETMBR R4 R0 K30 + 0x900E3E04, // 0011 SETMBR R3 K31 R4 + 0x70020000, // 0012 JMP #0014 + 0x900E2F12, // 0013 SETMBR R3 K23 K18 + 0x88100100, // 0014 GETMBR R4 R0 K0 + 0x900E0004, // 0015 SETMBR R3 K0 R4 + 0x88100119, // 0016 GETMBR R4 R0 K25 + 0x20100912, // 0017 NE R4 R4 K18 + 0x7812000D, // 0018 JMPF R4 #0027 + 0x88100100, // 0019 GETMBR R4 R0 K0 + 0x7812000B, // 001A JMPF R4 #0027 + 0x88100100, // 001B GETMBR R4 R0 K0 + 0x88100932, // 001C GETMBR R4 R4 K50 + 0x20100912, // 001D NE R4 R4 K18 + 0x78120007, // 001E JMPF R4 #0027 + 0x88100100, // 001F GETMBR R4 R0 K0 + 0x8C100933, // 0020 GETMET R4 R4 K51 + 0x7C100200, // 0021 CALL R4 1 + 0x900E1804, // 0022 SETMBR R3 K12 R4 + 0x88100100, // 0023 GETMBR R4 R0 K0 + 0x88100932, // 0024 GETMBR R4 R4 K50 + 0x900E3204, // 0025 SETMBR R3 K25 R4 + 0x70020005, // 0026 JMP #002D + 0x88100100, // 0027 GETMBR R4 R0 K0 + 0x88100934, // 0028 GETMBR R4 R4 K52 + 0x8C100935, // 0029 GETMET R4 R4 K53 + 0x7C100200, // 002A CALL R4 1 + 0x900E1804, // 002B SETMBR R3 K12 R4 + 0x900E3312, // 002C SETMBR R3 K25 K18 + 0x88100125, // 002D GETMBR R4 R0 K37 + 0x78120001, // 002E JMPF R4 #0031 + 0x58100012, // 002F LDCONST R4 K18 + 0x70020000, // 0030 JMP #0032 + 0x5810000B, // 0031 LDCONST R4 K11 + 0x900E4A04, // 0032 SETMBR R3 K37 R4 + 0x900E4C01, // 0033 SETMBR R3 K38 R1 + 0x88100127, // 0034 GETMBR R4 R0 K39 + 0x900E4E04, // 0035 SETMBR R3 K39 R4 + 0x88100128, // 0036 GETMBR R4 R0 K40 + 0x900E5004, // 0037 SETMBR R3 K40 R4 + 0x88100123, // 0038 GETMBR R4 R0 K35 + 0x78120002, // 0039 JMPF R4 #003D + 0x900E490B, // 003A SETMBR R3 K36 K11 + 0x8810010C, // 003B GETMBR R4 R0 K12 + 0x900E5204, // 003C SETMBR R3 K41 R4 + 0x780A0001, // 003D JMPF R2 #0040 + 0x5810000B, // 003E LDCONST R4 K11 + 0x70020000, // 003F JMP #0041 + 0x58100012, // 0040 LDCONST R4 K18 + 0x900E4604, // 0041 SETMBR R3 K35 R4 + 0x88100719, // 0042 GETMBR R4 R3 K25 + 0x1C100912, // 0043 EQ R4 R4 K18 + 0x78120013, // 0044 JMPF R4 #0059 + 0xB8125C00, // 0045 GETNGBL R4 K46 + 0x8C100936, // 0046 GETMET R4 R4 K54 + 0x88180726, // 0047 GETMBR R6 R3 K38 + 0x7C100400, // 0048 CALL R4 2 + 0x5C140800, // 0049 MOVE R5 R4 + 0x74160004, // 004A JMPT R5 #0050 + 0x60140018, // 004B GETGBL R5 G24 + 0x58180037, // 004C LDCONST R6 K55 + 0x881C0726, // 004D GETMBR R7 R3 K38 + 0x7C140400, // 004E CALL R5 2 + 0x5C100A00, // 004F MOVE R4 R5 + 0xB8167000, // 0050 GETNGBL R5 K56 + 0x60180018, // 0051 GETGBL R6 G24 + 0x581C0039, // 0052 LDCONST R7 K57 + 0x88200700, // 0053 GETMBR R8 R3 K0 + 0x88201119, // 0054 GETMBR R8 R8 K25 + 0x5C240800, // 0055 MOVE R9 R4 + 0x7C180600, // 0056 CALL R6 3 + 0x581C0018, // 0057 LDCONST R7 K24 + 0x7C140400, // 0058 CALL R5 2 + 0x80040600, // 0059 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: decrypt +********************************************************************/ +be_local_closure(class_Matter_Frame_decrypt, /* name */ + be_nested_proto( + 23, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(decrypt), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0xA4060400, // 0000 IMPORT R1 K2 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x880C0103, // 0002 GETMBR R3 R0 K3 + 0x88100104, // 0003 GETMBR R4 R0 K4 + 0x5416000F, // 0004 LDINT R5 16 + 0x8C18053A, // 0005 GETMET R6 R2 K58 + 0x7C180200, // 0006 CALL R6 1 + 0x881C011B, // 0007 GETMBR R7 R0 K27 + 0x781E002B, // 0008 JMPF R7 #0035 + 0xB81E7000, // 0009 GETNGBL R7 K56 + 0x5820003B, // 000A LDCONST R8 K59 + 0x5824001A, // 000B LDCONST R9 K26 + 0x7C1C0400, // 000C CALL R7 2 + 0x8C1C053C, // 000D GETMET R7 R2 K60 + 0x7C1C0200, // 000E CALL R7 1 + 0x5421FFEF, // 000F LDINT R8 -16 + 0x4020113D, // 0010 CONNECT R8 R8 K61 + 0x94200608, // 0011 GETIDX R8 R3 R8 + 0x60240015, // 0012 GETGBL R9 G21 + 0x7C240000, // 0013 CALL R9 0 + 0x8C241309, // 0014 GETMET R9 R9 K9 + 0x882C0119, // 0015 GETMBR R11 R0 K25 + 0x5431FFFD, // 0016 LDINT R12 -2 + 0x7C240600, // 0017 CALL R9 3 + 0x542A0004, // 0018 LDINT R10 5 + 0x542E000E, // 0019 LDINT R11 15 + 0x4028140B, // 001A CONNECT R10 R10 R11 + 0x9428100A, // 001B GETIDX R10 R8 R10 + 0x0024120A, // 001C ADD R9 R9 R10 + 0x542A0003, // 001D LDINT R10 4 + 0x882C0104, // 001E GETMBR R11 R0 K4 + 0x042C170B, // 001F SUB R11 R11 K11 + 0x4028140B, // 0020 CONNECT R10 R10 R11 + 0x882C0103, // 0021 GETMBR R11 R0 K3 + 0x9428160A, // 0022 GETIDX R10 R11 R10 + 0x8C30033E, // 0023 GETMET R12 R1 K62 + 0x5C380E00, // 0024 MOVE R14 R7 + 0x7C300400, // 0025 CALL R12 2 + 0x8C30193F, // 0026 GETMET R12 R12 K63 + 0x5C381400, // 0027 MOVE R14 R10 + 0x5C3C1200, // 0028 MOVE R15 R9 + 0x5840001A, // 0029 LDCONST R16 K26 + 0x7C300800, // 002A CALL R12 4 + 0x5C2C1800, // 002B MOVE R11 R12 + 0x40322518, // 002C CONNECT R12 K18 K24 + 0x88340103, // 002D GETMBR R13 R0 K3 + 0x94301A0C, // 002E GETIDX R12 R13 R12 + 0x0030180B, // 002F ADD R12 R12 R11 + 0x88340104, // 0030 GETMBR R13 R0 K4 + 0x40341B3D, // 0031 CONNECT R13 R13 K61 + 0x9434140D, // 0032 GETIDX R13 R10 R13 + 0x0030180D, // 0033 ADD R12 R12 R13 + 0x9002060C, // 0034 SETMBR R0 K3 R12 + 0x881C0106, // 0035 GETMBR R7 R0 K6 + 0x881C0F07, // 0036 GETMBR R7 R7 K7 + 0x8C200F08, // 0037 GETMET R8 R7 K8 + 0x7C200200, // 0038 CALL R8 1 + 0x8C200F09, // 0039 GETMET R8 R7 K9 + 0x8828010A, // 003A GETMBR R10 R0 K10 + 0x582C000B, // 003B LDCONST R11 K11 + 0x7C200600, // 003C CALL R8 3 + 0x8C200F09, // 003D GETMET R8 R7 K9 + 0x8828010C, // 003E GETMBR R10 R0 K12 + 0x542E0003, // 003F LDINT R11 4 + 0x7C200600, // 0040 CALL R8 3 + 0x8820011E, // 0041 GETMBR R8 R0 K30 + 0x78220002, // 0042 JMPF R8 #0046 + 0x8820011E, // 0043 GETMBR R8 R0 K30 + 0x40200E08, // 0044 CONNECT R8 R7 R8 + 0x70020006, // 0045 JMP #004D + 0x88200540, // 0046 GETMBR R8 R2 K64 + 0x78220001, // 0047 JMPF R8 #004A + 0x88200540, // 0048 GETMBR R8 R2 K64 + 0x40200E08, // 0049 CONNECT R8 R7 R8 + 0x8C200F0F, // 004A GETMET R8 R7 K15 + 0x542A000C, // 004B LDINT R10 13 + 0x7C200400, // 004C CALL R8 2 + 0x88200310, // 004D GETMBR R8 R1 K16 + 0x8C201141, // 004E GETMET R8 R8 K65 + 0x5C280C00, // 004F MOVE R10 R6 + 0x5C2C0E00, // 0050 MOVE R11 R7 + 0x58300012, // 0051 LDCONST R12 K18 + 0x6034000C, // 0052 GETGBL R13 G12 + 0x5C380E00, // 0053 MOVE R14 R7 + 0x7C340200, // 0054 CALL R13 1 + 0x5C380600, // 0055 MOVE R14 R3 + 0x583C0012, // 0056 LDCONST R15 K18 + 0x5C400800, // 0057 MOVE R16 R4 + 0x5C440600, // 0058 MOVE R17 R3 + 0x5C480800, // 0059 MOVE R18 R4 + 0x604C000C, // 005A GETGBL R19 G12 + 0x5C500600, // 005B MOVE R20 R3 + 0x7C4C0200, // 005C CALL R19 1 + 0x044C2604, // 005D SUB R19 R19 R4 + 0x044C2605, // 005E SUB R19 R19 R5 + 0x5C500600, // 005F MOVE R20 R3 + 0x6054000C, // 0060 GETGBL R21 G12 + 0x5C580600, // 0061 MOVE R22 R3 + 0x7C540200, // 0062 CALL R21 1 + 0x04542A05, // 0063 SUB R21 R21 R5 + 0x5C580A00, // 0064 MOVE R22 R5 + 0x7C201C00, // 0065 CALL R8 14 + 0x78220006, // 0066 JMPF R8 #006E + 0x8C24070F, // 0067 GETMET R9 R3 K15 + 0x602C000C, // 0068 GETGBL R11 G12 + 0x5C300600, // 0069 MOVE R12 R3 + 0x7C2C0200, // 006A CALL R11 1 + 0x042C1605, // 006B SUB R11 R11 R5 + 0x7C240400, // 006C CALL R9 2 + 0x70020003, // 006D JMP #0072 + 0xB8267000, // 006E GETNGBL R9 K56 + 0x58280042, // 006F LDCONST R10 K66 + 0x582C0018, // 0070 LDCONST R11 K24 + 0x7C240400, // 0071 CALL R9 2 + 0x80041000, // 0072 RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: build_standalone_ack +********************************************************************/ +be_local_closure(class_Matter_Frame_build_standalone_ack, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(build_standalone_ack), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x60080006, // 0000 GETGBL R2 G6 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x880C0106, // 0003 GETMBR R3 R0 K6 + 0x7C080200, // 0004 CALL R2 1 + 0x880C0113, // 0005 GETMBR R3 R0 K19 + 0x900A2603, // 0006 SETMBR R2 K19 R3 + 0x880C0114, // 0007 GETMBR R3 R0 K20 + 0x900A2803, // 0008 SETMBR R2 K20 R3 + 0x880C0116, // 0009 GETMBR R3 R0 K22 + 0x780E0003, // 000A JMPF R3 #000F + 0x900A2F0B, // 000B SETMBR R2 K23 K11 + 0x880C011E, // 000C GETMBR R3 R0 K30 + 0x900A3E03, // 000D SETMBR R2 K31 R3 + 0x70020000, // 000E JMP #0010 + 0x900A2F12, // 000F SETMBR R2 K23 K18 + 0x880C0100, // 0010 GETMBR R3 R0 K0 + 0x900A0003, // 0011 SETMBR R2 K0 R3 + 0x880C0100, // 0012 GETMBR R3 R0 K0 + 0x8C0C0733, // 0013 GETMET R3 R3 K51 + 0x7C0C0200, // 0014 CALL R3 1 + 0x900A1803, // 0015 SETMBR R2 K12 R3 + 0x880C0100, // 0016 GETMBR R3 R0 K0 + 0x880C0732, // 0017 GETMBR R3 R3 K50 + 0x900A3203, // 0018 SETMBR R2 K25 R3 + 0x880C0125, // 0019 GETMBR R3 R0 K37 + 0x780E0001, // 001A JMPF R3 #001D + 0x580C0012, // 001B LDCONST R3 K18 + 0x70020000, // 001C JMP #001E + 0x580C000B, // 001D LDCONST R3 K11 + 0x900A4A03, // 001E SETMBR R2 K37 R3 + 0x540E000F, // 001F LDINT R3 16 + 0x900A4C03, // 0020 SETMBR R2 K38 R3 + 0x880C0127, // 0021 GETMBR R3 R0 K39 + 0x900A4E03, // 0022 SETMBR R2 K39 R3 + 0x900A5112, // 0023 SETMBR R2 K40 K18 + 0x900A490B, // 0024 SETMBR R2 K36 K11 + 0x880C010C, // 0025 GETMBR R3 R0 K12 + 0x900A5203, // 0026 SETMBR R2 K41 R3 + 0x78060001, // 0027 JMPF R1 #002A + 0x580C000B, // 0028 LDCONST R3 K11 + 0x70020000, // 0029 JMP #002B + 0x580C0012, // 002A LDCONST R3 K18 + 0x900A4603, // 002B SETMBR R2 K35 R3 + 0x80040400, // 002C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: initiate_response +********************************************************************/ +be_local_closure(class_Matter_Frame_initiate_response, /* name */ + be_nested_proto( + 9, /* nstack */ + 5, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(initiate_response), + &be_const_str_solidified, + ( &(const binstruction[46]) { /* code */ + 0x58140043, // 0000 LDCONST R5 K67 + 0x4C180000, // 0001 LDNIL R6 + 0x1C180806, // 0002 EQ R6 R4 R6 + 0x781A0004, // 0003 JMPF R6 #0009 + 0xB81A5C00, // 0004 GETNGBL R6 K46 + 0x8C180D2F, // 0005 GETMET R6 R6 K47 + 0x5C200000, // 0006 MOVE R8 R0 + 0x7C180400, // 0007 CALL R6 2 + 0x5C100C00, // 0008 MOVE R4 R6 + 0x88180344, // 0009 GETMBR R6 R1 K68 + 0x90122606, // 000A SETMBR R4 K19 R6 + 0x88180345, // 000B GETMBR R6 R1 K69 + 0x90122806, // 000C SETMBR R4 K20 R6 + 0x90122F12, // 000D SETMBR R4 K23 K18 + 0x90120001, // 000E SETMBR R4 K0 R1 + 0x78060008, // 000F JMPF R1 #0019 + 0x88180332, // 0010 GETMBR R6 R1 K50 + 0x20180D12, // 0011 NE R6 R6 K18 + 0x781A0005, // 0012 JMPF R6 #0019 + 0x8C180333, // 0013 GETMET R6 R1 K51 + 0x7C180200, // 0014 CALL R6 1 + 0x90121806, // 0015 SETMBR R4 K12 R6 + 0x88180332, // 0016 GETMBR R6 R1 K50 + 0x90123206, // 0017 SETMBR R4 K25 R6 + 0x70020004, // 0018 JMP #001E + 0x88180334, // 0019 GETMBR R6 R1 K52 + 0x8C180D35, // 001A GETMET R6 R6 K53 + 0x7C180200, // 001B CALL R6 1 + 0x90121806, // 001C SETMBR R4 K12 R6 + 0x90123312, // 001D SETMBR R4 K25 K18 + 0x90124B0B, // 001E SETMBR R4 K37 K11 + 0x90124C02, // 001F SETMBR R4 K38 R2 + 0x88180346, // 0020 GETMBR R6 R1 K70 + 0x00180D0B, // 0021 ADD R6 R6 K11 + 0x90068C06, // 0022 SETMBR R1 K70 R6 + 0x88180346, // 0023 GETMBR R6 R1 K70 + 0x541EFFFF, // 0024 LDINT R7 65536 + 0x30180C07, // 0025 OR R6 R6 R7 + 0x90124E06, // 0026 SETMBR R4 K39 R6 + 0x9012510B, // 0027 SETMBR R4 K40 K11 + 0x780E0001, // 0028 JMPF R3 #002B + 0x5818000B, // 0029 LDCONST R6 K11 + 0x70020000, // 002A JMP #002C + 0x58180012, // 002B LDCONST R6 K18 + 0x90124606, // 002C SETMBR R4 K35 R6 + 0x80040800, // 002D RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: decode_payload +********************************************************************/ +be_local_closure(class_Matter_Frame_decode_payload, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Frame, /* shared constants */ + be_str_weak(decode_payload), + &be_const_str_solidified, + ( &(const binstruction[93]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x88080103, // 0001 GETMBR R2 R0 K3 + 0x8C0C052B, // 0002 GETMET R3 R2 K43 + 0x5C140200, // 0003 MOVE R5 R1 + 0x5818000B, // 0004 LDCONST R6 K11 + 0x7C0C0600, // 0005 CALL R3 3 + 0x90024203, // 0006 SETMBR R0 K33 R3 + 0x8C0C052C, // 0007 GETMET R3 R2 K44 + 0x54160007, // 0008 LDINT R5 8 + 0x08140205, // 0009 MUL R5 R1 R5 + 0x541A0003, // 000A LDINT R6 4 + 0x00140A06, // 000B ADD R5 R5 R6 + 0x5818000B, // 000C LDCONST R6 K11 + 0x7C0C0600, // 000D CALL R3 3 + 0x90024403, // 000E SETMBR R0 K34 R3 + 0x8C0C052C, // 000F GETMET R3 R2 K44 + 0x54160007, // 0010 LDINT R5 8 + 0x08140205, // 0011 MUL R5 R1 R5 + 0x00140B18, // 0012 ADD R5 R5 K24 + 0x5818000B, // 0013 LDCONST R6 K11 + 0x7C0C0600, // 0014 CALL R3 3 + 0x90028E03, // 0015 SETMBR R0 K71 R3 + 0x8C0C052C, // 0016 GETMET R3 R2 K44 + 0x54160007, // 0017 LDINT R5 8 + 0x08140205, // 0018 MUL R5 R1 R5 + 0x00140B1A, // 0019 ADD R5 R5 K26 + 0x5818000B, // 001A LDCONST R6 K11 + 0x7C0C0600, // 001B CALL R3 3 + 0x90024603, // 001C SETMBR R0 K35 R3 + 0x8C0C052C, // 001D GETMET R3 R2 K44 + 0x54160007, // 001E LDINT R5 8 + 0x08140205, // 001F MUL R5 R1 R5 + 0x00140B0B, // 0020 ADD R5 R5 K11 + 0x5818000B, // 0021 LDCONST R6 K11 + 0x7C0C0600, // 0022 CALL R3 3 + 0x90024803, // 0023 SETMBR R0 K36 R3 + 0x8C0C052C, // 0024 GETMET R3 R2 K44 + 0x54160007, // 0025 LDINT R5 8 + 0x08140205, // 0026 MUL R5 R1 R5 + 0x5818000B, // 0027 LDCONST R6 K11 + 0x7C0C0600, // 0028 CALL R3 3 + 0x90024A03, // 0029 SETMBR R0 K37 R3 + 0x8C0C052B, // 002A GETMET R3 R2 K43 + 0x0014030B, // 002B ADD R5 R1 K11 + 0x5818000B, // 002C LDCONST R6 K11 + 0x7C0C0600, // 002D CALL R3 3 + 0x90024C03, // 002E SETMBR R0 K38 R3 + 0x8C0C052B, // 002F GETMET R3 R2 K43 + 0x0014031A, // 0030 ADD R5 R1 K26 + 0x5818001A, // 0031 LDCONST R6 K26 + 0x7C0C0600, // 0032 CALL R3 3 + 0x90024E03, // 0033 SETMBR R0 K39 R3 + 0x880C0125, // 0034 GETMBR R3 R0 K37 + 0x740E0003, // 0035 JMPT R3 #003A + 0x880C0127, // 0036 GETMBR R3 R0 K39 + 0x5412FFFF, // 0037 LDINT R4 65536 + 0x300C0604, // 0038 OR R3 R3 R4 + 0x90024E03, // 0039 SETMBR R0 K39 R3 + 0x8C0C052B, // 003A GETMET R3 R2 K43 + 0x54160003, // 003B LDINT R5 4 + 0x00140205, // 003C ADD R5 R1 R5 + 0x5818001A, // 003D LDCONST R6 K26 + 0x7C0C0600, // 003E CALL R3 3 + 0x90025003, // 003F SETMBR R0 K40 R3 + 0x540E0005, // 0040 LDINT R3 6 + 0x00040203, // 0041 ADD R1 R1 R3 + 0x880C0122, // 0042 GETMBR R3 R0 K34 + 0x780E0005, // 0043 JMPF R3 #004A + 0x8C0C052B, // 0044 GETMET R3 R2 K43 + 0x5C140200, // 0045 MOVE R5 R1 + 0x5818001A, // 0046 LDCONST R6 K26 + 0x7C0C0600, // 0047 CALL R3 3 + 0x90029003, // 0048 SETMBR R0 K72 R3 + 0x0004031A, // 0049 ADD R1 R1 K26 + 0x880C0124, // 004A GETMBR R3 R0 K36 + 0x780E0006, // 004B JMPF R3 #0053 + 0x8C0C052B, // 004C GETMET R3 R2 K43 + 0x5C140200, // 004D MOVE R5 R1 + 0x541A0003, // 004E LDINT R6 4 + 0x7C0C0600, // 004F CALL R3 3 + 0x90025203, // 0050 SETMBR R0 K41 R3 + 0x540E0003, // 0051 LDINT R3 4 + 0x00040203, // 0052 ADD R1 R1 R3 + 0x880C0147, // 0053 GETMBR R3 R0 K71 + 0x780E0005, // 0054 JMPF R3 #005B + 0x8C0C052B, // 0055 GETMET R3 R2 K43 + 0x5C140200, // 0056 MOVE R5 R1 + 0x5818001A, // 0057 LDCONST R6 K26 + 0x7C0C0600, // 0058 CALL R3 3 + 0x0010071A, // 0059 ADD R4 R3 K26 + 0x00040204, // 005A ADD R1 R1 R4 + 0x90025401, // 005B SETMBR R0 K42 R1 + 0x80040000, // 005C RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Frame +********************************************************************/ +be_local_class(Matter_Frame, + 32, + NULL, + be_nested_map(43, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(decode_payload, 35), be_const_closure(class_Matter_Frame_decode_payload_closure) }, + { be_const_key_weak(raw, -1), be_const_var(2) }, + { be_const_key_weak(sec_c, 30), be_const_var(10) }, + { be_const_key_weak(message_counter, 11), be_const_var(13) }, + { be_const_key_weak(message_handler, -1), be_const_var(0) }, + { be_const_key_weak(remote_ip, 4), be_const_var(30) }, + { be_const_key_weak(x_flag_sx, -1), be_const_var(19) }, + { be_const_key_weak(get_node_id, -1), be_const_closure(class_Matter_Frame_get_node_id_closure) }, + { be_const_key_weak(sec_mx, -1), be_const_var(11) }, + { be_const_key_weak(flag_dsiz, -1), be_const_var(6) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Frame_init_closure) }, + { be_const_key_weak(x_flag_r, 9), be_const_var(20) }, + { be_const_key_weak(encode_frame, 36), be_const_closure(class_Matter_Frame_encode_frame_closure) }, + { be_const_key_weak(exchange_id, -1), be_const_var(24) }, + { be_const_key_weak(x_flag_v, -1), be_const_var(18) }, + { be_const_key_weak(sec_extensions, -1), be_const_var(28) }, + { be_const_key_weak(opcode, -1), be_const_var(23) }, + { be_const_key_weak(local_session_id, -1), be_const_var(7) }, + { be_const_key_weak(decode_header, -1), be_const_closure(class_Matter_Frame_decode_header_closure) }, + { be_const_key_weak(debug, 22), be_const_closure(class_Matter_Frame_debug_closure) }, + { be_const_key_weak(dest_node_id_8, -1), be_const_var(16) }, + { be_const_key_weak(vendor_id, 32), be_const_var(26) }, + { be_const_key_weak(initiate_response, -1), be_const_static_closure(class_Matter_Frame_initiate_response_closure) }, + { be_const_key_weak(build_response, -1), be_const_closure(class_Matter_Frame_build_response_closure) }, + { be_const_key_weak(payload_idx, -1), be_const_var(3) }, + { be_const_key_weak(encrypt, 23), be_const_closure(class_Matter_Frame_encrypt_closure) }, + { be_const_key_weak(dest_node_id_2, 21), be_const_var(15) }, + { be_const_key_weak(sec_p, -1), be_const_var(9) }, + { be_const_key_weak(sec_sesstype, 16), be_const_var(12) }, + { be_const_key_weak(protocol_id, -1), be_const_var(25) }, + { be_const_key_weak(build_standalone_ack, 38), be_const_closure(class_Matter_Frame_build_standalone_ack_closure) }, + { be_const_key_weak(remote_port, -1), be_const_var(31) }, + { be_const_key_weak(decrypt, -1), be_const_closure(class_Matter_Frame_decrypt_closure) }, + { be_const_key_weak(session, 24), be_const_var(1) }, + { be_const_key_weak(x_flag_i, -1), be_const_var(22) }, + { be_const_key_weak(flag_s, -1), be_const_var(5) }, + { be_const_key_weak(sec_flags, 37), be_const_var(8) }, + { be_const_key_weak(x_flag_a, -1), be_const_var(21) }, + { be_const_key_weak(app_payload_idx, -1), be_const_var(29) }, + { be_const_key_weak(flags, -1), be_const_var(4) }, + { be_const_key_weak(ack_message_counter, 8), be_const_var(27) }, + { be_const_key_weak(source_node_id, -1), be_const_var(14) }, + { be_const_key_weak(x_flags, 0), be_const_var(17) }, + })), + be_str_weak(Matter_Frame) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_MessageHandler.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_MessageHandler.h new file mode 100644 index 000000000..64ac3b77c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_MessageHandler.h @@ -0,0 +1,712 @@ +/* Solidification of Matter_MessageHandler.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_MessageHandler' ktab size: 79, total: 110 (saved 248 bytes) +static const bvalue be_ktab_class_Matter_MessageHandler[79] = { + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(commissioning), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(Commisioning_Context), + /* K4 */ be_nested_str_weak(im), + /* K5 */ be_nested_str_weak(IM), + /* K6 */ be_nested_str_weak(control_message), + /* K7 */ be_nested_str_weak(Control_Message), + /* K8 */ be_nested_str_weak(_n_bytes), + /* K9 */ be_nested_str_weak(x_flag_r), + /* K10 */ be_nested_str_weak(build_standalone_ack), + /* K11 */ be_nested_str_weak(encode_frame), + /* K12 */ be_nested_str_weak(encrypt), + /* K13 */ be_nested_str_weak(tasmota), + /* K14 */ be_nested_str_weak(loglevel), + /* K15 */ be_nested_str_weak(log), + /* K16 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X2A_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s), + /* K17 */ be_nested_str_weak(session), + /* K18 */ be_nested_str_weak(local_session_id), + /* K19 */ be_nested_str_weak(ack_message_counter), + /* K20 */ be_nested_str_weak(message_counter), + /* K21 */ be_nested_str_weak(_X7Breliable_X7D), + /* K22 */ be_nested_str_weak(), + /* K23 */ be_nested_str_weak(send_response_frame), + /* K24 */ be_nested_str_weak(Frame), + /* K25 */ be_nested_str_weak(decode_header), + /* K26 */ be_nested_str_weak(sec_p), + /* K27 */ be_nested_str_weak(sessions), + /* K28 */ be_nested_str_weak(find_session_source_id_unsecure), + /* K29 */ be_nested_str_weak(source_node_id), + /* K30 */ be_nested_str_weak(process_incoming_control_message), + /* K31 */ be_const_int(0), + /* K32 */ be_nested_str_weak(sec_sesstype), + /* K33 */ be_nested_str_weak(_ip), + /* K34 */ be_nested_str_weak(_port), + /* K35 */ be_nested_str_weak(_message_handler), + /* K36 */ be_nested_str_weak(_counter_insecure_rcv), + /* K37 */ be_nested_str_weak(validate), + /* K38 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i), + /* K39 */ be_nested_str_weak(val), + /* K40 */ be_nested_str_weak(send_simple_ack), + /* K41 */ be_nested_str_weak(decode_payload), + /* K42 */ be_nested_str_weak(received_ack), + /* K43 */ be_nested_str_weak(opcode), + /* K44 */ be_nested_str_weak(get_opcode_name), + /* K45 */ be_nested_str_weak(0x_X2502X), + /* K46 */ be_const_int(3), + /* K47 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20from_X20_X5B_X25s_X5D_X3A_X25i), + /* K48 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i), + /* K49 */ be_nested_str_weak(_X7Breliable_X7D_X20), + /* K50 */ be_nested_str_weak(exchange_id), + /* K51 */ be_nested_str_weak(process_incoming), + /* K52 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i), + /* K53 */ be_nested_str_weak(get_session_by_local_session_id), + /* K54 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D), + /* K55 */ be_nested_str_weak(counter_rcv_validate), + /* K56 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20), + /* K57 */ be_nested_str_weak(_X20counter_X3D), + /* K58 */ be_nested_str_weak(counter_rcv), + /* K59 */ be_nested_str_weak(send_encrypted_ack), + /* K60 */ be_nested_str_weak(decrypt), + /* K61 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A), + /* K62 */ be_nested_str_weak(protocol_id), + /* K63 */ be_nested_str_weak(_X20opcode_X3D), + /* K64 */ be_nested_str_weak(_X20exchange_id_X3D), + /* K65 */ be_nested_str_weak(process_incoming_ack), + /* K66 */ be_nested_str_weak(send_enqueued), + /* K67 */ be_const_int(1), + /* K68 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A), + /* K69 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20), + /* K70 */ be_nested_str_weak(_X3B), + /* K71 */ be_const_int(2), + /* K72 */ be_nested_str_weak(_debug_present), + /* K73 */ be_nested_str_weak(debug), + /* K74 */ be_nested_str_weak(traceback), + /* K75 */ be_nested_str_weak(msg_send), + /* K76 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s), + /* K77 */ be_nested_str_weak(every_50ms), + /* K78 */ be_nested_str_weak(every_second), +}; + + +extern const bclass be_class_Matter_MessageHandler; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0xB80A0400, // 0001 GETNGBL R2 K2 + 0x8C080503, // 0002 GETMET R2 R2 K3 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C080400, // 0004 CALL R2 2 + 0x90020202, // 0005 SETMBR R0 K1 R2 + 0xB80A0400, // 0006 GETNGBL R2 K2 + 0x8C080505, // 0007 GETMET R2 R2 K5 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C080400, // 0009 CALL R2 2 + 0x90020802, // 000A SETMBR R0 K4 R2 + 0xB80A0400, // 000B GETNGBL R2 K2 + 0x8C080507, // 000C GETMET R2 R2 K7 + 0x5C100000, // 000D MOVE R4 R0 + 0x7C080400, // 000E CALL R2 2 + 0x90020C02, // 000F SETMBR R0 K6 R2 + 0x60080015, // 0010 GETGBL R2 G21 + 0x540E000F, // 0011 LDINT R3 16 + 0x7C080200, // 0012 CALL R2 1 + 0x90021002, // 0013 SETMBR R0 K8 R2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_encrypted_ack +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_send_encrypted_ack, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(send_encrypted_ack), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x880C0309, // 0000 GETMBR R3 R1 K9 + 0x780E001C, // 0001 JMPF R3 #001F + 0x8C0C030A, // 0002 GETMET R3 R1 K10 + 0x5C140400, // 0003 MOVE R5 R2 + 0x7C0C0400, // 0004 CALL R3 2 + 0x8C10070B, // 0005 GETMET R4 R3 K11 + 0x7C100200, // 0006 CALL R4 1 + 0x8C10070C, // 0007 GETMET R4 R3 K12 + 0x7C100200, // 0008 CALL R4 1 + 0xB8121A00, // 0009 GETNGBL R4 K13 + 0x8C10090E, // 000A GETMET R4 R4 K14 + 0x541A0003, // 000B LDINT R6 4 + 0x7C100400, // 000C CALL R4 2 + 0x7812000D, // 000D JMPF R4 #001C + 0xB8121E00, // 000E GETNGBL R4 K15 + 0x60140018, // 000F GETGBL R5 G24 + 0x58180010, // 0010 LDCONST R6 K16 + 0x881C0711, // 0011 GETMBR R7 R3 K17 + 0x881C0F12, // 0012 GETMBR R7 R7 K18 + 0x88200713, // 0013 GETMBR R8 R3 K19 + 0x88240714, // 0014 GETMBR R9 R3 K20 + 0x780A0001, // 0015 JMPF R2 #0018 + 0x58280015, // 0016 LDCONST R10 K21 + 0x70020000, // 0017 JMP #0019 + 0x58280016, // 0018 LDCONST R10 K22 + 0x7C140A00, // 0019 CALL R5 5 + 0x541A0003, // 001A LDINT R6 4 + 0x7C100400, // 001B CALL R4 2 + 0x8C100117, // 001C GETMET R4 R0 K23 + 0x5C180600, // 001D MOVE R6 R3 + 0x7C100400, // 001E CALL R4 2 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: msg_received +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_msg_received, /* name */ + be_nested_proto( + 18, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(msg_received), + &be_const_str_solidified, + ( &(const binstruction[334]) { /* code */ + 0x50100000, // 0000 LDBOOL R4 0 0 + 0xA8020132, // 0001 EXBLK 0 #0135 + 0xB8160400, // 0002 GETNGBL R5 K2 + 0x8C140B18, // 0003 GETMET R5 R5 K24 + 0x5C1C0000, // 0004 MOVE R7 R0 + 0x5C200200, // 0005 MOVE R8 R1 + 0x5C240400, // 0006 MOVE R9 R2 + 0x5C280600, // 0007 MOVE R10 R3 + 0x7C140A00, // 0008 CALL R5 5 + 0x8C180B19, // 0009 GETMET R6 R5 K25 + 0x7C180200, // 000A CALL R6 1 + 0x5C1C0C00, // 000B MOVE R7 R6 + 0x741E0002, // 000C JMPT R7 #0010 + 0x501C0000, // 000D LDBOOL R7 0 0 + 0xA8040001, // 000E EXBLK 1 1 + 0x80040E00, // 000F RET 1 R7 + 0x881C0B1A, // 0010 GETMBR R7 R5 K26 + 0x781E000C, // 0011 JMPF R7 #001F + 0x881C0100, // 0012 GETMBR R7 R0 K0 + 0x881C0F1B, // 0013 GETMBR R7 R7 K27 + 0x8C1C0F1C, // 0014 GETMET R7 R7 K28 + 0x88240B1D, // 0015 GETMBR R9 R5 K29 + 0x542A0059, // 0016 LDINT R10 90 + 0x7C1C0600, // 0017 CALL R7 3 + 0x88200106, // 0018 GETMBR R8 R0 K6 + 0x8C20111E, // 0019 GETMET R8 R8 K30 + 0x5C280A00, // 001A MOVE R10 R5 + 0x7C200400, // 001B CALL R8 2 + 0xA8040001, // 001C EXBLK 1 1 + 0x80041000, // 001D RET 1 R8 + 0x70020111, // 001E JMP #0131 + 0x881C0B12, // 001F GETMBR R7 R5 K18 + 0x1C1C0F1F, // 0020 EQ R7 R7 K31 + 0x781E007A, // 0021 JMPF R7 #009D + 0x881C0B20, // 0022 GETMBR R7 R5 K32 + 0x1C1C0F1F, // 0023 EQ R7 R7 K31 + 0x781E0077, // 0024 JMPF R7 #009D + 0x881C0100, // 0025 GETMBR R7 R0 K0 + 0x881C0F1B, // 0026 GETMBR R7 R7 K27 + 0x8C1C0F1C, // 0027 GETMET R7 R7 K28 + 0x88240B1D, // 0028 GETMBR R9 R5 K29 + 0x542A0059, // 0029 LDINT R10 90 + 0x7C1C0600, // 002A CALL R7 3 + 0x780A0000, // 002B JMPF R2 #002D + 0x901E4202, // 002C SETMBR R7 K33 R2 + 0x780E0000, // 002D JMPF R3 #002F + 0x901E4403, // 002E SETMBR R7 K34 R3 + 0x901E4600, // 002F SETMBR R7 K35 R0 + 0x90162207, // 0030 SETMBR R5 K17 R7 + 0x88200F24, // 0031 GETMBR R8 R7 K36 + 0x8C201125, // 0032 GETMET R8 R8 K37 + 0x88280B14, // 0033 GETMBR R10 R5 K20 + 0x502C0000, // 0034 LDBOOL R11 0 0 + 0x7C200600, // 0035 CALL R8 3 + 0x74220015, // 0036 JMPT R8 #004D + 0xB8221A00, // 0037 GETNGBL R8 K13 + 0x8C20110E, // 0038 GETMET R8 R8 K14 + 0x542A0003, // 0039 LDINT R10 4 + 0x7C200400, // 003A CALL R8 2 + 0x78220009, // 003B JMPF R8 #0046 + 0xB8221E00, // 003C GETNGBL R8 K15 + 0x60240018, // 003D GETGBL R9 G24 + 0x58280026, // 003E LDCONST R10 K38 + 0x882C0B14, // 003F GETMBR R11 R5 K20 + 0x88300F24, // 0040 GETMBR R12 R7 K36 + 0x8C301927, // 0041 GETMET R12 R12 K39 + 0x7C300200, // 0042 CALL R12 1 + 0x7C240600, // 0043 CALL R9 3 + 0x542A0003, // 0044 LDINT R10 4 + 0x7C200400, // 0045 CALL R8 2 + 0x8C200128, // 0046 GETMET R8 R0 K40 + 0x5C280A00, // 0047 MOVE R10 R5 + 0x502C0000, // 0048 LDBOOL R11 0 0 + 0x7C200600, // 0049 CALL R8 3 + 0x50200000, // 004A LDBOOL R8 0 0 + 0xA8040001, // 004B EXBLK 1 1 + 0x80041000, // 004C RET 1 R8 + 0x8C200B29, // 004D GETMET R8 R5 K41 + 0x7C200200, // 004E CALL R8 1 + 0x74220002, // 004F JMPT R8 #0053 + 0x50200000, // 0050 LDBOOL R8 0 0 + 0xA8040001, // 0051 EXBLK 1 1 + 0x80041000, // 0052 RET 1 R8 + 0x88200100, // 0053 GETMBR R8 R0 K0 + 0x8C20112A, // 0054 GETMET R8 R8 K42 + 0x5C280A00, // 0055 MOVE R10 R5 + 0x7C200400, // 0056 CALL R8 2 + 0x88200B2B, // 0057 GETMBR R8 R5 K43 + 0x5426000F, // 0058 LDINT R9 16 + 0x20201009, // 0059 NE R8 R8 R9 + 0x7822001A, // 005A JMPF R8 #0076 + 0xB8220400, // 005B GETNGBL R8 K2 + 0x8C20112C, // 005C GETMET R8 R8 K44 + 0x88280B2B, // 005D GETMBR R10 R5 K43 + 0x7C200400, // 005E CALL R8 2 + 0x5C241000, // 005F MOVE R9 R8 + 0x74260004, // 0060 JMPT R9 #0066 + 0x60240018, // 0061 GETGBL R9 G24 + 0x5828002D, // 0062 LDCONST R10 K45 + 0x882C0B2B, // 0063 GETMBR R11 R5 K43 + 0x7C240400, // 0064 CALL R9 2 + 0x5C201200, // 0065 MOVE R8 R9 + 0xB8261A00, // 0066 GETNGBL R9 K13 + 0x8C24130E, // 0067 GETMET R9 R9 K14 + 0x582C002E, // 0068 LDCONST R11 K46 + 0x7C240400, // 0069 CALL R9 2 + 0x78260009, // 006A JMPF R9 #0075 + 0xB8261E00, // 006B GETNGBL R9 K15 + 0x60280018, // 006C GETGBL R10 G24 + 0x582C002F, // 006D LDCONST R11 K47 + 0x88300F12, // 006E GETMBR R12 R7 K18 + 0x5C341000, // 006F MOVE R13 R8 + 0x5C380400, // 0070 MOVE R14 R2 + 0x5C3C0600, // 0071 MOVE R15 R3 + 0x7C280A00, // 0072 CALL R10 5 + 0x582C002E, // 0073 LDCONST R11 K46 + 0x7C240400, // 0074 CALL R9 2 + 0x70020017, // 0075 JMP #008E + 0xB8221A00, // 0076 GETNGBL R8 K13 + 0x8C20110E, // 0077 GETMET R8 R8 K14 + 0x542A0003, // 0078 LDINT R10 4 + 0x7C200400, // 0079 CALL R8 2 + 0x78220012, // 007A JMPF R8 #008E + 0xB8221E00, // 007B GETNGBL R8 K15 + 0x60240018, // 007C GETGBL R9 G24 + 0x58280030, // 007D LDCONST R10 K48 + 0x882C0F12, // 007E GETMBR R11 R7 K18 + 0x88300B14, // 007F GETMBR R12 R5 K20 + 0x88340B09, // 0080 GETMBR R13 R5 K9 + 0x78360001, // 0081 JMPF R13 #0084 + 0x58340031, // 0082 LDCONST R13 K49 + 0x70020000, // 0083 JMP #0085 + 0x58340016, // 0084 LDCONST R13 K22 + 0x88380B32, // 0085 GETMBR R14 R5 K50 + 0x603C0008, // 0086 GETGBL R15 G8 + 0x88400B13, // 0087 GETMBR R16 R5 K19 + 0x7C3C0200, // 0088 CALL R15 1 + 0x5C400400, // 0089 MOVE R16 R2 + 0x5C440600, // 008A MOVE R17 R3 + 0x7C241000, // 008B CALL R9 8 + 0x542A0003, // 008C LDINT R10 4 + 0x7C200400, // 008D CALL R8 2 + 0x88200101, // 008E GETMBR R8 R0 K1 + 0x8C201133, // 008F GETMET R8 R8 K51 + 0x5C280A00, // 0090 MOVE R10 R5 + 0x7C200400, // 0091 CALL R8 2 + 0x5C101000, // 0092 MOVE R4 R8 + 0x5C200800, // 0093 MOVE R8 R4 + 0x74220003, // 0094 JMPT R8 #0099 + 0x8C200128, // 0095 GETMET R8 R0 K40 + 0x5C280A00, // 0096 MOVE R10 R5 + 0x502C0000, // 0097 LDBOOL R11 0 0 + 0x7C200600, // 0098 CALL R8 3 + 0x50200200, // 0099 LDBOOL R8 1 0 + 0xA8040001, // 009A EXBLK 1 1 + 0x80041000, // 009B RET 1 R8 + 0x70020093, // 009C JMP #0131 + 0xB81E1A00, // 009D GETNGBL R7 K13 + 0x8C1C0F0E, // 009E GETMET R7 R7 K14 + 0x54260003, // 009F LDINT R9 4 + 0x7C1C0400, // 00A0 CALL R7 2 + 0x781E0007, // 00A1 JMPF R7 #00AA + 0xB81E1E00, // 00A2 GETNGBL R7 K15 + 0x60200018, // 00A3 GETGBL R8 G24 + 0x58240034, // 00A4 LDCONST R9 K52 + 0x88280B12, // 00A5 GETMBR R10 R5 K18 + 0x882C0B14, // 00A6 GETMBR R11 R5 K20 + 0x7C200600, // 00A7 CALL R8 3 + 0x54260003, // 00A8 LDINT R9 4 + 0x7C1C0400, // 00A9 CALL R7 2 + 0x881C0100, // 00AA GETMBR R7 R0 K0 + 0x881C0F1B, // 00AB GETMBR R7 R7 K27 + 0x8C1C0F35, // 00AC GETMET R7 R7 K53 + 0x88240B12, // 00AD GETMBR R9 R5 K18 + 0x7C1C0400, // 00AE CALL R7 2 + 0x4C200000, // 00AF LDNIL R8 + 0x1C200E08, // 00B0 EQ R8 R7 R8 + 0x78220009, // 00B1 JMPF R8 #00BC + 0xB8221E00, // 00B2 GETNGBL R8 K15 + 0x60240008, // 00B3 GETGBL R9 G8 + 0x88280B12, // 00B4 GETMBR R10 R5 K18 + 0x7C240200, // 00B5 CALL R9 1 + 0x00266C09, // 00B6 ADD R9 K54 R9 + 0x5828002E, // 00B7 LDCONST R10 K46 + 0x7C200400, // 00B8 CALL R8 2 + 0x50200000, // 00B9 LDBOOL R8 0 0 + 0xA8040001, // 00BA EXBLK 1 1 + 0x80041000, // 00BB RET 1 R8 + 0x780A0000, // 00BC JMPF R2 #00BE + 0x901E4202, // 00BD SETMBR R7 K33 R2 + 0x780E0000, // 00BE JMPF R3 #00C0 + 0x901E4403, // 00BF SETMBR R7 K34 R3 + 0x901E4600, // 00C0 SETMBR R7 K35 R0 + 0x90162207, // 00C1 SETMBR R5 K17 R7 + 0x8C200F37, // 00C2 GETMET R8 R7 K55 + 0x88280B14, // 00C3 GETMBR R10 R5 K20 + 0x502C0200, // 00C4 LDBOOL R11 1 0 + 0x7C200600, // 00C5 CALL R8 3 + 0x74220017, // 00C6 JMPT R8 #00DF + 0xB8221A00, // 00C7 GETNGBL R8 K13 + 0x8C20110E, // 00C8 GETMET R8 R8 K14 + 0x5828002E, // 00C9 LDCONST R10 K46 + 0x7C200400, // 00CA CALL R8 2 + 0x7822000B, // 00CB JMPF R8 #00D8 + 0xB8221E00, // 00CC GETNGBL R8 K15 + 0x60240008, // 00CD GETGBL R9 G8 + 0x88280B14, // 00CE GETMBR R10 R5 K20 + 0x7C240200, // 00CF CALL R9 1 + 0x00267009, // 00D0 ADD R9 K56 R9 + 0x00241339, // 00D1 ADD R9 R9 K57 + 0x60280008, // 00D2 GETGBL R10 G8 + 0x882C0F3A, // 00D3 GETMBR R11 R7 K58 + 0x7C280200, // 00D4 CALL R10 1 + 0x0024120A, // 00D5 ADD R9 R9 R10 + 0x5828002E, // 00D6 LDCONST R10 K46 + 0x7C200400, // 00D7 CALL R8 2 + 0x8C20013B, // 00D8 GETMET R8 R0 K59 + 0x5C280A00, // 00D9 MOVE R10 R5 + 0x502C0000, // 00DA LDBOOL R11 0 0 + 0x7C200600, // 00DB CALL R8 3 + 0x50200000, // 00DC LDBOOL R8 0 0 + 0xA8040001, // 00DD EXBLK 1 1 + 0x80041000, // 00DE RET 1 R8 + 0x8C200B3C, // 00DF GETMET R8 R5 K60 + 0x7C200200, // 00E0 CALL R8 1 + 0x5C241000, // 00E1 MOVE R9 R8 + 0x74260002, // 00E2 JMPT R9 #00E6 + 0x50240000, // 00E3 LDBOOL R9 0 0 + 0xA8040001, // 00E4 EXBLK 1 1 + 0x80041200, // 00E5 RET 1 R9 + 0x8C240B29, // 00E6 GETMET R9 R5 K41 + 0x7C240200, // 00E7 CALL R9 1 + 0xB8261A00, // 00E8 GETNGBL R9 K13 + 0x8C24130E, // 00E9 GETMET R9 R9 K14 + 0x542E0003, // 00EA LDINT R11 4 + 0x7C240400, // 00EB CALL R9 2 + 0x78260012, // 00EC JMPF R9 #0100 + 0xB8261E00, // 00ED GETNGBL R9 K15 + 0x60280008, // 00EE GETGBL R10 G8 + 0x882C0B3E, // 00EF GETMBR R11 R5 K62 + 0x7C280200, // 00F0 CALL R10 1 + 0x002A7A0A, // 00F1 ADD R10 K61 R10 + 0x0028153F, // 00F2 ADD R10 R10 K63 + 0x602C0008, // 00F3 GETGBL R11 G8 + 0x88300B2B, // 00F4 GETMBR R12 R5 K43 + 0x7C2C0200, // 00F5 CALL R11 1 + 0x0028140B, // 00F6 ADD R10 R10 R11 + 0x00281540, // 00F7 ADD R10 R10 K64 + 0x602C0008, // 00F8 GETGBL R11 G8 + 0x88300B32, // 00F9 GETMBR R12 R5 K50 + 0x5436FFFE, // 00FA LDINT R13 65535 + 0x2C30180D, // 00FB AND R12 R12 R13 + 0x7C2C0200, // 00FC CALL R11 1 + 0x0028140B, // 00FD ADD R10 R10 R11 + 0x542E0003, // 00FE LDINT R11 4 + 0x7C240400, // 00FF CALL R9 2 + 0x88240100, // 0100 GETMBR R9 R0 K0 + 0x8C24132A, // 0101 GETMET R9 R9 K42 + 0x5C2C0A00, // 0102 MOVE R11 R5 + 0x7C240400, // 0103 CALL R9 2 + 0x88240B3E, // 0104 GETMBR R9 R5 K62 + 0x1C28131F, // 0105 EQ R10 R9 K31 + 0x782A000F, // 0106 JMPF R10 #0117 + 0x88280B2B, // 0107 GETMBR R10 R5 K43 + 0x542E000F, // 0108 LDINT R11 16 + 0x1C28140B, // 0109 EQ R10 R10 R11 + 0x782A0009, // 010A JMPF R10 #0115 + 0x88280104, // 010B GETMBR R10 R0 K4 + 0x8C281541, // 010C GETMET R10 R10 K65 + 0x5C300A00, // 010D MOVE R12 R5 + 0x7C280400, // 010E CALL R10 2 + 0x5C101400, // 010F MOVE R4 R10 + 0x78120003, // 0110 JMPF R4 #0115 + 0x88280104, // 0111 GETMBR R10 R0 K4 + 0x8C281542, // 0112 GETMET R10 R10 K66 + 0x5C300000, // 0113 MOVE R12 R0 + 0x7C280400, // 0114 CALL R10 2 + 0x50100200, // 0115 LDBOOL R4 1 0 + 0x70020019, // 0116 JMP #0131 + 0x1C281343, // 0117 EQ R10 R9 K67 + 0x782A0010, // 0118 JMPF R10 #012A + 0x88280104, // 0119 GETMBR R10 R0 K4 + 0x8C281533, // 011A GETMET R10 R10 K51 + 0x5C300A00, // 011B MOVE R12 R5 + 0x7C280400, // 011C CALL R10 2 + 0x5C101400, // 011D MOVE R4 R10 + 0x78120004, // 011E JMPF R4 #0124 + 0x88280104, // 011F GETMBR R10 R0 K4 + 0x8C281542, // 0120 GETMET R10 R10 K66 + 0x5C300000, // 0121 MOVE R12 R0 + 0x7C280400, // 0122 CALL R10 2 + 0x70020003, // 0123 JMP #0128 + 0x8C28013B, // 0124 GETMET R10 R0 K59 + 0x5C300A00, // 0125 MOVE R12 R5 + 0x50340200, // 0126 LDBOOL R13 1 0 + 0x7C280600, // 0127 CALL R10 3 + 0x50100200, // 0128 LDBOOL R4 1 0 + 0x70020006, // 0129 JMP #0131 + 0xB82A1E00, // 012A GETNGBL R10 K15 + 0x602C0008, // 012B GETGBL R11 G8 + 0x5C301200, // 012C MOVE R12 R9 + 0x7C2C0200, // 012D CALL R11 1 + 0x002E880B, // 012E ADD R11 K68 R11 + 0x5830002E, // 012F LDCONST R12 K46 + 0x7C280400, // 0130 CALL R10 2 + 0xA8040001, // 0131 EXBLK 1 1 + 0x80040800, // 0132 RET 1 R4 + 0xA8040001, // 0133 EXBLK 1 1 + 0x70020017, // 0134 JMP #014D + 0xAC140002, // 0135 CATCH R5 0 2 + 0x70020014, // 0136 JMP #014C + 0xB81E1E00, // 0137 GETNGBL R7 K15 + 0x60200008, // 0138 GETGBL R8 G8 + 0x5C240A00, // 0139 MOVE R9 R5 + 0x7C200200, // 013A CALL R8 1 + 0x00228A08, // 013B ADD R8 K69 R8 + 0x00201146, // 013C ADD R8 R8 K70 + 0x60240008, // 013D GETGBL R9 G8 + 0x5C280C00, // 013E MOVE R10 R6 + 0x7C240200, // 013F CALL R9 1 + 0x00201009, // 0140 ADD R8 R8 R9 + 0x58240047, // 0141 LDCONST R9 K71 + 0x7C1C0400, // 0142 CALL R7 2 + 0xB81E1A00, // 0143 GETNGBL R7 K13 + 0x881C0F48, // 0144 GETMBR R7 R7 K72 + 0x781E0002, // 0145 JMPF R7 #0149 + 0xA41E9200, // 0146 IMPORT R7 K73 + 0x8C200F4A, // 0147 GETMET R8 R7 K74 + 0x7C200200, // 0148 CALL R8 1 + 0x501C0000, // 0149 LDBOOL R7 0 0 + 0x80040E00, // 014A RET 1 R7 + 0x70020000, // 014B JMP #014D + 0xB0080000, // 014C RAISE 2 R0 R0 + 0x80000000, // 014D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_response_frame +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_send_response_frame, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(send_response_frame), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C08054B, // 0001 GETMET R2 R2 K75 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_simple_ack +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_send_simple_ack, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(send_simple_ack), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x880C0309, // 0000 GETMBR R3 R1 K9 + 0x780E001C, // 0001 JMPF R3 #001F + 0x8C0C030A, // 0002 GETMET R3 R1 K10 + 0x5C140400, // 0003 MOVE R5 R2 + 0x7C0C0400, // 0004 CALL R3 2 + 0x88100312, // 0005 GETMBR R4 R1 K18 + 0x900E2404, // 0006 SETMBR R3 K18 R4 + 0x8C10070B, // 0007 GETMET R4 R3 K11 + 0x7C100200, // 0008 CALL R4 1 + 0xB8121A00, // 0009 GETNGBL R4 K13 + 0x8C10090E, // 000A GETMET R4 R4 K14 + 0x541A0003, // 000B LDINT R6 4 + 0x7C100400, // 000C CALL R4 2 + 0x7812000D, // 000D JMPF R4 #001C + 0xB8121E00, // 000E GETNGBL R4 K15 + 0x60140018, // 000F GETGBL R5 G24 + 0x5818004C, // 0010 LDCONST R6 K76 + 0x881C0711, // 0011 GETMBR R7 R3 K17 + 0x881C0F12, // 0012 GETMBR R7 R7 K18 + 0x88200713, // 0013 GETMBR R8 R3 K19 + 0x88240714, // 0014 GETMBR R9 R3 K20 + 0x780A0001, // 0015 JMPF R2 #0018 + 0x58280015, // 0016 LDCONST R10 K21 + 0x70020000, // 0017 JMP #0019 + 0x58280016, // 0018 LDCONST R10 K22 + 0x7C140A00, // 0019 CALL R5 5 + 0x541A0003, // 001A LDINT R6 4 + 0x7C100400, // 001B CALL R4 2 + 0x8C100117, // 001C GETMET R4 R0 K23 + 0x5C180600, // 001D MOVE R6 R3 + 0x7C100400, // 001E CALL R4 2 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x8C04034D, // 0001 GETMET R1 R1 K77 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_MessageHandler_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_MessageHandler, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C04034E, // 0001 GETMET R1 R1 K78 + 0x7C040200, // 0002 CALL R1 1 + 0x88040104, // 0003 GETMBR R1 R0 K4 + 0x8C04034E, // 0004 GETMET R1 R1 K78 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_MessageHandler +********************************************************************/ +be_local_class(Matter_MessageHandler, + 5, + NULL, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(commissioning, -1), be_const_var(1) }, + { be_const_key_weak(_n_bytes, 7), be_const_var(4) }, + { be_const_key_weak(send_encrypted_ack, -1), be_const_closure(class_Matter_MessageHandler_send_encrypted_ack_closure) }, + { be_const_key_weak(init, 5), be_const_closure(class_Matter_MessageHandler_init_closure) }, + { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_MessageHandler_msg_received_closure) }, + { be_const_key_weak(im, 11), be_const_var(2) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_MessageHandler_every_second_closure) }, + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_MessageHandler_every_50ms_closure) }, + { be_const_key_weak(send_simple_ack, 1), be_const_closure(class_Matter_MessageHandler_send_simple_ack_closure) }, + { be_const_key_weak(send_response_frame, 6), be_const_closure(class_Matter_MessageHandler_send_response_frame_closure) }, + { be_const_key_weak(control_message, -1), be_const_var(3) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + })), + be_str_weak(Matter_MessageHandler) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Module.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Module.h new file mode 100644 index 000000000..695a24695 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Module.h @@ -0,0 +1,90 @@ +/* Solidification of Matter_Module.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(module_matter_setmember, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(global), + /* K1 */ be_nested_str_weak(contains), + /* K2 */ be_nested_str_weak(_X2Ematter), + }), + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x8C0C0501, // 0001 GETMET R3 R2 K1 + 0x58140002, // 0002 LDCONST R5 K2 + 0x7C0C0400, // 0003 CALL R3 2 + 0x740E0002, // 0004 JMPT R3 #0008 + 0x600C0013, // 0005 GETGBL R3 G19 + 0x7C0C0000, // 0006 CALL R3 0 + 0x900A0403, // 0007 SETMBR R2 K2 R3 + 0x880C0502, // 0008 GETMBR R3 R2 K2 + 0x980C0001, // 0009 SETIDX R3 R0 R1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(module_matter_member, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str_weak(global), + /* K1 */ be_nested_str_weak(undefined), + /* K2 */ be_nested_str_weak(contains), + /* K3 */ be_nested_str_weak(_X2Ematter), + }), + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA40A0200, // 0001 IMPORT R2 K1 + 0x8C0C0302, // 0002 GETMET R3 R1 K2 + 0x58140003, // 0003 LDCONST R5 K3 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780E0008, // 0005 JMPF R3 #000F + 0x880C0303, // 0006 GETMBR R3 R1 K3 + 0x8C0C0702, // 0007 GETMET R3 R3 K2 + 0x5C140000, // 0008 MOVE R5 R0 + 0x7C0C0400, // 0009 CALL R3 2 + 0x780E0003, // 000A JMPF R3 #000F + 0x880C0303, // 000B GETMBR R3 R1 K3 + 0x940C0600, // 000C GETIDX R3 R3 R0 + 0x80040600, // 000D RET 1 R3 + 0x70020000, // 000E JMP #0010 + 0x80040400, // 000F RET 1 R2 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_0.h new file mode 100644 index 000000000..673983919 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_0.h @@ -0,0 +1,248 @@ +/* Solidification of Matter_Path_0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Path' ktab size: 19, total: 30 (saved 88 bytes) +static const bvalue be_ktab_class_Matter_Path[19] = { + /* K0 */ be_nested_str_weak(endpoint), + /* K1 */ be_nested_str_weak(cluster), + /* K2 */ be_nested_str_weak(attribute), + /* K3 */ be_nested_str_weak(fabric_filtered), + /* K4 */ be_nested_str_weak(command), + /* K5 */ be_nested_str_weak(status), + /* K6 */ be_nested_str_weak(log), + /* K7 */ be_nested_str_weak(msg), + /* K8 */ be_nested_str_weak(), + /* K9 */ be_nested_str_weak(_X5B_X2502X_X5D), + /* K10 */ be_nested_str_weak(_X5B_X2A_X2A_X5D), + /* K11 */ be_nested_str_weak(_X2504X_X2F), + /* K12 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F), + /* K13 */ be_nested_str_weak(_X2504X), + /* K14 */ be_nested_str_weak(_X21), + /* K15 */ be_nested_str_weak(_X2A_X2A_X2A_X2A), + /* K16 */ be_nested_str_weak(Exception_X3E_X20), + /* K17 */ be_nested_str_weak(_X2C_X20), + /* K18 */ be_nested_str_weak(reset), +}; + + +extern const bclass be_class_Matter_Path; + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_Path_reset, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Path, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x90020201, // 0002 SETMBR R0 K1 R1 + 0x90020401, // 0003 SETMBR R0 K2 R1 + 0x90020601, // 0004 SETMBR R0 K3 R1 + 0x90020801, // 0005 SETMBR R0 K4 R1 + 0x90020A01, // 0006 SETMBR R0 K5 R1 + 0x90020C01, // 0007 SETMBR R0 K6 R1 + 0x90020E01, // 0008 SETMBR R0 K7 R1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Path_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Path, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x90020202, // 0001 SETMBR R0 K1 R2 + 0x90020403, // 0002 SETMBR R0 K2 R3 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_Path_tostring, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Path, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[77]) { /* code */ + 0xA802003C, // 0000 EXBLK 0 #003E + 0x58040008, // 0001 LDCONST R1 K8 + 0x88080100, // 0002 GETMBR R2 R0 K0 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0004, // 0005 JMPF R2 #000B + 0x60080018, // 0006 GETGBL R2 G24 + 0x580C0009, // 0007 LDCONST R3 K9 + 0x88100100, // 0008 GETMBR R4 R0 K0 + 0x7C080400, // 0009 CALL R2 2 + 0x70020000, // 000A JMP #000C + 0x5808000A, // 000B LDCONST R2 K10 + 0x00040202, // 000C ADD R1 R1 R2 + 0x88080101, // 000D GETMBR R2 R0 K1 + 0x4C0C0000, // 000E LDNIL R3 + 0x20080403, // 000F NE R2 R2 R3 + 0x780A0004, // 0010 JMPF R2 #0016 + 0x60080018, // 0011 GETGBL R2 G24 + 0x580C000B, // 0012 LDCONST R3 K11 + 0x88100101, // 0013 GETMBR R4 R0 K1 + 0x7C080400, // 0014 CALL R2 2 + 0x70020000, // 0015 JMP #0017 + 0x5808000C, // 0016 LDCONST R2 K12 + 0x00040202, // 0017 ADD R1 R1 R2 + 0x88080102, // 0018 GETMBR R2 R0 K2 + 0x4C0C0000, // 0019 LDNIL R3 + 0x20080403, // 001A NE R2 R2 R3 + 0x780A0004, // 001B JMPF R2 #0021 + 0x60080018, // 001C GETGBL R2 G24 + 0x580C000D, // 001D LDCONST R3 K13 + 0x88100102, // 001E GETMBR R4 R0 K2 + 0x7C080400, // 001F CALL R2 2 + 0x70020000, // 0020 JMP #0022 + 0x58080008, // 0021 LDCONST R2 K8 + 0x00040202, // 0022 ADD R1 R1 R2 + 0x88080104, // 0023 GETMBR R2 R0 K4 + 0x4C0C0000, // 0024 LDNIL R3 + 0x20080403, // 0025 NE R2 R2 R3 + 0x780A0004, // 0026 JMPF R2 #002C + 0x60080018, // 0027 GETGBL R2 G24 + 0x580C000D, // 0028 LDCONST R3 K13 + 0x88100104, // 0029 GETMBR R4 R0 K4 + 0x7C080400, // 002A CALL R2 2 + 0x70020000, // 002B JMP #002D + 0x58080008, // 002C LDCONST R2 K8 + 0x00040202, // 002D ADD R1 R1 R2 + 0x88080103, // 002E GETMBR R2 R0 K3 + 0x780A0000, // 002F JMPF R2 #0031 + 0x0004030E, // 0030 ADD R1 R1 K14 + 0x88080102, // 0031 GETMBR R2 R0 K2 + 0x4C0C0000, // 0032 LDNIL R3 + 0x1C080403, // 0033 EQ R2 R2 R3 + 0x780A0004, // 0034 JMPF R2 #003A + 0x88080104, // 0035 GETMBR R2 R0 K4 + 0x4C0C0000, // 0036 LDNIL R3 + 0x1C080403, // 0037 EQ R2 R2 R3 + 0x780A0000, // 0038 JMPF R2 #003A + 0x0004030F, // 0039 ADD R1 R1 K15 + 0xA8040001, // 003A EXBLK 1 1 + 0x80040200, // 003B RET 1 R1 + 0xA8040001, // 003C EXBLK 1 1 + 0x7002000D, // 003D JMP #004C + 0xAC040002, // 003E CATCH R1 0 2 + 0x7002000A, // 003F JMP #004B + 0x600C0008, // 0040 GETGBL R3 G8 + 0x5C100200, // 0041 MOVE R4 R1 + 0x7C0C0200, // 0042 CALL R3 1 + 0x000E2003, // 0043 ADD R3 K16 R3 + 0x000C0711, // 0044 ADD R3 R3 K17 + 0x60100008, // 0045 GETGBL R4 G8 + 0x5C140400, // 0046 MOVE R5 R2 + 0x7C100200, // 0047 CALL R4 1 + 0x000C0604, // 0048 ADD R3 R3 R4 + 0x80040600, // 0049 RET 1 R3 + 0x70020000, // 004A JMP #004C + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80000000, // 004C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: copy +********************************************************************/ +be_local_closure(class_Matter_Path_copy, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Path, /* shared constants */ + be_str_weak(copy), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C080112, // 0000 GETMET R2 R0 K18 + 0x7C080200, // 0001 CALL R2 1 + 0x88080300, // 0002 GETMBR R2 R1 K0 + 0x90020002, // 0003 SETMBR R0 K0 R2 + 0x88080301, // 0004 GETMBR R2 R1 K1 + 0x90020202, // 0005 SETMBR R0 K1 R2 + 0x88080302, // 0006 GETMBR R2 R1 K2 + 0x90020402, // 0007 SETMBR R0 K2 R2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Path +********************************************************************/ +be_local_class(Matter_Path, + 8, + NULL, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_Path_reset_closure) }, + { be_const_key_weak(cluster, 5), be_const_var(1) }, + { be_const_key_weak(fabric_filtered, 6), be_const_var(3) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Path_init_closure) }, + { be_const_key_weak(endpoint, -1), be_const_var(0) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_Path_tostring_closure) }, + { be_const_key_weak(command, 10), be_const_var(4) }, + { be_const_key_weak(status, -1), be_const_var(5) }, + { be_const_key_weak(copy, -1), be_const_closure(class_Matter_Path_copy_closure) }, + { be_const_key_weak(log, -1), be_const_var(6) }, + { be_const_key_weak(msg, -1), be_const_var(7) }, + { be_const_key_weak(attribute, -1), be_const_var(2) }, + })), + be_str_weak(Matter_Path) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_EventGenerator.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_EventGenerator.h new file mode 100644 index 000000000..2e26570f3 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_EventGenerator.h @@ -0,0 +1,328 @@ +/* Solidification of Matter_Path_1_EventGenerator.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_EventGenerator' ktab size: 14, total: 26 (saved 96 bytes) +static const bvalue be_ktab_class_Matter_EventGenerator[14] = { + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(reset), + /* K2 */ be_nested_str_weak(path_in_endpoint), + /* K3 */ be_nested_str_weak(path_in_cluster), + /* K4 */ be_nested_str_weak(path_in_event), + /* K5 */ be_nested_str_weak(path_in_event_min), + /* K6 */ be_nested_str_weak(event_no), + /* K7 */ be_nested_str_weak(finished), + /* K8 */ be_nested_str_weak(endpoint), + /* K9 */ be_nested_str_weak(cluster), + /* K10 */ be_nested_str_weak(event_id), + /* K11 */ be_nested_str_weak(events), + /* K12 */ be_nested_str_weak(find_min_no), + /* K13 */ be_nested_str_weak(event_is_match), +}; + + +extern const bclass be_class_Matter_EventGenerator; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pi +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_get_pi, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(get_pi), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_start, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8C140101, // 0000 GETMET R5 R0 K1 + 0x7C140200, // 0001 CALL R5 1 + 0x90020401, // 0002 SETMBR R0 K2 R1 + 0x90020602, // 0003 SETMBR R0 K3 R2 + 0x90020803, // 0004 SETMBR R0 K4 R3 + 0x90020A04, // 0005 SETMBR R0 K5 R4 + 0x90020C04, // 0006 SETMBR R0 K6 R4 + 0x50140000, // 0007 LDBOOL R5 0 0 + 0x90020E05, // 0008 SETMBR R0 K7 R5 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_reset, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020C01, // 0001 SETMBR R0 K6 R1 + 0x50080200, // 0002 LDBOOL R2 1 0 + 0x90020E02, // 0003 SETMBR R0 K7 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_finished +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_is_finished, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(is_finished), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_is_match +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_event_is_match, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(event_is_match), + &be_const_str_solidified, + ( &(const binstruction[38]) { /* code */ + 0x50080200, // 0000 LDBOOL R2 1 0 + 0x880C0102, // 0001 GETMBR R3 R0 K2 + 0x4C100000, // 0002 LDNIL R4 + 0x200C0604, // 0003 NE R3 R3 R4 + 0x780E0007, // 0004 JMPF R3 #000D + 0x780A0003, // 0005 JMPF R2 #000A + 0x880C0102, // 0006 GETMBR R3 R0 K2 + 0x88100308, // 0007 GETMBR R4 R1 K8 + 0x1C0C0604, // 0008 EQ R3 R3 R4 + 0x740E0000, // 0009 JMPT R3 #000B + 0x500C0001, // 000A LDBOOL R3 0 1 + 0x500C0200, // 000B LDBOOL R3 1 0 + 0x5C080600, // 000C MOVE R2 R3 + 0x880C0103, // 000D GETMBR R3 R0 K3 + 0x4C100000, // 000E LDNIL R4 + 0x200C0604, // 000F NE R3 R3 R4 + 0x780E0007, // 0010 JMPF R3 #0019 + 0x780A0003, // 0011 JMPF R2 #0016 + 0x880C0103, // 0012 GETMBR R3 R0 K3 + 0x88100309, // 0013 GETMBR R4 R1 K9 + 0x1C0C0604, // 0014 EQ R3 R3 R4 + 0x740E0000, // 0015 JMPT R3 #0017 + 0x500C0001, // 0016 LDBOOL R3 0 1 + 0x500C0200, // 0017 LDBOOL R3 1 0 + 0x5C080600, // 0018 MOVE R2 R3 + 0x880C0104, // 0019 GETMBR R3 R0 K4 + 0x4C100000, // 001A LDNIL R4 + 0x200C0604, // 001B NE R3 R3 R4 + 0x780E0007, // 001C JMPF R3 #0025 + 0x780A0003, // 001D JMPF R2 #0022 + 0x880C0104, // 001E GETMBR R3 R0 K4 + 0x8810030A, // 001F GETMBR R4 R1 K10 + 0x1C0C0604, // 0020 EQ R3 R3 R4 + 0x740E0000, // 0021 JMPT R3 #0023 + 0x500C0001, // 0022 LDBOOL R3 0 1 + 0x500C0200, // 0023 LDBOOL R3 1 0 + 0x5C080600, // 0024 MOVE R2 R3 + 0x80040400, // 0025 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: next_event +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_next_event, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(next_event), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x78060001, // 0001 JMPF R1 #0004 + 0x4C040000, // 0002 LDNIL R1 + 0x80040200, // 0003 RET 1 R1 + 0x50040200, // 0004 LDBOOL R1 1 0 + 0x78060013, // 0005 JMPF R1 #001A + 0x88040100, // 0006 GETMBR R1 R0 K0 + 0x8804030B, // 0007 GETMBR R1 R1 K11 + 0x8C04030C, // 0008 GETMET R1 R1 K12 + 0x880C0106, // 0009 GETMBR R3 R0 K6 + 0x7C040400, // 000A CALL R1 2 + 0x4C080000, // 000B LDNIL R2 + 0x1C080202, // 000C EQ R2 R1 R2 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C080101, // 000E GETMET R2 R0 K1 + 0x7C080200, // 000F CALL R2 1 + 0x4C080000, // 0010 LDNIL R2 + 0x80040400, // 0011 RET 1 R2 + 0x88080306, // 0012 GETMBR R2 R1 K6 + 0x90020C02, // 0013 SETMBR R0 K6 R2 + 0x8C08010D, // 0014 GETMET R2 R0 K13 + 0x5C100200, // 0015 MOVE R4 R1 + 0x7C080400, // 0016 CALL R2 2 + 0x780A0000, // 0017 JMPF R2 #0019 + 0x80040200, // 0018 RET 1 R1 + 0x7001FFE9, // 0019 JMP #0004 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: restart_from +********************************************************************/ +be_local_closure(class_Matter_EventGenerator_restart_from, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_EventGenerator, /* shared constants */ + be_str_weak(restart_from), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x50080000, // 0000 LDBOOL R2 0 0 + 0x90020E02, // 0001 SETMBR R0 K7 R2 + 0x90020C01, // 0002 SETMBR R0 K6 R1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_EventGenerator +********************************************************************/ +be_local_class(Matter_EventGenerator, + 7, + NULL, + be_nested_map(15, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_EventGenerator_init_closure) }, + { be_const_key_weak(path_in_endpoint, -1), be_const_var(1) }, + { be_const_key_weak(get_pi, -1), be_const_closure(class_Matter_EventGenerator_get_pi_closure) }, + { be_const_key_weak(path_in_event, -1), be_const_var(3) }, + { be_const_key_weak(finished, -1), be_const_var(6) }, + { be_const_key_weak(path_in_event_min, -1), be_const_var(4) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + { be_const_key_weak(event_no, 9), be_const_var(5) }, + { be_const_key_weak(is_finished, -1), be_const_closure(class_Matter_EventGenerator_is_finished_closure) }, + { be_const_key_weak(restart_from, 5), be_const_closure(class_Matter_EventGenerator_restart_from_closure) }, + { be_const_key_weak(event_is_match, -1), be_const_closure(class_Matter_EventGenerator_event_is_match_closure) }, + { be_const_key_weak(start, 13), be_const_closure(class_Matter_EventGenerator_start_closure) }, + { be_const_key_weak(reset, 7), be_const_closure(class_Matter_EventGenerator_reset_closure) }, + { be_const_key_weak(next_event, -1), be_const_closure(class_Matter_EventGenerator_next_event_closure) }, + { be_const_key_weak(path_in_cluster, -1), be_const_var(2) }, + })), + be_str_weak(Matter_EventGenerator) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_PathGenerator.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_PathGenerator.h new file mode 100644 index 000000000..698ec5627 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Path_1_PathGenerator.h @@ -0,0 +1,688 @@ +/* Solidification of Matter_Path_1_PathGenerator.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_PathGenerator' ktab size: 37, total: 80 (saved 344 bytes) +static const bvalue be_ktab_class_Matter_PathGenerator[37] = { + /* K0 */ be_nested_str_weak(path_concrete), + /* K1 */ be_nested_str_weak(reset), + /* K2 */ be_nested_str_weak(pi), + /* K3 */ be_nested_str_weak(cluster), + /* K4 */ be_nested_str_weak(attribute), + /* K5 */ be_nested_str_weak(clusters), + /* K6 */ be_nested_str_weak(device), + /* K7 */ be_nested_str_weak(path_in_endpoint), + /* K8 */ be_nested_str_weak(path_in_cluster), + /* K9 */ be_nested_str_weak(path_in_attribute), + /* K10 */ be_nested_str_weak(is_direct), + /* K11 */ be_nested_str_weak(_next_endpoint), + /* K12 */ be_nested_str_weak(endpoint_found), + /* K13 */ be_nested_str_weak(_next_cluster), + /* K14 */ be_nested_str_weak(cluster_found), + /* K15 */ be_nested_str_weak(_next_attribute), + /* K16 */ be_nested_str_weak(attribute_found), + /* K17 */ be_nested_str_weak(endpoint), + /* K18 */ be_nested_str_weak(get_endpoint), + /* K19 */ be_nested_str_weak(fabric_filtered), + /* K20 */ be_nested_str_weak(path_in_fabric_filtered), + /* K21 */ be_nested_str_weak(status), + /* K22 */ be_nested_str_weak(_default_status_error), + /* K23 */ be_nested_str_weak(find), + /* K24 */ be_const_int(1), + /* K25 */ be_nested_str_weak(matter), + /* K26 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT), + /* K27 */ be_nested_str_weak(UNSUPPORTED_CLUSTER), + /* K28 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE), + /* K29 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE), + /* K30 */ be_nested_str_weak(get_attribute_list_bytes), + /* K31 */ be_const_int(2), + /* K32 */ be_const_int(0), + /* K33 */ be_nested_str_weak(get), + /* K34 */ be_nested_str_weak(plugins), + /* K35 */ be_nested_str_weak(get_cluster_list_sorted), + /* K36 */ be_nested_str_weak(Path), +}; + + +extern const bclass be_class_Matter_PathGenerator; + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_reset, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C080501, // 0002 GETMET R2 R2 K1 + 0x7C080200, // 0003 CALL R2 1 + 0x50080000, // 0004 LDBOOL R2 0 0 + 0x90020402, // 0005 SETMBR R0 K2 R2 + 0x90020601, // 0006 SETMBR R0 K3 R1 + 0x90020801, // 0007 SETMBR R0 K4 R1 + 0x90020A01, // 0008 SETMBR R0 K5 R1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_direct +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_is_direct, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(is_direct), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040108, // 0004 GETMBR R1 R0 K8 + 0x4C080000, // 0005 LDNIL R2 + 0x20040202, // 0006 NE R1 R1 R2 + 0x78060003, // 0007 JMPF R1 #000C + 0x88040109, // 0008 GETMBR R1 R0 K9 + 0x4C080000, // 0009 LDNIL R2 + 0x20040202, // 000A NE R1 R1 R2 + 0x74060000, // 000B JMPT R1 #000D + 0x50040001, // 000C LDBOOL R1 0 1 + 0x50040200, // 000D LDBOOL R1 1 0 + 0x80040200, // 000E RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_finished +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_is_finished, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(is_finished), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0x20040202, // 0002 NE R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: next_attribute +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_next_attribute, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(next_attribute), + &be_const_str_solidified, + ( &(const binstruction[95]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x74060006, // 0003 JMPT R1 #000B + 0x88040102, // 0004 GETMBR R1 R0 K2 + 0x4C080000, // 0005 LDNIL R2 + 0x20040202, // 0006 NE R1 R1 R2 + 0x78060006, // 0007 JMPF R1 #000F + 0x8C04010A, // 0008 GETMET R1 R0 K10 + 0x7C040200, // 0009 CALL R1 1 + 0x78060003, // 000A JMPF R1 #000F + 0x8C040101, // 000B GETMET R1 R0 K1 + 0x7C040200, // 000C CALL R1 1 + 0x4C040000, // 000D LDNIL R1 + 0x80040200, // 000E RET 1 R1 + 0x88040102, // 000F GETMBR R1 R0 K2 + 0x50080000, // 0010 LDBOOL R2 0 0 + 0x20040202, // 0011 NE R1 R1 R2 + 0x78060033, // 0012 JMPF R1 #0047 + 0x88040102, // 0013 GETMBR R1 R0 K2 + 0x4C080000, // 0014 LDNIL R2 + 0x1C040202, // 0015 EQ R1 R1 R2 + 0x74060003, // 0016 JMPT R1 #001B + 0x88040103, // 0017 GETMBR R1 R0 K3 + 0x50080000, // 0018 LDBOOL R2 0 0 + 0x1C040202, // 0019 EQ R1 R1 R2 + 0x78060002, // 001A JMPF R1 #001E + 0x8C04010B, // 001B GETMET R1 R0 K11 + 0x7C040200, // 001C CALL R1 1 + 0x7001FFF0, // 001D JMP #000F + 0x50040200, // 001E LDBOOL R1 1 0 + 0x90021801, // 001F SETMBR R0 K12 R1 + 0x88040103, // 0020 GETMBR R1 R0 K3 + 0x4C080000, // 0021 LDNIL R2 + 0x1C040202, // 0022 EQ R1 R1 R2 + 0x74060003, // 0023 JMPT R1 #0028 + 0x88040104, // 0024 GETMBR R1 R0 K4 + 0x50080000, // 0025 LDBOOL R2 0 0 + 0x1C040202, // 0026 EQ R1 R1 R2 + 0x78060002, // 0027 JMPF R1 #002B + 0x8C04010D, // 0028 GETMET R1 R0 K13 + 0x7C040200, // 0029 CALL R1 1 + 0x7001FFE3, // 002A JMP #000F + 0x50040200, // 002B LDBOOL R1 1 0 + 0x90021C01, // 002C SETMBR R0 K14 R1 + 0x8C04010F, // 002D GETMET R1 R0 K15 + 0x7C040200, // 002E CALL R1 1 + 0x88040104, // 002F GETMBR R1 R0 K4 + 0x50080000, // 0030 LDBOOL R2 0 0 + 0x1C040202, // 0031 EQ R1 R1 R2 + 0x78060000, // 0032 JMPF R1 #0034 + 0x7001FFDA, // 0033 JMP #000F + 0x50040200, // 0034 LDBOOL R1 1 0 + 0x90022001, // 0035 SETMBR R0 K16 R1 + 0x88040100, // 0036 GETMBR R1 R0 K0 + 0x8C080301, // 0037 GETMET R2 R1 K1 + 0x7C080200, // 0038 CALL R2 1 + 0x88080102, // 0039 GETMBR R2 R0 K2 + 0x8C080512, // 003A GETMET R2 R2 K18 + 0x7C080200, // 003B CALL R2 1 + 0x90062202, // 003C SETMBR R1 K17 R2 + 0x88080103, // 003D GETMBR R2 R0 K3 + 0x90060602, // 003E SETMBR R1 K3 R2 + 0x88080104, // 003F GETMBR R2 R0 K4 + 0x90060802, // 0040 SETMBR R1 K4 R2 + 0x88080114, // 0041 GETMBR R2 R0 K20 + 0x90062602, // 0042 SETMBR R1 K19 R2 + 0x4C080000, // 0043 LDNIL R2 + 0x90062A02, // 0044 SETMBR R1 K21 R2 + 0x80040200, // 0045 RET 1 R1 + 0x7001FFC7, // 0046 JMP #000F + 0x8C04010A, // 0047 GETMET R1 R0 K10 + 0x7C040200, // 0048 CALL R1 1 + 0x78060010, // 0049 JMPF R1 #005B + 0x88040100, // 004A GETMBR R1 R0 K0 + 0x8C080301, // 004B GETMET R2 R1 K1 + 0x7C080200, // 004C CALL R2 1 + 0x88080107, // 004D GETMBR R2 R0 K7 + 0x90062202, // 004E SETMBR R1 K17 R2 + 0x88080108, // 004F GETMBR R2 R0 K8 + 0x90060602, // 0050 SETMBR R1 K3 R2 + 0x88080109, // 0051 GETMBR R2 R0 K9 + 0x90060802, // 0052 SETMBR R1 K4 R2 + 0x88080114, // 0053 GETMBR R2 R0 K20 + 0x90062602, // 0054 SETMBR R1 K19 R2 + 0x8C080116, // 0055 GETMET R2 R0 K22 + 0x7C080200, // 0056 CALL R2 1 + 0x90062A02, // 0057 SETMBR R1 K21 R2 + 0x50080200, // 0058 LDBOOL R2 1 0 + 0x90020402, // 0059 SETMBR R0 K2 R2 + 0x80040200, // 005A RET 1 R1 + 0x8C040101, // 005B GETMET R1 R0 K1 + 0x7C040200, // 005C CALL R1 1 + 0x4C040000, // 005D LDNIL R1 + 0x80040200, // 005E RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _next_cluster +********************************************************************/ +be_local_closure(class_Matter_PathGenerator__next_cluster, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(_next_cluster), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060001, // 0003 JMPF R1 #0006 + 0x50040000, // 0004 LDBOOL R1 0 0 + 0x80040200, // 0005 RET 1 R1 + 0x88040105, // 0006 GETMBR R1 R0 K5 + 0x88080108, // 0007 GETMBR R2 R0 K8 + 0x4C0C0000, // 0008 LDNIL R3 + 0x90020803, // 0009 SETMBR R0 K4 R3 + 0x540DFFFE, // 000A LDINT R3 -1 + 0x88100103, // 000B GETMBR R4 R0 K3 + 0x4C140000, // 000C LDNIL R5 + 0x20100805, // 000D NE R4 R4 R5 + 0x78120003, // 000E JMPF R4 #0013 + 0x8C100317, // 000F GETMET R4 R1 K23 + 0x88180103, // 0010 GETMBR R6 R0 K3 + 0x7C100400, // 0011 CALL R4 2 + 0x5C0C0800, // 0012 MOVE R3 R4 + 0x4C100000, // 0013 LDNIL R4 + 0x20100604, // 0014 NE R4 R3 R4 + 0x78120011, // 0015 JMPF R4 #0028 + 0x00100718, // 0016 ADD R4 R3 K24 + 0x6014000C, // 0017 GETGBL R5 G12 + 0x5C180200, // 0018 MOVE R6 R1 + 0x7C140200, // 0019 CALL R5 1 + 0x14100805, // 001A LT R4 R4 R5 + 0x7812000B, // 001B JMPF R4 #0028 + 0x000C0718, // 001C ADD R3 R3 K24 + 0x94100203, // 001D GETIDX R4 R1 R3 + 0x90020604, // 001E SETMBR R0 K3 R4 + 0x4C100000, // 001F LDNIL R4 + 0x1C100404, // 0020 EQ R4 R2 R4 + 0x74120002, // 0021 JMPT R4 #0025 + 0x88100103, // 0022 GETMBR R4 R0 K3 + 0x1C100404, // 0023 EQ R4 R2 R4 + 0x78120001, // 0024 JMPF R4 #0027 + 0x88100103, // 0025 GETMBR R4 R0 K3 + 0x80040800, // 0026 RET 1 R4 + 0x7001FFED, // 0027 JMP #0016 + 0x50100000, // 0028 LDBOOL R4 0 0 + 0x90020604, // 0029 SETMBR R0 K3 R4 + 0x50100000, // 002A LDBOOL R4 0 0 + 0x80040800, // 002B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _default_status_error +********************************************************************/ +be_local_closure(class_Matter_PathGenerator__default_status_error, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(_default_status_error), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8C04010A, // 0000 GETMET R1 R0 K10 + 0x7C040200, // 0001 CALL R1 1 + 0x78060011, // 0002 JMPF R1 #0015 + 0x8804010C, // 0003 GETMBR R1 R0 K12 + 0x74060002, // 0004 JMPT R1 #0008 + 0xB8063200, // 0005 GETNGBL R1 K25 + 0x8804031A, // 0006 GETMBR R1 R1 K26 + 0x80040200, // 0007 RET 1 R1 + 0x8804010E, // 0008 GETMBR R1 R0 K14 + 0x74060002, // 0009 JMPT R1 #000D + 0xB8063200, // 000A GETNGBL R1 K25 + 0x8804031B, // 000B GETMBR R1 R1 K27 + 0x80040200, // 000C RET 1 R1 + 0x88040110, // 000D GETMBR R1 R0 K16 + 0x74060002, // 000E JMPT R1 #0012 + 0xB8063200, // 000F GETNGBL R1 K25 + 0x8804031C, // 0010 GETMBR R1 R1 K28 + 0x80040200, // 0011 RET 1 R1 + 0xB8063200, // 0012 GETNGBL R1 K25 + 0x8804031D, // 0013 GETMBR R1 R1 K29 + 0x80040200, // 0014 RET 1 R1 + 0x4C040000, // 0015 LDNIL R1 + 0x80040200, // 0016 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _next_attribute +********************************************************************/ +be_local_closure(class_Matter_PathGenerator__next_attribute, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(_next_attribute), + &be_const_str_solidified, + ( &(const binstruction[69]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060001, // 0003 JMPF R1 #0006 + 0x50040000, // 0004 LDBOOL R1 0 0 + 0x80040200, // 0005 RET 1 R1 + 0x88040102, // 0006 GETMBR R1 R0 K2 + 0x8C04031E, // 0007 GETMET R1 R1 K30 + 0x880C0103, // 0008 GETMBR R3 R0 K3 + 0x7C040400, // 0009 CALL R1 2 + 0x4C080000, // 000A LDNIL R2 + 0x20080202, // 000B NE R2 R1 R2 + 0x780A0004, // 000C JMPF R2 #0012 + 0x6008000C, // 000D GETGBL R2 G12 + 0x5C0C0200, // 000E MOVE R3 R1 + 0x7C080200, // 000F CALL R2 1 + 0x0C08051F, // 0010 DIV R2 R2 K31 + 0x70020000, // 0011 JMP #0013 + 0x58080020, // 0012 LDCONST R2 K32 + 0x880C0109, // 0013 GETMBR R3 R0 K9 + 0x5411FFFE, // 0014 LDINT R4 -1 + 0x88140104, // 0015 GETMBR R5 R0 K4 + 0x4C180000, // 0016 LDNIL R6 + 0x20140A06, // 0017 NE R5 R5 R6 + 0x78160012, // 0018 JMPF R5 #002C + 0x58140020, // 0019 LDCONST R5 K32 + 0x50180200, // 001A LDBOOL R6 1 0 + 0x781A000F, // 001B JMPF R6 #002C + 0x14180A02, // 001C LT R6 R5 R2 + 0x781A000A, // 001D JMPF R6 #0029 + 0x8C180321, // 001E GETMET R6 R1 K33 + 0x08200B1F, // 001F MUL R8 R5 K31 + 0x5425FFFD, // 0020 LDINT R9 -2 + 0x7C180600, // 0021 CALL R6 3 + 0x881C0104, // 0022 GETMBR R7 R0 K4 + 0x1C180C07, // 0023 EQ R6 R6 R7 + 0x781A0001, // 0024 JMPF R6 #0027 + 0x5C100A00, // 0025 MOVE R4 R5 + 0x70020004, // 0026 JMP #002C + 0x00140B18, // 0027 ADD R5 R5 K24 + 0x70020001, // 0028 JMP #002B + 0x4C100000, // 0029 LDNIL R4 + 0x70020000, // 002A JMP #002C + 0x7001FFED, // 002B JMP #001A + 0x4C140000, // 002C LDNIL R5 + 0x20140805, // 002D NE R5 R4 R5 + 0x78160011, // 002E JMPF R5 #0041 + 0x00140918, // 002F ADD R5 R4 K24 + 0x14140A02, // 0030 LT R5 R5 R2 + 0x7816000E, // 0031 JMPF R5 #0041 + 0x00100918, // 0032 ADD R4 R4 K24 + 0x8C140321, // 0033 GETMET R5 R1 K33 + 0x081C091F, // 0034 MUL R7 R4 K31 + 0x5421FFFD, // 0035 LDINT R8 -2 + 0x7C140600, // 0036 CALL R5 3 + 0x90020805, // 0037 SETMBR R0 K4 R5 + 0x4C140000, // 0038 LDNIL R5 + 0x1C140605, // 0039 EQ R5 R3 R5 + 0x74160002, // 003A JMPT R5 #003E + 0x88140104, // 003B GETMBR R5 R0 K4 + 0x1C140605, // 003C EQ R5 R3 R5 + 0x78160001, // 003D JMPF R5 #0040 + 0x88140104, // 003E GETMBR R5 R0 K4 + 0x80040A00, // 003F RET 1 R5 + 0x7001FFED, // 0040 JMP #002F + 0x50140000, // 0041 LDBOOL R5 0 0 + 0x90020805, // 0042 SETMBR R0 K4 R5 + 0x50140000, // 0043 LDBOOL R5 0 0 + 0x80040A00, // 0044 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _next_endpoint +********************************************************************/ +be_local_closure(class_Matter_PathGenerator__next_endpoint, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(_next_endpoint), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060001, // 0003 JMPF R1 #0006 + 0x50040000, // 0004 LDBOOL R1 0 0 + 0x80040200, // 0005 RET 1 R1 + 0x88040106, // 0006 GETMBR R1 R0 K6 + 0x88040322, // 0007 GETMBR R1 R1 K34 + 0x88080107, // 0008 GETMBR R2 R0 K7 + 0x4C0C0000, // 0009 LDNIL R3 + 0x90020603, // 000A SETMBR R0 K3 R3 + 0x4C0C0000, // 000B LDNIL R3 + 0x90020803, // 000C SETMBR R0 K4 R3 + 0x540DFFFE, // 000D LDINT R3 -1 + 0x88100102, // 000E GETMBR R4 R0 K2 + 0x4C140000, // 000F LDNIL R5 + 0x20100805, // 0010 NE R4 R4 R5 + 0x78120003, // 0011 JMPF R4 #0016 + 0x8C100317, // 0012 GETMET R4 R1 K23 + 0x88180102, // 0013 GETMBR R6 R0 K2 + 0x7C100400, // 0014 CALL R4 2 + 0x5C0C0800, // 0015 MOVE R3 R4 + 0x4C100000, // 0016 LDNIL R4 + 0x20100604, // 0017 NE R4 R3 R4 + 0x78120017, // 0018 JMPF R4 #0031 + 0x00100718, // 0019 ADD R4 R3 K24 + 0x6014000C, // 001A GETGBL R5 G12 + 0x5C180200, // 001B MOVE R6 R1 + 0x7C140200, // 001C CALL R5 1 + 0x14100805, // 001D LT R4 R4 R5 + 0x78120011, // 001E JMPF R4 #0031 + 0x000C0718, // 001F ADD R3 R3 K24 + 0x94100203, // 0020 GETIDX R4 R1 R3 + 0x90020404, // 0021 SETMBR R0 K2 R4 + 0x4C100000, // 0022 LDNIL R4 + 0x1C100404, // 0023 EQ R4 R2 R4 + 0x74120004, // 0024 JMPT R4 #002A + 0x88100102, // 0025 GETMBR R4 R0 K2 + 0x8C100912, // 0026 GETMET R4 R4 K18 + 0x7C100200, // 0027 CALL R4 1 + 0x1C100404, // 0028 EQ R4 R2 R4 + 0x78120005, // 0029 JMPF R4 #0030 + 0x88100102, // 002A GETMBR R4 R0 K2 + 0x8C100923, // 002B GETMET R4 R4 K35 + 0x7C100200, // 002C CALL R4 1 + 0x90020A04, // 002D SETMBR R0 K5 R4 + 0x88100102, // 002E GETMBR R4 R0 K2 + 0x80040800, // 002F RET 1 R4 + 0x7001FFE7, // 0030 JMP #0019 + 0x50100000, // 0031 LDBOOL R4 0 0 + 0x90020404, // 0032 SETMBR R0 K2 R4 + 0x50100000, // 0033 LDBOOL R4 0 0 + 0x80040800, // 0034 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pi +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_get_pi, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(get_pi), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x74060003, // 0003 JMPT R1 #0008 + 0x88040102, // 0004 GETMBR R1 R0 K2 + 0x50080200, // 0005 LDBOOL R2 1 0 + 0x1C040202, // 0006 EQ R1 R1 R2 + 0x78060001, // 0007 JMPF R1 #000A + 0x4C040000, // 0008 LDNIL R1 + 0x70020000, // 0009 JMP #000B + 0x88040102, // 000A GETMBR R1 R0 K2 + 0x80040200, // 000B RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Matter_PathGenerator_start, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_PathGenerator, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xB8163200, // 0000 GETNGBL R5 K25 + 0x8C140B24, // 0001 GETMET R5 R5 K36 + 0x7C140200, // 0002 CALL R5 1 + 0x90020005, // 0003 SETMBR R0 K0 R5 + 0x8C140101, // 0004 GETMET R5 R0 K1 + 0x7C140200, // 0005 CALL R5 1 + 0x90020E01, // 0006 SETMBR R0 K7 R1 + 0x90021002, // 0007 SETMBR R0 K8 R2 + 0x90021203, // 0008 SETMBR R0 K9 R3 + 0x60140017, // 0009 GETGBL R5 G23 + 0x5C180800, // 000A MOVE R6 R4 + 0x7C140200, // 000B CALL R5 1 + 0x90022805, // 000C SETMBR R0 K20 R5 + 0x4C140000, // 000D LDNIL R5 + 0x90020405, // 000E SETMBR R0 K2 R5 + 0x50140000, // 000F LDBOOL R5 0 0 + 0x90021805, // 0010 SETMBR R0 K12 R5 + 0x50140000, // 0011 LDBOOL R5 0 0 + 0x90021C05, // 0012 SETMBR R0 K14 R5 + 0x50140000, // 0013 LDBOOL R5 0 0 + 0x90022005, // 0014 SETMBR R0 K16 R5 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_PathGenerator +********************************************************************/ +be_local_class(Matter_PathGenerator, + 13, + NULL, + be_nested_map(24, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_PathGenerator_reset_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_Matter_PathGenerator_start_closure) }, + { be_const_key_weak(pi, -1), be_const_var(5) }, + { be_const_key_weak(init, 15), be_const_closure(class_Matter_PathGenerator_init_closure) }, + { be_const_key_weak(path_in_endpoint, -1), be_const_var(1) }, + { be_const_key_weak(path_in_cluster, -1), be_const_var(2) }, + { be_const_key_weak(get_pi, -1), be_const_closure(class_Matter_PathGenerator_get_pi_closure) }, + { be_const_key_weak(is_direct, 9), be_const_closure(class_Matter_PathGenerator_is_direct_closure) }, + { be_const_key_weak(is_finished, -1), be_const_closure(class_Matter_PathGenerator_is_finished_closure) }, + { be_const_key_weak(next_attribute, 22), be_const_closure(class_Matter_PathGenerator_next_attribute_closure) }, + { be_const_key_weak(cluster_found, 17), be_const_var(10) }, + { be_const_key_weak(endpoint_found, 6), be_const_var(9) }, + { be_const_key_weak(_next_attribute, -1), be_const_closure(class_Matter_PathGenerator__next_attribute_closure) }, + { be_const_key_weak(cluster, -1), be_const_var(6) }, + { be_const_key_weak(_next_cluster, -1), be_const_closure(class_Matter_PathGenerator__next_cluster_closure) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + { be_const_key_weak(path_concrete, -1), be_const_var(12) }, + { be_const_key_weak(clusters, -1), be_const_var(8) }, + { be_const_key_weak(path_in_fabric_filtered, -1), be_const_var(4) }, + { be_const_key_weak(_default_status_error, -1), be_const_closure(class_Matter_PathGenerator__default_status_error_closure) }, + { be_const_key_weak(attribute_found, 12), be_const_var(11) }, + { be_const_key_weak(_next_endpoint, -1), be_const_closure(class_Matter_PathGenerator__next_endpoint_closure) }, + { be_const_key_weak(path_in_attribute, -1), be_const_var(3) }, + { be_const_key_weak(attribute, 1), be_const_var(7) }, + })), + be_str_weak(Matter_PathGenerator) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_0.h new file mode 100644 index 000000000..013f4df7c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_0.h @@ -0,0 +1,1451 @@ +/* Solidification of Matter_Plugin_0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_Plugin; +// compact class 'Matter_Plugin' ktab size: 65, total: 108 (saved 344 bytes) +static const bvalue be_ktab_class_Matter_Plugin[65] = { + /* K0 */ be_nested_str_weak(json), + /* K1 */ be_nested_str_weak(node_label), + /* K2 */ be_nested_str_weak(_X2C_X22Name_X22_X3A_X25s), + /* K3 */ be_nested_str_weak(dump), + /* K4 */ be_nested_str_weak(), + /* K5 */ be_nested_str_weak(append_state_json), + /* K6 */ be_nested_str_weak(_X7B_X22Ep_X22_X3A_X25i_X25s_X25s_X7D), + /* K7 */ be_nested_str_weak(endpoint), + /* K8 */ be_nested_str_weak(tick), + /* K9 */ be_nested_str_weak(device), + /* K10 */ be_nested_str_weak(update_shadow), + /* K11 */ be_nested_str_weak(msg), + /* K12 */ be_nested_str_weak(message_handler), + /* K13 */ be_nested_str_weak(im), + /* K14 */ be_nested_str_weak(send_ack_now), + /* K15 */ be_nested_str_weak(CLUSTERS), + /* K16 */ be_nested_str_weak(find), + /* K17 */ be_nested_str_weak(attribute_updated), + /* K18 */ be_nested_str_weak(update_next), + /* K19 */ be_nested_str_weak(matter), + /* K20 */ be_nested_str_weak(jitter), + /* K21 */ be_nested_str_weak(UPDATE_TIME), + /* K22 */ be_nested_str_weak(tasmota), + /* K23 */ be_nested_str_weak(time_reached), + /* K24 */ be_nested_str_weak(millis), + /* K25 */ be_const_class(be_class_Matter_Plugin), + /* K26 */ be_nested_str_weak(ARG), + /* K27 */ be_nested_str_weak(ARG_TYPE), + /* K28 */ be_nested_str_weak(parse_configuration), + /* K29 */ be_nested_str_weak(name), + /* K30 */ be_nested_str_weak(BRIDGE), + /* K31 */ be_nested_str_weak(UPDATE_COMMANDS), + /* K32 */ be_nested_str_weak(k2l), + /* K33 */ be_nested_str_weak(events), + /* K34 */ be_nested_str_weak(publish_event), + /* K35 */ be_const_int(0), + /* K36 */ be_const_int(2), + /* K37 */ be_nested_str_weak(get), + /* K38 */ be_const_int(1), + /* K39 */ be_nested_str_weak(ZIGBEE), + /* K40 */ be_nested_str_weak(zigbee_mapper), + /* K41 */ be_nested_str_weak(resolve_zb_device), + /* K42 */ be_nested_str_weak(zb_single_command), + /* K43 */ be_nested_str_weak(_X25s_X3A_X25s), + /* K44 */ be_nested_str_weak(_X25s_X2C_X25s_X3A_X25s), + /* K45 */ be_nested_str_weak(publish_command), + /* K46 */ be_nested_str_weak(MtrReceived), + /* K47 */ be_nested_str_weak(contains), + /* K48 */ be_nested_str_weak(TLV), + /* K49 */ be_nested_str_weak(cluster), + /* K50 */ be_nested_str_weak(attribute), + /* K51 */ be_nested_str_weak(Matter_TLV_array), + /* K52 */ be_nested_str_weak(TYPES), + /* K53 */ be_nested_str_weak(keys), + /* K54 */ be_nested_str_weak(add_struct), + /* K55 */ be_nested_str_weak(add_TLV), + /* K56 */ be_nested_str_weak(U2), + /* K57 */ be_nested_str_weak(stop_iteration), + /* K58 */ be_nested_str_weak(get_cluster_list_sorted), + /* K59 */ be_nested_str_weak(U4), + /* K60 */ be_const_int(3), + /* K61 */ be_nested_str_weak(set), + /* K62 */ be_nested_str_weak(get_attribute_list_bytes), + /* K63 */ be_nested_str_weak(FEATURE_MAPS), + /* K64 */ be_nested_str_weak(CLUSTER_REVISIONS), +}; + + +extern const bclass be_class_Matter_Plugin; + +/******************************************************************** +** Solidified function: state_json +********************************************************************/ +be_local_closure(class_Matter_Plugin_state_json, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(state_json), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x780A0006, // 0002 JMPF R2 #000A + 0x60080018, // 0003 GETGBL R2 G24 + 0x580C0002, // 0004 LDCONST R3 K2 + 0x8C100303, // 0005 GETMET R4 R1 K3 + 0x88180101, // 0006 GETMBR R6 R0 K1 + 0x7C100400, // 0007 CALL R4 2 + 0x7C080400, // 0008 CALL R2 2 + 0x70020000, // 0009 JMP #000B + 0x58080004, // 000A LDCONST R2 K4 + 0x8C0C0105, // 000B GETMET R3 R0 K5 + 0x7C0C0200, // 000C CALL R3 1 + 0x780E0007, // 000D JMPF R3 #0016 + 0x60100018, // 000E GETGBL R4 G24 + 0x58140006, // 000F LDCONST R5 K6 + 0x88180107, // 0010 GETMBR R6 R0 K7 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x5C200600, // 0012 MOVE R8 R3 + 0x7C100800, // 0013 CALL R4 4 + 0x80040800, // 0014 RET 1 R4 + 0x70020001, // 0015 JMP #0018 + 0x4C100000, // 0016 LDNIL R4 + 0x80040800, // 0017 RET 1 R4 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow_lazy +********************************************************************/ +be_local_closure(class_Matter_Plugin_update_shadow_lazy, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(update_shadow_lazy), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x88080109, // 0001 GETMBR R2 R0 K9 + 0x88080508, // 0002 GETMBR R2 R2 K8 + 0x20040202, // 0003 NE R1 R1 R2 + 0x78060004, // 0004 JMPF R1 #000A + 0x8C04010A, // 0005 GETMET R1 R0 K10 + 0x7C040200, // 0006 CALL R1 1 + 0x88040109, // 0007 GETMBR R1 R0 K9 + 0x88040308, // 0008 GETMBR R1 R1 K8 + 0x90021001, // 0009 SETMBR R0 K8 R1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ack_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_ack_request, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(ack_request), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8808030B, // 0000 GETMBR R2 R1 K11 + 0x4C0C0000, // 0001 LDNIL R3 + 0x200C0403, // 0002 NE R3 R2 R3 + 0x780E0005, // 0003 JMPF R3 #000A + 0x880C0109, // 0004 GETMBR R3 R0 K9 + 0x880C070C, // 0005 GETMBR R3 R3 K12 + 0x880C070D, // 0006 GETMBR R3 R3 K13 + 0x8C0C070E, // 0007 GETMET R3 R3 K14 + 0x5C140400, // 0008 MOVE R5 R2 + 0x7C0C0400, // 0009 CALL R3 2 + 0x4C0C0000, // 000A LDNIL R3 + 0x90061603, // 000B SETMBR R1 K11 R3 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_attribute_list_bytes +********************************************************************/ +be_local_closure(class_Matter_Plugin_get_attribute_list_bytes, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(get_attribute_list_bytes), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8808010F, // 0000 GETMBR R2 R0 K15 + 0x8C080510, // 0001 GETMET R2 R2 K16 + 0x5C100200, // 0002 MOVE R4 R1 + 0x4C140000, // 0003 LDNIL R5 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_write_attribute, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(write_attribute), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attribute_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_attribute_updated, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(attribute_updated), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88100109, // 0000 GETMBR R4 R0 K9 + 0x8C100911, // 0001 GETMET R4 R4 K17 + 0x88180107, // 0002 GETMBR R6 R0 K7 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: append_state_json +********************************************************************/ +be_local_closure(class_Matter_Plugin_append_state_json, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(append_state_json), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060800, // 0000 RET 1 K4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_250ms +********************************************************************/ +be_local_closure(class_Matter_Plugin_every_250ms, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(every_250ms), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x88040112, // 0000 GETMBR R1 R0 K18 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060005, // 0003 JMPF R1 #000A + 0xB8062600, // 0004 GETNGBL R1 K19 + 0x8C040314, // 0005 GETMET R1 R1 K20 + 0x880C0115, // 0006 GETMBR R3 R0 K21 + 0x7C040400, // 0007 CALL R1 2 + 0x90022401, // 0008 SETMBR R0 K18 R1 + 0x70020010, // 0009 JMP #001B + 0xB8062C00, // 000A GETNGBL R1 K22 + 0x8C040317, // 000B GETMET R1 R1 K23 + 0x880C0112, // 000C GETMBR R3 R0 K18 + 0x7C040400, // 000D CALL R1 2 + 0x7806000B, // 000E JMPF R1 #001B + 0x88040108, // 000F GETMBR R1 R0 K8 + 0x88080109, // 0010 GETMBR R2 R0 K9 + 0x88080508, // 0011 GETMBR R2 R2 K8 + 0x20040202, // 0012 NE R1 R1 R2 + 0x78060001, // 0013 JMPF R1 #0016 + 0x8C04010A, // 0014 GETMET R1 R0 K10 + 0x7C040200, // 0015 CALL R1 1 + 0xB8062C00, // 0016 GETNGBL R1 K22 + 0x8C040318, // 0017 GETMET R1 R1 K24 + 0x880C0115, // 0018 GETMBR R3 R0 K21 + 0x7C040400, // 0019 CALL R1 2 + 0x90022401, // 001A SETMBR R0 K18 R1 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_invoke_request, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ui_string_to_conf +********************************************************************/ +be_local_closure(class_Matter_Plugin_ui_string_to_conf, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(ui_string_to_conf), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x580C0019, // 0000 LDCONST R3 K25 + 0x8810011A, // 0001 GETMBR R4 R0 K26 + 0x8814011B, // 0002 GETMBR R5 R0 K27 + 0x780A0004, // 0003 JMPF R2 #0009 + 0x78120003, // 0004 JMPF R4 #0009 + 0x5C180A00, // 0005 MOVE R6 R5 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x7C180200, // 0007 CALL R6 1 + 0x98040806, // 0008 SETIDX R1 R4 R6 + 0x80040200, // 0009 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_name +********************************************************************/ +be_local_closure(class_Matter_Plugin_set_name, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(set_name), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0003, // 0002 JMPF R2 #0007 + 0x8C080111, // 0003 GETMET R2 R0 K17 + 0x54120038, // 0004 LDINT R4 57 + 0x54160004, // 0005 LDINT R5 5 + 0x7C080600, // 0006 CALL R2 3 + 0x90020201, // 0007 SETMBR R0 K1 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_parse_configuration, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: timed_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_timed_request, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(timed_request), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x90021201, // 0000 SETMBR R0 K9 R1 + 0x90020E02, // 0001 SETMBR R0 K7 R2 + 0x8C10011C, // 0002 GETMET R4 R0 K28 + 0x5C180600, // 0003 MOVE R6 R3 + 0x7C100400, // 0004 CALL R4 2 + 0x8C100710, // 0005 GETMET R4 R3 K16 + 0x5818001D, // 0006 LDCONST R6 K29 + 0x581C0004, // 0007 LDCONST R7 K4 + 0x7C100600, // 0008 CALL R4 3 + 0x90020204, // 0009 SETMBR R0 K1 R4 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_local_device +********************************************************************/ +be_local_closure(class_Matter_Plugin_is_local_device, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(is_local_device), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8804011E, // 0000 GETMBR R1 R0 K30 + 0x78060000, // 0001 JMPF R1 #0003 + 0x50040001, // 0002 LDBOOL R1 0 1 + 0x50040200, // 0003 LDBOOL R1 1 0 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: consolidate_update_commands +********************************************************************/ +be_local_closure(class_Matter_Plugin_consolidate_update_commands, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(consolidate_update_commands), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804011F, // 0000 GETMBR R1 R0 K31 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_cluster_list_sorted +********************************************************************/ +be_local_closure(class_Matter_Plugin_get_cluster_list_sorted, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(get_cluster_list_sorted), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x8C040320, // 0001 GETMET R1 R1 K32 + 0x880C010F, // 0002 GETMBR R3 R0 K15 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ui_conf_to_string +********************************************************************/ +be_local_closure(class_Matter_Plugin_ui_conf_to_string, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(ui_conf_to_string), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x58080019, // 0000 LDCONST R2 K25 + 0x880C011A, // 0001 GETMBR R3 R0 K26 + 0x780E0006, // 0002 JMPF R3 #000A + 0x60100008, // 0003 GETGBL R4 G8 + 0x8C140310, // 0004 GETMET R5 R1 K16 + 0x5C1C0600, // 0005 MOVE R7 R3 + 0x58200004, // 0006 LDCONST R8 K4 + 0x7C140600, // 0007 CALL R5 3 + 0x7C100200, // 0008 CALL R4 1 + 0x70020000, // 0009 JMP #000B + 0x58100004, // 000A LDCONST R4 K4 + 0x80040800, // 000B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: publish_event +********************************************************************/ +be_local_closure(class_Matter_Plugin_publish_event, /* name */ + be_nested_proto( + 17, /* nstack */ + 7, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(publish_event), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x881C0109, // 0000 GETMBR R7 R0 K9 + 0x881C0F21, // 0001 GETMBR R7 R7 K33 + 0x8C1C0F22, // 0002 GETMET R7 R7 K34 + 0x88240107, // 0003 GETMBR R9 R0 K7 + 0x5C280200, // 0004 MOVE R10 R1 + 0x5C2C0400, // 0005 MOVE R11 R2 + 0x50300200, // 0006 LDBOOL R12 1 0 + 0x5C340600, // 0007 MOVE R13 R3 + 0x5C380800, // 0008 MOVE R14 R4 + 0x5C3C0A00, // 0009 MOVE R15 R5 + 0x5C400C00, // 000A MOVE R16 R6 + 0x7C1C1200, // 000B CALL R7 9 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_update_virtual, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _parse_update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin__parse_update_virtual, /* name */ + be_nested_proto( + 12, /* nstack */ + 7, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(_parse_update_virtual), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x8C1C0310, // 0000 GETMET R7 R1 K16 + 0x5C240400, // 0001 MOVE R9 R2 + 0x7C1C0400, // 0002 CALL R7 2 + 0x4C200000, // 0003 LDNIL R8 + 0x20200E08, // 0004 NE R8 R7 R8 + 0x78220010, // 0005 JMPF R8 #0017 + 0x5C200800, // 0006 MOVE R8 R4 + 0x5C240E00, // 0007 MOVE R9 R7 + 0x7C200200, // 0008 CALL R8 1 + 0x5C1C1000, // 0009 MOVE R7 R8 + 0x20200E03, // 000A NE R8 R7 R3 + 0x78220009, // 000B JMPF R8 #0016 + 0x4C200000, // 000C LDNIL R8 + 0x20200A08, // 000D NE R8 R5 R8 + 0x78220006, // 000E JMPF R8 #0016 + 0x4C200000, // 000F LDNIL R8 + 0x20200C08, // 0010 NE R8 R6 R8 + 0x78220003, // 0011 JMPF R8 #0016 + 0x8C200111, // 0012 GETMET R8 R0 K17 + 0x5C280A00, // 0013 MOVE R10 R5 + 0x5C2C0C00, // 0014 MOVE R11 R6 + 0x7C200600, // 0015 CALL R8 3 + 0x80040E00, // 0016 RET 1 R7 + 0x80040600, // 0017 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_update_shadow, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x88040308, // 0001 GETMBR R1 R1 K8 + 0x90021001, // 0002 SETMBR R0 K8 R1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: contains_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_contains_attribute, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(contains_attribute), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x880C010F, // 0000 GETMBR R3 R0 K15 + 0x8C0C0710, // 0001 GETMET R3 R3 K16 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x4C100000, // 0004 LDNIL R4 + 0x20100604, // 0005 NE R4 R3 R4 + 0x78120010, // 0006 JMPF R4 #0018 + 0x58100023, // 0007 LDCONST R4 K35 + 0x6014000C, // 0008 GETGBL R5 G12 + 0x5C180600, // 0009 MOVE R6 R3 + 0x7C140200, // 000A CALL R5 1 + 0x0C140B24, // 000B DIV R5 R5 K36 + 0x14180805, // 000C LT R6 R4 R5 + 0x781A0009, // 000D JMPF R6 #0018 + 0x8C180725, // 000E GETMET R6 R3 K37 + 0x08200924, // 000F MUL R8 R4 K36 + 0x5425FFFD, // 0010 LDINT R9 -2 + 0x7C180600, // 0011 CALL R6 3 + 0x1C180C02, // 0012 EQ R6 R6 R2 + 0x781A0001, // 0013 JMPF R6 #0016 + 0x50180200, // 0014 LDBOOL R6 1 0 + 0x80040C00, // 0015 RET 1 R6 + 0x00100926, // 0016 ADD R4 R4 K38 + 0x7001FFF3, // 0017 JMP #000C + 0x50100000, // 0018 LDBOOL R4 0 0 + 0x80040800, // 0019 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_name +********************************************************************/ +be_local_closure(class_Matter_Plugin_get_name, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(get_name), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_endpoint +********************************************************************/ +be_local_closure(class_Matter_Plugin_get_endpoint, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(get_endpoint), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subscribe_event +********************************************************************/ +be_local_closure(class_Matter_Plugin_subscribe_event, /* name */ + be_nested_proto( + 6, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(subscribe_event), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x80040A00, // 0001 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_event +********************************************************************/ +be_local_closure(class_Matter_Plugin_read_event, /* name */ + be_nested_proto( + 6, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(read_event), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x80040A00, // 0001 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_sensors +********************************************************************/ +be_local_closure(class_Matter_Plugin_parse_sensors, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(parse_sensors), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: publish_command +********************************************************************/ +be_local_closure(class_Matter_Plugin_publish_command, /* name */ + be_nested_proto( + 16, /* nstack */ + 7, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(publish_command), + &be_const_str_solidified, + ( &(const binstruction[69]) { /* code */ + 0x881C0127, // 0000 GETMBR R7 R0 K39 + 0x781E0014, // 0001 JMPF R7 #0017 + 0x881C0128, // 0002 GETMBR R7 R0 K40 + 0x781E0012, // 0003 JMPF R7 #0017 + 0x881C0128, // 0004 GETMBR R7 R0 K40 + 0x8C1C0F29, // 0005 GETMET R7 R7 K41 + 0x7C1C0200, // 0006 CALL R7 1 + 0x781E000E, // 0007 JMPF R7 #0017 + 0x881C0128, // 0008 GETMBR R7 R0 K40 + 0x8C1C0F2A, // 0009 GETMET R7 R7 K42 + 0x5C240200, // 000A MOVE R9 R1 + 0x5C280400, // 000B MOVE R10 R2 + 0x7C1C0600, // 000C CALL R7 3 + 0x881C0128, // 000D GETMBR R7 R0 K40 + 0x8C1C0F2A, // 000E GETMET R7 R7 K42 + 0x5C240600, // 000F MOVE R9 R3 + 0x5C280800, // 0010 MOVE R10 R4 + 0x7C1C0600, // 0011 CALL R7 3 + 0x881C0128, // 0012 GETMBR R7 R0 K40 + 0x8C1C0F2A, // 0013 GETMET R7 R7 K42 + 0x5C240A00, // 0014 MOVE R9 R5 + 0x5C280C00, // 0015 MOVE R10 R6 + 0x7C1C0600, // 0016 CALL R7 3 + 0xA41E0000, // 0017 IMPORT R7 K0 + 0x60200018, // 0018 GETGBL R8 G24 + 0x5824002B, // 0019 LDCONST R9 K43 + 0x8C280F03, // 001A GETMET R10 R7 K3 + 0x5C300200, // 001B MOVE R12 R1 + 0x7C280400, // 001C CALL R10 2 + 0x8C2C0F03, // 001D GETMET R11 R7 K3 + 0x5C340400, // 001E MOVE R13 R2 + 0x7C2C0400, // 001F CALL R11 2 + 0x7C200600, // 0020 CALL R8 3 + 0x4C240000, // 0021 LDNIL R9 + 0x20240609, // 0022 NE R9 R3 R9 + 0x7826000A, // 0023 JMPF R9 #002F + 0x60240018, // 0024 GETGBL R9 G24 + 0x5828002C, // 0025 LDCONST R10 K44 + 0x5C2C1000, // 0026 MOVE R11 R8 + 0x8C300F03, // 0027 GETMET R12 R7 K3 + 0x5C380600, // 0028 MOVE R14 R3 + 0x7C300400, // 0029 CALL R12 2 + 0x8C340F03, // 002A GETMET R13 R7 K3 + 0x5C3C0800, // 002B MOVE R15 R4 + 0x7C340400, // 002C CALL R13 2 + 0x7C240800, // 002D CALL R9 4 + 0x5C201200, // 002E MOVE R8 R9 + 0x4C240000, // 002F LDNIL R9 + 0x20240A09, // 0030 NE R9 R5 R9 + 0x7826000A, // 0031 JMPF R9 #003D + 0x60240018, // 0032 GETGBL R9 G24 + 0x5828002C, // 0033 LDCONST R10 K44 + 0x5C2C1000, // 0034 MOVE R11 R8 + 0x8C300F03, // 0035 GETMET R12 R7 K3 + 0x5C380A00, // 0036 MOVE R14 R5 + 0x7C300400, // 0037 CALL R12 2 + 0x8C340F03, // 0038 GETMET R13 R7 K3 + 0x5C3C0C00, // 0039 MOVE R15 R6 + 0x7C340400, // 003A CALL R13 2 + 0x7C240800, // 003B CALL R9 4 + 0x5C201200, // 003C MOVE R8 R9 + 0xB8262600, // 003D GETNGBL R9 K19 + 0x8C24132D, // 003E GETMET R9 R9 K45 + 0x582C002E, // 003F LDCONST R11 K46 + 0x88300107, // 0040 GETMBR R12 R0 K7 + 0x88340101, // 0041 GETMBR R13 R0 K1 + 0x5C381000, // 0042 MOVE R14 R8 + 0x7C240A00, // 0043 CALL R9 5 + 0x80000000, // 0044 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_clusters +********************************************************************/ +be_local_closure(class_Matter_Plugin_get_clusters, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(get_clusters), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010F, // 0000 GETMBR R1 R0 K15 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: contains_cluster +********************************************************************/ +be_local_closure(class_Matter_Plugin_contains_cluster, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(contains_cluster), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8808010F, // 0000 GETMBR R2 R0 K15 + 0x8C08052F, // 0001 GETMET R2 R2 K47 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_read_attribute, /* name */ + be_nested_proto( + 19, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[169]) { /* code */ + 0xB8122600, // 0000 GETNGBL R4 K19 + 0x88100930, // 0001 GETMBR R4 R4 K48 + 0x88140531, // 0002 GETMBR R5 R2 K49 + 0x88180532, // 0003 GETMBR R6 R2 K50 + 0x541E001C, // 0004 LDINT R7 29 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0050, // 0006 JMPF R7 #0058 + 0x1C1C0D23, // 0007 EQ R7 R6 K35 + 0x781E001B, // 0008 JMPF R7 #0025 + 0x8C1C0933, // 0009 GETMET R7 R4 K51 + 0x7C1C0200, // 000A CALL R7 1 + 0x88200134, // 000B GETMBR R8 R0 K52 + 0x60240010, // 000C GETGBL R9 G16 + 0x8C281135, // 000D GETMET R10 R8 K53 + 0x7C280200, // 000E CALL R10 1 + 0x7C240200, // 000F CALL R9 1 + 0xA802000E, // 0010 EXBLK 0 #0020 + 0x5C281200, // 0011 MOVE R10 R9 + 0x7C280000, // 0012 CALL R10 0 + 0x8C2C0F36, // 0013 GETMET R11 R7 K54 + 0x7C2C0200, // 0014 CALL R11 1 + 0x8C301737, // 0015 GETMET R12 R11 K55 + 0x58380023, // 0016 LDCONST R14 K35 + 0x883C0938, // 0017 GETMBR R15 R4 K56 + 0x5C401400, // 0018 MOVE R16 R10 + 0x7C300800, // 0019 CALL R12 4 + 0x8C301737, // 001A GETMET R12 R11 K55 + 0x58380026, // 001B LDCONST R14 K38 + 0x883C0938, // 001C GETMBR R15 R4 K56 + 0x9440100A, // 001D GETIDX R16 R8 R10 + 0x7C300800, // 001E CALL R12 4 + 0x7001FFF0, // 001F JMP #0011 + 0x58240039, // 0020 LDCONST R9 K57 + 0xAC240200, // 0021 CATCH R9 1 0 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x80040E00, // 0023 RET 1 R7 + 0x70020032, // 0024 JMP #0058 + 0x1C1C0D26, // 0025 EQ R7 R6 K38 + 0x781E0013, // 0026 JMPF R7 #003B + 0x8C1C0933, // 0027 GETMET R7 R4 K51 + 0x7C1C0200, // 0028 CALL R7 1 + 0x60200010, // 0029 GETGBL R8 G16 + 0x8C24013A, // 002A GETMET R9 R0 K58 + 0x7C240200, // 002B CALL R9 1 + 0x7C200200, // 002C CALL R8 1 + 0xA8020007, // 002D EXBLK 0 #0036 + 0x5C241000, // 002E MOVE R9 R8 + 0x7C240000, // 002F CALL R9 0 + 0x8C280F37, // 0030 GETMET R10 R7 K55 + 0x4C300000, // 0031 LDNIL R12 + 0x8834093B, // 0032 GETMBR R13 R4 K59 + 0x5C381200, // 0033 MOVE R14 R9 + 0x7C280800, // 0034 CALL R10 4 + 0x7001FFF7, // 0035 JMP #002E + 0x58200039, // 0036 LDCONST R8 K57 + 0xAC200200, // 0037 CATCH R8 1 0 + 0xB0080000, // 0038 RAISE 2 R0 R0 + 0x80040E00, // 0039 RET 1 R7 + 0x7002001C, // 003A JMP #0058 + 0x1C1C0D24, // 003B EQ R7 R6 K36 + 0x781E0003, // 003C JMPF R7 #0041 + 0x8C1C0933, // 003D GETMET R7 R4 K51 + 0x7C1C0200, // 003E CALL R7 1 + 0x80040E00, // 003F RET 1 R7 + 0x70020016, // 0040 JMP #0058 + 0x1C1C0D3C, // 0041 EQ R7 R6 K60 + 0x781E0003, // 0042 JMPF R7 #0047 + 0x8C1C0933, // 0043 GETMET R7 R4 K51 + 0x7C1C0200, // 0044 CALL R7 1 + 0x80040E00, // 0045 RET 1 R7 + 0x70020010, // 0046 JMP #0058 + 0x541EFFFB, // 0047 LDINT R7 65532 + 0x1C1C0C07, // 0048 EQ R7 R6 R7 + 0x781E0005, // 0049 JMPF R7 #0050 + 0x8C1C073D, // 004A GETMET R7 R3 K61 + 0x8824093B, // 004B GETMBR R9 R4 K59 + 0x58280023, // 004C LDCONST R10 K35 + 0x7C1C0600, // 004D CALL R7 3 + 0x80040E00, // 004E RET 1 R7 + 0x70020007, // 004F JMP #0058 + 0x541EFFFC, // 0050 LDINT R7 65533 + 0x1C1C0C07, // 0051 EQ R7 R6 R7 + 0x781E0004, // 0052 JMPF R7 #0058 + 0x8C1C073D, // 0053 GETMET R7 R3 K61 + 0x8824093B, // 0054 GETMBR R9 R4 K59 + 0x58280026, // 0055 LDCONST R10 K38 + 0x7C1C0600, // 0056 CALL R7 3 + 0x80040E00, // 0057 RET 1 R7 + 0x541EFFF7, // 0058 LDINT R7 65528 + 0x1C1C0C07, // 0059 EQ R7 R6 R7 + 0x781E0003, // 005A JMPF R7 #005F + 0x8C1C0933, // 005B GETMET R7 R4 K51 + 0x7C1C0200, // 005C CALL R7 1 + 0x80040E00, // 005D RET 1 R7 + 0x70020047, // 005E JMP #00A7 + 0x541EFFFA, // 005F LDINT R7 65531 + 0x1C1C0C07, // 0060 EQ R7 R6 R7 + 0x781E001B, // 0061 JMPF R7 #007E + 0x8C1C0933, // 0062 GETMET R7 R4 K51 + 0x7C1C0200, // 0063 CALL R7 1 + 0x8C20013E, // 0064 GETMET R8 R0 K62 + 0x5C280A00, // 0065 MOVE R10 R5 + 0x7C200400, // 0066 CALL R8 2 + 0x4C240000, // 0067 LDNIL R9 + 0x20241009, // 0068 NE R9 R8 R9 + 0x78260003, // 0069 JMPF R9 #006E + 0x6024000C, // 006A GETGBL R9 G12 + 0x5C281000, // 006B MOVE R10 R8 + 0x7C240200, // 006C CALL R9 1 + 0x70020000, // 006D JMP #006F + 0x58240023, // 006E LDCONST R9 K35 + 0x58280023, // 006F LDCONST R10 K35 + 0x142C1409, // 0070 LT R11 R10 R9 + 0x782E0009, // 0071 JMPF R11 #007C + 0x8C2C0F37, // 0072 GETMET R11 R7 K55 + 0x4C340000, // 0073 LDNIL R13 + 0x88380938, // 0074 GETMBR R14 R4 K56 + 0x8C3C1125, // 0075 GETMET R15 R8 K37 + 0x08441524, // 0076 MUL R17 R10 K36 + 0x5449FFFD, // 0077 LDINT R18 -2 + 0x7C3C0600, // 0078 CALL R15 3 + 0x7C2C0800, // 0079 CALL R11 4 + 0x00281526, // 007A ADD R10 R10 K38 + 0x7001FFF3, // 007B JMP #0070 + 0x80040E00, // 007C RET 1 R7 + 0x70020028, // 007D JMP #00A7 + 0x541EFFF9, // 007E LDINT R7 65530 + 0x1C1C0C07, // 007F EQ R7 R6 R7 + 0x781E0003, // 0080 JMPF R7 #0085 + 0x8C1C0933, // 0081 GETMET R7 R4 K51 + 0x7C1C0200, // 0082 CALL R7 1 + 0x80040E00, // 0083 RET 1 R7 + 0x70020021, // 0084 JMP #00A7 + 0x541EFFF8, // 0085 LDINT R7 65529 + 0x1C1C0C07, // 0086 EQ R7 R6 R7 + 0x781E0003, // 0087 JMPF R7 #008C + 0x8C1C0933, // 0088 GETMET R7 R4 K51 + 0x7C1C0200, // 0089 CALL R7 1 + 0x80040E00, // 008A RET 1 R7 + 0x7002001A, // 008B JMP #00A7 + 0x541EFFFB, // 008C LDINT R7 65532 + 0x1C1C0C07, // 008D EQ R7 R6 R7 + 0x781E000A, // 008E JMPF R7 #009A + 0x881C013F, // 008F GETMBR R7 R0 K63 + 0x8C1C0F10, // 0090 GETMET R7 R7 K16 + 0x5C240A00, // 0091 MOVE R9 R5 + 0x58280023, // 0092 LDCONST R10 K35 + 0x7C1C0600, // 0093 CALL R7 3 + 0x8C20073D, // 0094 GETMET R8 R3 K61 + 0x8828093B, // 0095 GETMBR R10 R4 K59 + 0x5C2C0E00, // 0096 MOVE R11 R7 + 0x7C200600, // 0097 CALL R8 3 + 0x80041000, // 0098 RET 1 R8 + 0x7002000C, // 0099 JMP #00A7 + 0x541EFFFC, // 009A LDINT R7 65533 + 0x1C1C0C07, // 009B EQ R7 R6 R7 + 0x781E0009, // 009C JMPF R7 #00A7 + 0x881C0140, // 009D GETMBR R7 R0 K64 + 0x8C1C0F10, // 009E GETMET R7 R7 K16 + 0x5C240A00, // 009F MOVE R9 R5 + 0x58280026, // 00A0 LDCONST R10 K38 + 0x7C1C0600, // 00A1 CALL R7 3 + 0x8C20073D, // 00A2 GETMET R8 R3 K61 + 0x8828093B, // 00A3 GETMBR R10 R4 K59 + 0x5C2C0E00, // 00A4 MOVE R11 R7 + 0x7C200600, // 00A5 CALL R8 3 + 0x80041000, // 00A6 RET 1 R8 + 0x4C1C0000, // 00A7 LDNIL R7 + 0x80040E00, // 00A8 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subscribe_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_subscribe_attribute, /* name */ + be_nested_proto( + 6, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin, /* shared constants */ + be_str_weak(subscribe_attribute), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x80040A00, // 0001 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin +********************************************************************/ +be_local_class(Matter_Plugin, + 5, + NULL, + be_nested_map(52, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(subscribe_attribute, -1), be_const_closure(class_Matter_Plugin_subscribe_attribute_closure) }, + { be_const_key_weak(state_json, 38), be_const_closure(class_Matter_Plugin_state_json_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_invoke_request_closure) }, + { be_const_key_weak(device, -1), be_const_var(1) }, + { be_const_key_weak(ack_request, -1), be_const_closure(class_Matter_Plugin_ack_request_closure) }, + { be_const_key_weak(get_attribute_list_bytes, -1), be_const_closure(class_Matter_Plugin_get_attribute_list_bytes_closure) }, + { be_const_key_weak(is_local_device, -1), be_const_closure(class_Matter_Plugin_is_local_device_closure) }, + { be_const_key_weak(write_attribute, -1), be_const_closure(class_Matter_Plugin_write_attribute_closure) }, + { be_const_key_weak(BRIDGE, -1), be_const_bool(0) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(CLUSTERS, 51), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(0, + ( (struct bvalue*) &(const bvalue[]) { + })) ) } )) }, + { be_const_key_weak(every_250ms, 0), be_const_closure(class_Matter_Plugin_every_250ms_closure) }, + { be_const_key_weak(get_clusters, -1), be_const_closure(class_Matter_Plugin_get_clusters_closure) }, + { be_const_key_weak(publish_command, -1), be_const_closure(class_Matter_Plugin_publish_command_closure) }, + { be_const_key_weak(set_name, -1), be_const_closure(class_Matter_Plugin_set_name_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin__X3Clambda_X3E_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_update_virtual_closure) }, + { be_const_key_weak(timed_request, -1), be_const_closure(class_Matter_Plugin_timed_request_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_init_closure) }, + { be_const_key_weak(update_shadow_lazy, 36), be_const_closure(class_Matter_Plugin_update_shadow_lazy_closure) }, + { be_const_key_weak(VIRTUAL, 9), be_const_bool(0) }, + { be_const_key_weak(COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(29, -1), be_const_nil() }, + })) ) } )) }, + { be_const_key_weak(ZIGBEE, -1), be_const_bool(0) }, + { be_const_key_weak(CLUSTER_REVISIONS, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(25, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(8, -1), be_const_int(5) }, + { be_const_key_int(1026, -1), be_const_int(4) }, + { be_const_key_int(1027, -1), be_const_int(3) }, + { be_const_key_int(3, 20), be_const_int(4) }, + { be_const_key_int(29, 17), be_const_int(2) }, + { be_const_key_int(5, 9), be_const_int(5) }, + { be_const_key_int(56, 11), be_const_int(2) }, + { be_const_key_int(257, 10), be_const_int(7) }, + { be_const_key_int(258, 0), be_const_int(5) }, + { be_const_key_int(1030, -1), be_const_int(3) }, + { be_const_key_int(1032, -1), be_const_int(3) }, + { be_const_key_int(1031, 23), be_const_int(3) }, + { be_const_key_int(512, -1), be_const_int(4) }, + { be_const_key_int(63, 22), be_const_int(2) }, + { be_const_key_int(514, -1), be_const_int(4) }, + { be_const_key_int(40, -1), be_const_int(2) }, + { be_const_key_int(516, -1), be_const_int(2) }, + { be_const_key_int(1029, 21), be_const_int(3) }, + { be_const_key_int(768, -1), be_const_int(6) }, + { be_const_key_int(769, -1), be_const_int(4) }, + { be_const_key_int(1028, -1), be_const_int(3) }, + { be_const_key_int(4, -1), be_const_int(4) }, + { be_const_key_int(513, -1), be_const_int(6) }, + { be_const_key_int(6, -1), be_const_int(5) }, + { be_const_key_int(1024, -1), be_const_int(3) }, + })) ) } )) }, + { be_const_key_weak(consolidate_update_commands, 34), be_const_closure(class_Matter_Plugin_consolidate_update_commands_closure) }, + { be_const_key_weak(ui_conf_to_string, -1), be_const_static_closure(class_Matter_Plugin_ui_conf_to_string_closure) }, + { be_const_key_weak(_parse_update_virtual, 2), be_const_closure(class_Matter_Plugin__parse_update_virtual_closure) }, + { be_const_key_weak(update_next, 17), be_const_var(0) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_update_shadow_closure) }, + { be_const_key_weak(attribute_updated, 27), be_const_closure(class_Matter_Plugin_attribute_updated_closure) }, + { be_const_key_weak(node_label, -1), be_const_var(4) }, + { be_const_key_weak(parse_configuration, 30), be_const_closure(class_Matter_Plugin_parse_configuration_closure) }, + { be_const_key_weak(get_cluster_list_sorted, -1), be_const_closure(class_Matter_Plugin_get_cluster_list_sorted_closure) }, + { be_const_key_weak(get_name, -1), be_const_closure(class_Matter_Plugin_get_name_closure) }, + { be_const_key_weak(endpoint, 6), be_const_var(2) }, + { be_const_key_weak(get_endpoint, -1), be_const_closure(class_Matter_Plugin_get_endpoint_closure) }, + { be_const_key_weak(FEATURE_MAPS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(258, -1), be_const_int(5) }, + { be_const_key_int(49, 2), be_const_int(4) }, + { be_const_key_int(514, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak() }, + { be_const_key_weak(subscribe_event, -1), be_const_closure(class_Matter_Plugin_subscribe_event_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak() }, + { be_const_key_weak(read_event, -1), be_const_closure(class_Matter_Plugin_read_event_closure) }, + { be_const_key_weak(publish_event, 22), be_const_closure(class_Matter_Plugin_publish_event_closure) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_parse_sensors_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak() }, + { be_const_key_weak(ui_string_to_conf, 14), be_const_static_closure(class_Matter_Plugin_ui_string_to_conf_closure) }, + { be_const_key_weak(contains_attribute, 13), be_const_closure(class_Matter_Plugin_contains_attribute_closure) }, + { be_const_key_weak(tick, -1), be_const_var(3) }, + { be_const_key_weak(contains_cluster, -1), be_const_closure(class_Matter_Plugin_contains_cluster_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_read_attribute_closure) }, + { be_const_key_weak(append_state_json, -1), be_const_closure(class_Matter_Plugin_append_state_json_closure) }, + })), + be_str_weak(Matter_Plugin) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Aggregator.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Aggregator.h new file mode 100644 index 000000000..ab3289d1f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Aggregator.h @@ -0,0 +1,220 @@ +/* Solidification of Matter_Plugin_1_Aggregator.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Aggregator' ktab size: 21, total: 29 (saved 64 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Aggregator[21] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(3), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(set), + /* K7 */ be_nested_str_weak(U2), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(U1), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(Matter_TLV_array), + /* K12 */ be_nested_str_weak(add_TLV), + /* K13 */ be_nested_str_weak(device), + /* K14 */ be_nested_str_weak(get_active_endpoints), + /* K15 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K16 */ be_nested_str_weak(stop_iteration), + /* K17 */ be_nested_str_weak(read_attribute), + /* K18 */ be_nested_str_weak(command), + /* K19 */ be_nested_str_weak(Matter_TLV_struct), + /* K20 */ be_nested_str_weak(invoke_request), +}; + + +extern const bclass be_class_Matter_Plugin_Aggregator; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Aggregator_read_attribute, /* name */ + be_nested_proto( + 16, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Aggregator, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[73]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x1C1C0B04, // 0004 EQ R7 R5 K4 + 0x781E000F, // 0005 JMPF R7 #0016 + 0x1C1C0D05, // 0006 EQ R7 R6 K5 + 0x781E0005, // 0007 JMPF R7 #000E + 0x8C1C0706, // 0008 GETMET R7 R3 K6 + 0x88240907, // 0009 GETMBR R9 R4 K7 + 0x58280005, // 000A LDCONST R10 K5 + 0x7C1C0600, // 000B CALL R7 3 + 0x80040E00, // 000C RET 1 R7 + 0x70020006, // 000D JMP #0015 + 0x1C1C0D08, // 000E EQ R7 R6 K8 + 0x781E0004, // 000F JMPF R7 #0015 + 0x8C1C0706, // 0010 GETMET R7 R3 K6 + 0x88240909, // 0011 GETMBR R9 R4 K9 + 0x58280005, // 0012 LDCONST R10 K5 + 0x7C1C0600, // 0013 CALL R7 3 + 0x80040E00, // 0014 RET 1 R7 + 0x70020029, // 0015 JMP #0040 + 0x541E001C, // 0016 LDINT R7 29 + 0x1C1C0A07, // 0017 EQ R7 R5 R7 + 0x781E0026, // 0018 JMPF R7 #0040 + 0x1C1C0D0A, // 0019 EQ R7 R6 K10 + 0x781E0008, // 001A JMPF R7 #0024 + 0x8C1C090B, // 001B GETMET R7 R4 K11 + 0x7C1C0200, // 001C CALL R7 1 + 0x8C200F0C, // 001D GETMET R8 R7 K12 + 0x4C280000, // 001E LDNIL R10 + 0x882C0907, // 001F GETMBR R11 R4 K7 + 0x5432001D, // 0020 LDINT R12 30 + 0x7C200800, // 0021 CALL R8 4 + 0x80040E00, // 0022 RET 1 R7 + 0x7002001B, // 0023 JMP #0040 + 0x1C1C0D04, // 0024 EQ R7 R6 K4 + 0x781E0019, // 0025 JMPF R7 #0040 + 0x8C1C090B, // 0026 GETMET R7 R4 K11 + 0x7C1C0200, // 0027 CALL R7 1 + 0x8820010D, // 0028 GETMBR R8 R0 K13 + 0x8C20110E, // 0029 GETMET R8 R8 K14 + 0x50280200, // 002A LDBOOL R10 1 0 + 0x7C200400, // 002B CALL R8 2 + 0x60240010, // 002C GETGBL R9 G16 + 0x5C281000, // 002D MOVE R10 R8 + 0x7C240200, // 002E CALL R9 1 + 0xA802000B, // 002F EXBLK 0 #003C + 0x5C281200, // 0030 MOVE R10 R9 + 0x7C280000, // 0031 CALL R10 0 + 0xB82E0000, // 0032 GETNGBL R11 K0 + 0x882C170F, // 0033 GETMBR R11 R11 K15 + 0x202C140B, // 0034 NE R11 R10 R11 + 0x782E0004, // 0035 JMPF R11 #003B + 0x8C2C0F0C, // 0036 GETMET R11 R7 K12 + 0x4C340000, // 0037 LDNIL R13 + 0x88380907, // 0038 GETMBR R14 R4 K7 + 0x5C3C1400, // 0039 MOVE R15 R10 + 0x7C2C0800, // 003A CALL R11 4 + 0x7001FFF3, // 003B JMP #0030 + 0x58240010, // 003C LDCONST R9 K16 + 0xAC240200, // 003D CATCH R9 1 0 + 0xB0080000, // 003E RAISE 2 R0 R0 + 0x80040E00, // 003F RET 1 R7 + 0x601C0003, // 0040 GETGBL R7 G3 + 0x5C200000, // 0041 MOVE R8 R0 + 0x7C1C0200, // 0042 CALL R7 1 + 0x8C1C0F11, // 0043 GETMET R7 R7 K17 + 0x5C240200, // 0044 MOVE R9 R1 + 0x5C280400, // 0045 MOVE R10 R2 + 0x5C2C0600, // 0046 MOVE R11 R3 + 0x7C1C0800, // 0047 CALL R7 4 + 0x80040E00, // 0048 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Aggregator, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140702, // 0002 GETMBR R5 R3 K2 + 0x88180712, // 0003 GETMBR R6 R3 K18 + 0x1C1C0B04, // 0004 EQ R7 R5 K4 + 0x781E0016, // 0005 JMPF R7 #001D + 0x1C1C0D05, // 0006 EQ R7 R6 K5 + 0x781E0002, // 0007 JMPF R7 #000B + 0x501C0200, // 0008 LDBOOL R7 1 0 + 0x80040E00, // 0009 RET 1 R7 + 0x70020010, // 000A JMP #001C + 0x1C1C0D08, // 000B EQ R7 R6 K8 + 0x781E0009, // 000C JMPF R7 #0017 + 0x8C1C0913, // 000D GETMET R7 R4 K19 + 0x7C1C0200, // 000E CALL R7 1 + 0x8C200F0C, // 000F GETMET R8 R7 K12 + 0x58280005, // 0010 LDCONST R10 K5 + 0x882C0907, // 0011 GETMBR R11 R4 K7 + 0x58300005, // 0012 LDCONST R12 K5 + 0x7C200800, // 0013 CALL R8 4 + 0x900E2505, // 0014 SETMBR R3 K18 K5 + 0x80040E00, // 0015 RET 1 R7 + 0x70020004, // 0016 JMP #001C + 0x541E003F, // 0017 LDINT R7 64 + 0x1C1C0C07, // 0018 EQ R7 R6 R7 + 0x781E0001, // 0019 JMPF R7 #001C + 0x501C0200, // 001A LDBOOL R7 1 0 + 0x80040E00, // 001B RET 1 R7 + 0x70020008, // 001C JMP #0026 + 0x601C0003, // 001D GETGBL R7 G3 + 0x5C200000, // 001E MOVE R8 R0 + 0x7C1C0200, // 001F CALL R7 1 + 0x8C1C0F14, // 0020 GETMET R7 R7 K20 + 0x5C240200, // 0021 MOVE R9 R1 + 0x5C280400, // 0022 MOVE R10 R2 + 0x5C2C0600, // 0023 MOVE R11 R3 + 0x7C1C0800, // 0024 CALL R7 4 + 0x80040E00, // 0025 RET 1 R7 + 0x80000000, // 0026 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Aggregator +********************************************************************/ +extern const bclass be_class_Matter_Plugin; +be_local_class(Matter_Plugin_Aggregator, + 0, + &be_class_Matter_Plugin, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Aggregator_read_attribute_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(aggregator) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(14, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Aggregator) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 0), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Aggregator_invoke_request_closure) }, + })), + be_str_weak(Matter_Plugin_Aggregator) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Device.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Device.h new file mode 100644 index 000000000..829d07578 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Device.h @@ -0,0 +1,1541 @@ +/* Solidification of Matter_Plugin_1_Device.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'GetOptionReader' ktab size: 17, total: 24 (saved 56 bytes) +static const bvalue be_ktab_class_GetOptionReader[17] = { + /* K0 */ be_nested_str_weak(flag), + /* K1 */ be_nested_str_weak(getbits), + /* K2 */ be_const_int(1), + /* K3 */ be_nested_str_weak(flag2), + /* K4 */ be_nested_str_weak(get), + /* K5 */ be_nested_str_weak(flag3), + /* K6 */ be_nested_str_weak(flag4), + /* K7 */ be_nested_str_weak(flag5), + /* K8 */ be_nested_str_weak(flag6), + /* K9 */ be_nested_str_weak(value_error), + /* K10 */ be_nested_str_weak(invalid_X20json), + /* K11 */ be_nested_str_weak(SetOption), + /* K12 */ be_nested_str_weak(fromhex), + /* K13 */ be_const_int(0), + /* K14 */ be_nested_str_weak(reverse), + /* K15 */ be_const_int(2), + /* K16 */ be_const_int(3), +}; + + +extern const bclass be_class_GetOptionReader; + +/******************************************************************** +** Solidified function: getoption +********************************************************************/ +be_local_closure(class_GetOptionReader_getoption, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_GetOptionReader, /* shared constants */ + be_str_weak(getoption), + &be_const_str_solidified, + ( &(const binstruction[65]) { /* code */ + 0x540A001F, // 0000 LDINT R2 32 + 0x14080202, // 0001 LT R2 R1 R2 + 0x780A0006, // 0002 JMPF R2 #000A + 0x88080100, // 0003 GETMBR R2 R0 K0 + 0x8C080501, // 0004 GETMET R2 R2 K1 + 0x5C100200, // 0005 MOVE R4 R1 + 0x58140002, // 0006 LDCONST R5 K2 + 0x7C080600, // 0007 CALL R2 3 + 0x80040400, // 0008 RET 1 R2 + 0x70020035, // 0009 JMP #0040 + 0x540A0031, // 000A LDINT R2 50 + 0x14080202, // 000B LT R2 R1 R2 + 0x780A0007, // 000C JMPF R2 #0015 + 0x88080103, // 000D GETMBR R2 R0 K3 + 0x8C080504, // 000E GETMET R2 R2 K4 + 0x5412001F, // 000F LDINT R4 32 + 0x04100204, // 0010 SUB R4 R1 R4 + 0x58140002, // 0011 LDCONST R5 K2 + 0x7C080600, // 0012 CALL R2 3 + 0x80040400, // 0013 RET 1 R2 + 0x7002002A, // 0014 JMP #0040 + 0x540A0051, // 0015 LDINT R2 82 + 0x14080202, // 0016 LT R2 R1 R2 + 0x780A0007, // 0017 JMPF R2 #0020 + 0x88080105, // 0018 GETMBR R2 R0 K5 + 0x8C080501, // 0019 GETMET R2 R2 K1 + 0x54120031, // 001A LDINT R4 50 + 0x04100204, // 001B SUB R4 R1 R4 + 0x58140002, // 001C LDCONST R5 K2 + 0x7C080600, // 001D CALL R2 3 + 0x80040400, // 001E RET 1 R2 + 0x7002001F, // 001F JMP #0040 + 0x540A0071, // 0020 LDINT R2 114 + 0x14080202, // 0021 LT R2 R1 R2 + 0x780A0007, // 0022 JMPF R2 #002B + 0x88080106, // 0023 GETMBR R2 R0 K6 + 0x8C080501, // 0024 GETMET R2 R2 K1 + 0x54120051, // 0025 LDINT R4 82 + 0x04100204, // 0026 SUB R4 R1 R4 + 0x58140002, // 0027 LDCONST R5 K2 + 0x7C080600, // 0028 CALL R2 3 + 0x80040400, // 0029 RET 1 R2 + 0x70020014, // 002A JMP #0040 + 0x540A0091, // 002B LDINT R2 146 + 0x14080202, // 002C LT R2 R1 R2 + 0x780A0007, // 002D JMPF R2 #0036 + 0x88080107, // 002E GETMBR R2 R0 K7 + 0x8C080501, // 002F GETMET R2 R2 K1 + 0x54120071, // 0030 LDINT R4 114 + 0x04100204, // 0031 SUB R4 R1 R4 + 0x58140002, // 0032 LDCONST R5 K2 + 0x7C080600, // 0033 CALL R2 3 + 0x80040400, // 0034 RET 1 R2 + 0x70020009, // 0035 JMP #0040 + 0x540A00B1, // 0036 LDINT R2 178 + 0x14080202, // 0037 LT R2 R1 R2 + 0x780A0006, // 0038 JMPF R2 #0040 + 0x88080108, // 0039 GETMBR R2 R0 K8 + 0x8C080501, // 003A GETMET R2 R2 K1 + 0x54120091, // 003B LDINT R4 146 + 0x04100204, // 003C SUB R4 R1 R4 + 0x58140002, // 003D LDCONST R5 K2 + 0x7C080600, // 003E CALL R2 3 + 0x80040400, // 003F RET 1 R2 + 0x80000000, // 0040 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_GetOptionReader_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_GetOptionReader, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[54]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0xB006130A, // 0003 RAISE 1 K9 K10 + 0x9408030B, // 0004 GETIDX R2 R1 K11 + 0x600C0015, // 0005 GETGBL R3 G21 + 0x7C0C0000, // 0006 CALL R3 0 + 0x8C0C070C, // 0007 GETMET R3 R3 K12 + 0x9414050D, // 0008 GETIDX R5 R2 K13 + 0x7C0C0400, // 0009 CALL R3 2 + 0x8C0C070E, // 000A GETMET R3 R3 K14 + 0x7C0C0200, // 000B CALL R3 1 + 0x90020003, // 000C SETMBR R0 K0 R3 + 0x600C0015, // 000D GETGBL R3 G21 + 0x7C0C0000, // 000E CALL R3 0 + 0x8C0C070C, // 000F GETMET R3 R3 K12 + 0x94140502, // 0010 GETIDX R5 R2 K2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x90020603, // 0012 SETMBR R0 K3 R3 + 0x600C0015, // 0013 GETGBL R3 G21 + 0x7C0C0000, // 0014 CALL R3 0 + 0x8C0C070C, // 0015 GETMET R3 R3 K12 + 0x9414050F, // 0016 GETIDX R5 R2 K15 + 0x7C0C0400, // 0017 CALL R3 2 + 0x8C0C070E, // 0018 GETMET R3 R3 K14 + 0x7C0C0200, // 0019 CALL R3 1 + 0x90020A03, // 001A SETMBR R0 K5 R3 + 0x600C0015, // 001B GETGBL R3 G21 + 0x7C0C0000, // 001C CALL R3 0 + 0x8C0C070C, // 001D GETMET R3 R3 K12 + 0x94140510, // 001E GETIDX R5 R2 K16 + 0x7C0C0400, // 001F CALL R3 2 + 0x8C0C070E, // 0020 GETMET R3 R3 K14 + 0x7C0C0200, // 0021 CALL R3 1 + 0x90020C03, // 0022 SETMBR R0 K6 R3 + 0x600C0015, // 0023 GETGBL R3 G21 + 0x7C0C0000, // 0024 CALL R3 0 + 0x8C0C070C, // 0025 GETMET R3 R3 K12 + 0x54160003, // 0026 LDINT R5 4 + 0x94140405, // 0027 GETIDX R5 R2 R5 + 0x7C0C0400, // 0028 CALL R3 2 + 0x8C0C070E, // 0029 GETMET R3 R3 K14 + 0x7C0C0200, // 002A CALL R3 1 + 0x90020E03, // 002B SETMBR R0 K7 R3 + 0x600C0015, // 002C GETGBL R3 G21 + 0x7C0C0000, // 002D CALL R3 0 + 0x8C0C070C, // 002E GETMET R3 R3 K12 + 0x54160004, // 002F LDINT R5 5 + 0x94140405, // 0030 GETIDX R5 R2 R5 + 0x7C0C0400, // 0031 CALL R3 2 + 0x8C0C070E, // 0032 GETMET R3 R3 K14 + 0x7C0C0200, // 0033 CALL R3 1 + 0x90021003, // 0034 SETMBR R0 K8 R3 + 0x80000000, // 0035 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: GetOptionReader +********************************************************************/ +be_local_class(GetOptionReader, + 6, + NULL, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(flag2, -1), be_const_var(1) }, + { be_const_key_weak(flag4, -1), be_const_var(3) }, + { be_const_key_weak(getoption, -1), be_const_closure(class_GetOptionReader_getoption_closure) }, + { be_const_key_weak(init, 5), be_const_closure(class_GetOptionReader_init_closure) }, + { be_const_key_weak(flag3, -1), be_const_var(2) }, + { be_const_key_weak(flag6, -1), be_const_var(5) }, + { be_const_key_weak(flag5, -1), be_const_var(4) }, + { be_const_key_weak(flag, 0), be_const_var(0) }, + })), + be_str_weak(GetOptionReader) +); +// compact class 'Matter_Plugin_Device' ktab size: 136, total: 180 (saved 352 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Device[136] = { + /* K0 */ be_nested_str_weak(BRIDGE), + /* K1 */ be_nested_str_weak(json), + /* K2 */ be_const_int(2), + /* K3 */ be_nested_str_weak(_X20), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(http_remote), + /* K6 */ be_nested_str_weak(call_sync), + /* K7 */ be_nested_str_weak(SYNC_TIMEOUT), + /* K8 */ be_nested_str_weak(device_is_alive), + /* K9 */ be_nested_str_weak(load), + /* K10 */ be_const_int(1), + /* K11 */ be_nested_str_weak(log), + /* K12 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20GET_X20retrying), + /* K13 */ be_const_int(3), + /* K14 */ be_nested_str_weak(webserver), + /* K15 */ be_nested_str_weak(web_values_prefix), + /* K16 */ be_nested_str_weak(content_send), + /* K17 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28), + /* K18 */ be_nested_str_weak(DISPLAY_NAME), + /* K19 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B), + /* K20 */ be_nested_str_weak(tick), + /* K21 */ be_nested_str_weak(device), + /* K22 */ be_nested_str_weak(parse_status_response_and_call_method), + /* K23 */ be_nested_str_weak(parse_status), + /* K24 */ be_nested_str_weak(add_schedule), + /* K25 */ be_nested_str_weak(UPDATE_CMD), + /* K26 */ be_nested_str_weak(UPDATE_TIME), + /* K27 */ be_nested_str_weak(matter), + /* K28 */ be_nested_str_weak(TLV), + /* K29 */ be_nested_str_weak(cluster), + /* K30 */ be_nested_str_weak(command), + /* K31 */ be_nested_str_weak(Matter_TLV_struct), + /* K32 */ be_nested_str_weak(add_TLV), + /* K33 */ be_nested_str_weak(U2), + /* K34 */ be_nested_str_weak(invoke_request), + /* K35 */ be_nested_str_weak(scheduler), + /* K36 */ be_nested_str_weak(every_250ms), + /* K37 */ be_nested_str_weak(math), + /* K38 */ be_nested_str_weak(MTR_X3A_X20zigbee_received_X20Ox_X2504X_X20attr_list_X3D_X25s_X20type_X28attr_list_X29_X3D_X25s), + /* K39 */ be_nested_str_weak(zigbee_mapper), + /* K40 */ be_nested_str_weak(shortaddr), + /* K41 */ be_nested_str_weak(key), + /* K42 */ be_nested_str_weak(ZIGBEE_NAME), + /* K43 */ be_nested_str_weak(pre_value), + /* K44 */ be_nested_str_weak(val), + /* K45 */ be_nested_str_weak(JSON_NAME), + /* K46 */ be_nested_str_weak(update_virtual), + /* K47 */ be_nested_str_weak(MTR_X3A_X20_X5B_X2502X_X5D_X20_X25s_X20updated_X20_X25s), + /* K48 */ be_nested_str_weak(endpoint), + /* K49 */ be_nested_str_weak(get_name), + /* K50 */ be_nested_str_weak(PREFIX), + /* K51 */ be_nested_str_weak(html_escape), + /* K52 */ be_nested_str_weak(), + /* K53 */ be_nested_str_weak(ZIGBEE), + /* K54 */ be_nested_str_weak(create_zb_mapper), + /* K55 */ be_nested_str_weak(init), + /* K56 */ be_nested_str_weak(find), + /* K57 */ be_nested_str_weak(ARG_HTTP), + /* K58 */ be_nested_str_weak(register_http_remote), + /* K59 */ be_nested_str_weak(PROBE_TIMEOUT), + /* K60 */ be_nested_str_weak(register_cmd_cb), + /* K61 */ be_nested_str_weak(attribute), + /* K62 */ be_nested_str_weak(set), + /* K63 */ be_nested_str_weak(U1), + /* K64 */ be_nested_str_weak(Matter_TLV_array), + /* K65 */ be_nested_str_weak(TYPES), + /* K66 */ be_nested_str_weak(keys), + /* K67 */ be_nested_str_weak(add_struct), + /* K68 */ be_nested_str_weak(stop_iteration), + /* K69 */ be_nested_str_weak(NON_BRIDGE_VENDOR), + /* K70 */ be_nested_str_weak(get_admin_vendor), + /* K71 */ be_nested_str_weak(disable_bridge_mode), + /* K72 */ be_nested_str_weak(string), + /* K73 */ be_nested_str_weak(get_info), + /* K74 */ be_nested_str_weak(name), + /* K75 */ be_nested_str_weak(set_or_nil), + /* K76 */ be_nested_str_weak(UTF1), + /* K77 */ be_nested_str_weak(tasmota), + /* K78 */ be_nested_str_weak(cmd), + /* K79 */ be_nested_str_weak(DeviceName), + /* K80 */ be_nested_str_weak(version), + /* K81 */ be_nested_str_weak(_X28), + /* K82 */ be_nested_str_weak(NULL), + /* K83 */ be_nested_str_weak(Status_X202), + /* K84 */ be_nested_str_weak(StatusFWR), + /* K85 */ be_nested_str_weak(Version), + /* K86 */ be_nested_str_weak(mac), + /* K87 */ be_nested_str_weak(wifi), + /* K88 */ be_nested_str_weak(BOOL), + /* K89 */ be_nested_str_weak(reachable), + /* K90 */ be_nested_str_weak(read_attribute), + /* K91 */ be_nested_str_weak(call_remote_sync), + /* K92 */ be_nested_str_weak(parse_http_response), + /* K93 */ be_nested_str_weak(_X3Cb_X3EOn_X3C_X2Fb_X3E), + /* K94 */ be_nested_str_weak(Off), + /* K95 */ be_nested_str_weak(introspect), + /* K96 */ be_nested_str_weak(get), + /* K97 */ be_nested_str_weak(contains), + /* K98 */ be_nested_str_weak(shadow_value), + /* K99 */ be_nested_str_weak(dump), + /* K100 */ be_nested_str_weak(null), + /* K101 */ be_nested_str_weak(_X2C_X22_X25s_X22_X3A_X25s), + /* K102 */ be_nested_str_weak(shadow_onoff), + /* K103 */ be_nested_str_weak(Power), + /* K104 */ be_nested_str_weak(shadow_bri), + /* K105 */ be_nested_str_weak(Bri), + /* K106 */ be_nested_str_weak(shadow_ct), + /* K107 */ be_nested_str_weak(CT), + /* K108 */ be_nested_str_weak(shadow_hue), + /* K109 */ be_nested_str_weak(Hue), + /* K110 */ be_nested_str_weak(shadow_sat), + /* K111 */ be_nested_str_weak(Sat), + /* K112 */ be_nested_str_weak(shadow_shutter_pos), + /* K113 */ be_nested_str_weak(ShutterPos), + /* K114 */ be_nested_str_weak(shadow_shutter_target), + /* K115 */ be_nested_str_weak(ShutterTarget), + /* K116 */ be_nested_str_weak(shadow_shutter_tilt), + /* K117 */ be_nested_str_weak(ShutterTilt), + /* K118 */ be_nested_str_weak(shadow_contact), + /* K119 */ be_nested_str_weak(Contact), + /* K120 */ be_nested_str_weak(shadow_occupancy), + /* K121 */ be_nested_str_weak(Occupancy), + /* K122 */ be_nested_str_weak(shadow_air_quality), + /* K123 */ be_nested_str_weak(AirQuality), + /* K124 */ be_nested_str_weak(shadow_co2), + /* K125 */ be_nested_str_weak(CO2), + /* K126 */ be_nested_str_weak(shadow_pm1), + /* K127 */ be_nested_str_weak(PM1), + /* K128 */ be_nested_str_weak(shadow_pm2_5), + /* K129 */ be_nested_str_weak(PM2_X2E5), + /* K130 */ be_nested_str_weak(shadow_pm10), + /* K131 */ be_nested_str_weak(PM10), + /* K132 */ be_nested_str_weak(shadow_tvoc), + /* K133 */ be_nested_str_weak(TVOC), + /* K134 */ be_nested_str_weak(parse_configuration), + /* K135 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Device; + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_pre_value, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80040200, // 0000 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: call_remote_sync +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_call_remote_sync, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(call_remote_sync), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x780E0028, // 0001 JMPF R3 #002B + 0xA40E0200, // 0002 IMPORT R3 K1 + 0x58100002, // 0003 LDCONST R4 K2 + 0x4C140000, // 0004 LDNIL R5 + 0x20140405, // 0005 NE R5 R2 R5 + 0x78160005, // 0006 JMPF R5 #000D + 0x00140303, // 0007 ADD R5 R1 K3 + 0x60180008, // 0008 GETGBL R6 G8 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x7C180200, // 000A CALL R6 1 + 0x00140A06, // 000B ADD R5 R5 R6 + 0x5C040A00, // 000C MOVE R1 R5 + 0x24140904, // 000D GT R5 R4 K4 + 0x78160015, // 000E JMPF R5 #0025 + 0x88140105, // 000F GETMBR R5 R0 K5 + 0x8C140B06, // 0010 GETMET R5 R5 K6 + 0x5C1C0200, // 0011 MOVE R7 R1 + 0x88200107, // 0012 GETMBR R8 R0 K7 + 0x7C140600, // 0013 CALL R5 3 + 0x4C180000, // 0014 LDNIL R6 + 0x20180A06, // 0015 NE R6 R5 R6 + 0x781A0007, // 0016 JMPF R6 #001F + 0x88180105, // 0017 GETMBR R6 R0 K5 + 0x8C180D08, // 0018 GETMET R6 R6 K8 + 0x50200200, // 0019 LDBOOL R8 1 0 + 0x7C180400, // 001A CALL R6 2 + 0x8C180709, // 001B GETMET R6 R3 K9 + 0x5C200A00, // 001C MOVE R8 R5 + 0x7C180400, // 001D CALL R6 2 + 0x80040C00, // 001E RET 1 R6 + 0x0410090A, // 001F SUB R4 R4 K10 + 0xB81A1600, // 0020 GETNGBL R6 K11 + 0x581C000C, // 0021 LDCONST R7 K12 + 0x5820000D, // 0022 LDCONST R8 K13 + 0x7C180400, // 0023 CALL R6 2 + 0x7001FFE7, // 0024 JMP #000D + 0x88140105, // 0025 GETMBR R5 R0 K5 + 0x8C140B08, // 0026 GETMET R5 R5 K8 + 0x501C0000, // 0027 LDBOOL R7 0 0 + 0x7C140400, // 0028 CALL R5 2 + 0x4C140000, // 0029 LDNIL R5 + 0x80040A00, // 002A RET 1 R5 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_web_values, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xA4061C00, // 0000 IMPORT R1 K14 + 0x8C08010F, // 0001 GETMET R2 R0 K15 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080310, // 0003 GETMET R2 R1 K16 + 0x88100112, // 0004 GETMBR R4 R0 K18 + 0x00122204, // 0005 ADD R4 K17 R4 + 0x00100913, // 0006 ADD R4 R4 K19 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_response +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_parse_http_response, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(parse_http_response), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x7812000A, // 0001 JMPF R4 #000D + 0x88100115, // 0002 GETMBR R4 R0 K21 + 0x88100914, // 0003 GETMBR R4 R4 K20 + 0x90022804, // 0004 SETMBR R0 K20 R4 + 0x88100105, // 0005 GETMBR R4 R0 K5 + 0x8C100916, // 0006 GETMET R4 R4 K22 + 0x5C180200, // 0007 MOVE R6 R1 + 0x5C1C0400, // 0008 MOVE R7 R2 + 0x5C200600, // 0009 MOVE R8 R3 + 0x5C240000, // 000A MOVE R9 R0 + 0x88280117, // 000B GETMBR R10 R0 K23 + 0x7C100C00, // 000C CALL R4 6 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_cmd_cb +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_register_cmd_cb, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(parse_http_response), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80040600, // 0006 RET 1 R3 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(register_cmd_cb), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040105, // 0000 GETMBR R1 R0 K5 + 0x8C040318, // 0001 GETMET R1 R1 K24 + 0x880C0119, // 0002 GETMBR R3 R0 K25 + 0x8810011A, // 0003 GETMBR R4 R0 K26 + 0x84140000, // 0004 CLOSURE R5 P0 + 0x7C040800, // 0005 CALL R1 4 + 0xA0000000, // 0006 CLOSE R0 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_invoke_request, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[51]) { /* code */ + 0xB8123600, // 0000 GETNGBL R4 K27 + 0x8810091C, // 0001 GETMBR R4 R4 K28 + 0x8814071D, // 0002 GETMBR R5 R3 K29 + 0x8818071E, // 0003 GETMBR R6 R3 K30 + 0x1C1C0B0D, // 0004 EQ R7 R5 K13 + 0x781E0016, // 0005 JMPF R7 #001D + 0x1C1C0D04, // 0006 EQ R7 R6 K4 + 0x781E0002, // 0007 JMPF R7 #000B + 0x501C0200, // 0008 LDBOOL R7 1 0 + 0x80040E00, // 0009 RET 1 R7 + 0x70020010, // 000A JMP #001C + 0x1C1C0D0A, // 000B EQ R7 R6 K10 + 0x781E0009, // 000C JMPF R7 #0017 + 0x8C1C091F, // 000D GETMET R7 R4 K31 + 0x7C1C0200, // 000E CALL R7 1 + 0x8C200F20, // 000F GETMET R8 R7 K32 + 0x58280004, // 0010 LDCONST R10 K4 + 0x882C0921, // 0011 GETMBR R11 R4 K33 + 0x58300004, // 0012 LDCONST R12 K4 + 0x7C200800, // 0013 CALL R8 4 + 0x900E3D04, // 0014 SETMBR R3 K30 K4 + 0x80040E00, // 0015 RET 1 R7 + 0x70020004, // 0016 JMP #001C + 0x541E003F, // 0017 LDINT R7 64 + 0x1C1C0C07, // 0018 EQ R7 R6 R7 + 0x781E0001, // 0019 JMPF R7 #001C + 0x501C0200, // 001A LDBOOL R7 1 0 + 0x80040E00, // 001B RET 1 R7 + 0x70020014, // 001C JMP #0032 + 0x541E0003, // 001D LDINT R7 4 + 0x1C1C0A07, // 001E EQ R7 R5 R7 + 0x781E0002, // 001F JMPF R7 #0023 + 0x501C0200, // 0020 LDBOOL R7 1 0 + 0x80040E00, // 0021 RET 1 R7 + 0x7002000E, // 0022 JMP #0032 + 0x541E0004, // 0023 LDINT R7 5 + 0x1C1C0A07, // 0024 EQ R7 R5 R7 + 0x781E0002, // 0025 JMPF R7 #0029 + 0x501C0200, // 0026 LDBOOL R7 1 0 + 0x80040E00, // 0027 RET 1 R7 + 0x70020008, // 0028 JMP #0032 + 0x601C0003, // 0029 GETGBL R7 G3 + 0x5C200000, // 002A MOVE R8 R0 + 0x7C1C0200, // 002B CALL R7 1 + 0x8C1C0F22, // 002C GETMET R7 R7 K34 + 0x5C240200, // 002D MOVE R9 R1 + 0x5C280400, // 002E MOVE R10 R2 + 0x5C2C0600, // 002F MOVE R11 R3 + 0x7C1C0800, // 0030 CALL R7 4 + 0x80040E00, // 0031 RET 1 R7 + 0x80000000, // 0032 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_250ms +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_every_250ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(every_250ms), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040105, // 0002 GETMBR R1 R0 K5 + 0x8C040323, // 0003 GETMET R1 R1 K35 + 0x7C040200, // 0004 CALL R1 1 + 0x70020004, // 0005 JMP #000B + 0x60040003, // 0006 GETGBL R1 G3 + 0x5C080000, // 0007 MOVE R2 R0 + 0x7C040200, // 0008 CALL R1 1 + 0x8C040324, // 0009 GETMET R1 R1 K36 + 0x7C040200, // 000A CALL R1 1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: zigbee_received +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_zigbee_received, /* name */ + be_nested_proto( + 14, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(zigbee_received), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0xA40E4A00, // 0000 IMPORT R3 K37 + 0xB8121600, // 0001 GETNGBL R4 K11 + 0x60140018, // 0002 GETGBL R5 G24 + 0x58180026, // 0003 LDCONST R6 K38 + 0x881C0127, // 0004 GETMBR R7 R0 K39 + 0x881C0F28, // 0005 GETMBR R7 R7 K40 + 0x5C200400, // 0006 MOVE R8 R2 + 0x60240004, // 0007 GETGBL R9 G4 + 0x5C280400, // 0008 MOVE R10 R2 + 0x7C240200, // 0009 CALL R9 1 + 0x7C140800, // 000A CALL R5 4 + 0x5818000D, // 000B LDCONST R6 K13 + 0x7C100400, // 000C CALL R4 2 + 0x58100004, // 000D LDCONST R4 K4 + 0x6014000C, // 000E GETGBL R5 G12 + 0x5C180400, // 000F MOVE R6 R2 + 0x7C140200, // 0010 CALL R5 1 + 0x14140805, // 0011 LT R5 R4 R5 + 0x7816001B, // 0012 JMPF R5 #002F + 0x94140404, // 0013 GETIDX R5 R2 R4 + 0x88180B29, // 0014 GETMBR R6 R5 K41 + 0x881C012A, // 0015 GETMBR R7 R0 K42 + 0x1C180C07, // 0016 EQ R6 R6 R7 + 0x781A0014, // 0017 JMPF R6 #002D + 0x8C18012B, // 0018 GETMET R6 R0 K43 + 0x88200B2C, // 0019 GETMBR R8 R5 K44 + 0x7C180400, // 001A CALL R6 2 + 0x601C0013, // 001B GETGBL R7 G19 + 0x7C1C0000, // 001C CALL R7 0 + 0x8820012D, // 001D GETMBR R8 R0 K45 + 0x981C1006, // 001E SETIDX R7 R8 R6 + 0x8C20012E, // 001F GETMET R8 R0 K46 + 0x5C280E00, // 0020 MOVE R10 R7 + 0x7C200400, // 0021 CALL R8 2 + 0xB8221600, // 0022 GETNGBL R8 K11 + 0x60240018, // 0023 GETGBL R9 G24 + 0x5828002F, // 0024 LDCONST R10 K47 + 0x882C0130, // 0025 GETMBR R11 R0 K48 + 0x8830012D, // 0026 GETMBR R12 R0 K45 + 0x5C340E00, // 0027 MOVE R13 R7 + 0x7C240800, // 0028 CALL R9 4 + 0x5828000D, // 0029 LDCONST R10 K13 + 0x7C200400, // 002A CALL R8 2 + 0x4C200000, // 002B LDNIL R8 + 0x80041000, // 002C RET 1 R8 + 0x0010090A, // 002D ADD R4 R4 K10 + 0x7001FFDE, // 002E JMP #000E + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xA4061C00, // 0000 IMPORT R1 K14 + 0x8C080131, // 0001 GETMET R2 R0 K49 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0310, // 0003 GETMET R3 R1 K16 + 0x60140018, // 0004 GETGBL R5 G24 + 0x88180132, // 0005 GETMBR R6 R0 K50 + 0x780A0003, // 0006 JMPF R2 #000B + 0x8C1C0333, // 0007 GETMET R7 R1 K51 + 0x5C240400, // 0008 MOVE R9 R2 + 0x7C1C0400, // 0009 CALL R7 2 + 0x70020000, // 000A JMP #000C + 0x581C0034, // 000B LDCONST R7 K52 + 0x7C140400, // 000C CALL R5 2 + 0x7C0C0400, // 000D CALL R3 2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x88100135, // 0000 GETMBR R4 R0 K53 + 0x78120003, // 0001 JMPF R4 #0006 + 0x8C100336, // 0002 GETMET R4 R1 K54 + 0x5C180000, // 0003 MOVE R6 R0 + 0x7C100400, // 0004 CALL R4 2 + 0x90024E04, // 0005 SETMBR R0 K39 R4 + 0x60100003, // 0006 GETGBL R4 G3 + 0x5C140000, // 0007 MOVE R5 R0 + 0x7C100200, // 0008 CALL R4 1 + 0x8C100937, // 0009 GETMET R4 R4 K55 + 0x5C180200, // 000A MOVE R6 R1 + 0x5C1C0400, // 000B MOVE R7 R2 + 0x5C200600, // 000C MOVE R8 R3 + 0x7C100800, // 000D CALL R4 4 + 0x88100100, // 000E GETMBR R4 R0 K0 + 0x7812000A, // 000F JMPF R4 #001B + 0x8C100738, // 0010 GETMET R4 R3 K56 + 0x88180139, // 0011 GETMBR R6 R0 K57 + 0x7C100400, // 0012 CALL R4 2 + 0x88140115, // 0013 GETMBR R5 R0 K21 + 0x8C140B3A, // 0014 GETMET R5 R5 K58 + 0x5C1C0800, // 0015 MOVE R7 R4 + 0x8820013B, // 0016 GETMBR R8 R0 K59 + 0x7C140600, // 0017 CALL R5 3 + 0x90020A05, // 0018 SETMBR R0 K5 R5 + 0x8C14013C, // 0019 GETMET R5 R0 K60 + 0x7C140200, // 001A CALL R5 1 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_read_attribute, /* name */ + be_nested_proto( + 17, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[244]) { /* code */ + 0xB8123600, // 0000 GETNGBL R4 K27 + 0x8810091C, // 0001 GETMBR R4 R4 K28 + 0x8814051D, // 0002 GETMBR R5 R2 K29 + 0x8818053D, // 0003 GETMBR R6 R2 K61 + 0x1C1C0B0D, // 0004 EQ R7 R5 K13 + 0x781E000F, // 0005 JMPF R7 #0016 + 0x1C1C0D04, // 0006 EQ R7 R6 K4 + 0x781E0005, // 0007 JMPF R7 #000E + 0x8C1C073E, // 0008 GETMET R7 R3 K62 + 0x88240921, // 0009 GETMBR R9 R4 K33 + 0x58280004, // 000A LDCONST R10 K4 + 0x7C1C0600, // 000B CALL R7 3 + 0x80040E00, // 000C RET 1 R7 + 0x70020006, // 000D JMP #0015 + 0x1C1C0D0A, // 000E EQ R7 R6 K10 + 0x781E0004, // 000F JMPF R7 #0015 + 0x8C1C073E, // 0010 GETMET R7 R3 K62 + 0x8824093F, // 0011 GETMBR R9 R4 K63 + 0x58280004, // 0012 LDCONST R10 K4 + 0x7C1C0600, // 0013 CALL R7 3 + 0x80040E00, // 0014 RET 1 R7 + 0x700200D4, // 0015 JMP #00EB + 0x541E0003, // 0016 LDINT R7 4 + 0x1C1C0A07, // 0017 EQ R7 R5 R7 + 0x781E0004, // 0018 JMPF R7 #001E + 0x1C1C0D04, // 0019 EQ R7 R6 K4 + 0x781E0001, // 001A JMPF R7 #001D + 0x4C1C0000, // 001B LDNIL R7 + 0x80040E00, // 001C RET 1 R7 + 0x700200CC, // 001D JMP #00EB + 0x541E0004, // 001E LDINT R7 5 + 0x1C1C0A07, // 001F EQ R7 R5 R7 + 0x781E0000, // 0020 JMPF R7 #0022 + 0x700200C8, // 0021 JMP #00EB + 0x541E001C, // 0022 LDINT R7 29 + 0x1C1C0A07, // 0023 EQ R7 R5 R7 + 0x781E0034, // 0024 JMPF R7 #005A + 0x1C1C0D04, // 0025 EQ R7 R6 K4 + 0x781E0031, // 0026 JMPF R7 #0059 + 0x8C1C0940, // 0027 GETMET R7 R4 K64 + 0x7C1C0200, // 0028 CALL R7 1 + 0x88200141, // 0029 GETMBR R8 R0 K65 + 0x60240010, // 002A GETGBL R9 G16 + 0x8C281142, // 002B GETMET R10 R8 K66 + 0x7C280200, // 002C CALL R10 1 + 0x7C240200, // 002D CALL R9 1 + 0xA802000E, // 002E EXBLK 0 #003E + 0x5C281200, // 002F MOVE R10 R9 + 0x7C280000, // 0030 CALL R10 0 + 0x8C2C0F43, // 0031 GETMET R11 R7 K67 + 0x7C2C0200, // 0032 CALL R11 1 + 0x8C301720, // 0033 GETMET R12 R11 K32 + 0x58380004, // 0034 LDCONST R14 K4 + 0x883C0921, // 0035 GETMBR R15 R4 K33 + 0x5C401400, // 0036 MOVE R16 R10 + 0x7C300800, // 0037 CALL R12 4 + 0x8C301720, // 0038 GETMET R12 R11 K32 + 0x5838000A, // 0039 LDCONST R14 K10 + 0x883C0921, // 003A GETMBR R15 R4 K33 + 0x9440100A, // 003B GETIDX R16 R8 R10 + 0x7C300800, // 003C CALL R12 4 + 0x7001FFF0, // 003D JMP #002F + 0x58240044, // 003E LDCONST R9 K68 + 0xAC240200, // 003F CATCH R9 1 0 + 0xB0080000, // 0040 RAISE 2 R0 R0 + 0x88240145, // 0041 GETMBR R9 R0 K69 + 0x8C241338, // 0042 GETMET R9 R9 K56 + 0x8C2C0346, // 0043 GETMET R11 R1 K70 + 0x7C2C0200, // 0044 CALL R11 1 + 0x7C240400, // 0045 CALL R9 2 + 0x4C280000, // 0046 LDNIL R10 + 0x1C24120A, // 0047 EQ R9 R9 R10 + 0x7826000E, // 0048 JMPF R9 #0058 + 0x88240115, // 0049 GETMBR R9 R0 K21 + 0x88241347, // 004A GETMBR R9 R9 K71 + 0x7426000B, // 004B JMPT R9 #0058 + 0x8C240F43, // 004C GETMET R9 R7 K67 + 0x7C240200, // 004D CALL R9 1 + 0x8C281320, // 004E GETMET R10 R9 K32 + 0x58300004, // 004F LDCONST R12 K4 + 0x88340921, // 0050 GETMBR R13 R4 K33 + 0x543A0012, // 0051 LDINT R14 19 + 0x7C280800, // 0052 CALL R10 4 + 0x8C281320, // 0053 GETMET R10 R9 K32 + 0x5830000A, // 0054 LDCONST R12 K10 + 0x88340921, // 0055 GETMBR R13 R4 K33 + 0x5838000A, // 0056 LDCONST R14 K10 + 0x7C280800, // 0057 CALL R10 4 + 0x80040E00, // 0058 RET 1 R7 + 0x70020090, // 0059 JMP #00EB + 0x541E0038, // 005A LDINT R7 57 + 0x1C1C0A07, // 005B EQ R7 R5 R7 + 0x781E008D, // 005C JMPF R7 #00EB + 0xA41E9000, // 005D IMPORT R7 K72 + 0x1C200D0D, // 005E EQ R8 R6 K13 + 0x78220018, // 005F JMPF R8 #0079 + 0x88200100, // 0060 GETMBR R8 R0 K0 + 0x7822000B, // 0061 JMPF R8 #006E + 0x88200105, // 0062 GETMBR R8 R0 K5 + 0x8C201149, // 0063 GETMET R8 R8 K73 + 0x7C200200, // 0064 CALL R8 1 + 0x8C201138, // 0065 GETMET R8 R8 K56 + 0x5828004A, // 0066 LDCONST R10 K74 + 0x7C200400, // 0067 CALL R8 2 + 0x8C24074B, // 0068 GETMET R9 R3 K75 + 0x882C094C, // 0069 GETMBR R11 R4 K76 + 0x5C301000, // 006A MOVE R12 R8 + 0x7C240600, // 006B CALL R9 3 + 0x80041200, // 006C RET 1 R9 + 0x70020009, // 006D JMP #0078 + 0x8C20073E, // 006E GETMET R8 R3 K62 + 0x8828094C, // 006F GETMBR R10 R4 K76 + 0xB82E9A00, // 0070 GETNGBL R11 K77 + 0x8C2C174E, // 0071 GETMET R11 R11 K78 + 0x5834004F, // 0072 LDCONST R13 K79 + 0x50380200, // 0073 LDBOOL R14 1 0 + 0x7C2C0600, // 0074 CALL R11 3 + 0x942C174F, // 0075 GETIDX R11 R11 K79 + 0x7C200600, // 0076 CALL R8 3 + 0x80041000, // 0077 RET 1 R8 + 0x70020071, // 0078 JMP #00EB + 0x54220004, // 0079 LDINT R8 5 + 0x1C200C08, // 007A EQ R8 R6 R8 + 0x78220006, // 007B JMPF R8 #0083 + 0x8C20073E, // 007C GETMET R8 R3 K62 + 0x8828094C, // 007D GETMBR R10 R4 K76 + 0x8C2C0131, // 007E GETMET R11 R0 K49 + 0x7C2C0200, // 007F CALL R11 1 + 0x7C200600, // 0080 CALL R8 3 + 0x80041000, // 0081 RET 1 R8 + 0x70020067, // 0082 JMP #00EB + 0x54220009, // 0083 LDINT R8 10 + 0x1C200C08, // 0084 EQ R8 R6 R8 + 0x78220033, // 0085 JMPF R8 #00BA + 0x88200100, // 0086 GETMBR R8 R0 K0 + 0x7822001B, // 0087 JMPF R8 #00A4 + 0x88200105, // 0088 GETMBR R8 R0 K5 + 0x8C201149, // 0089 GETMET R8 R8 K73 + 0x7C200200, // 008A CALL R8 1 + 0x8C201138, // 008B GETMET R8 R8 K56 + 0x58280050, // 008C LDCONST R10 K80 + 0x7C200400, // 008D CALL R8 2 + 0x7822000E, // 008E JMPF R8 #009E + 0x8C240F38, // 008F GETMET R9 R7 K56 + 0x5C2C1000, // 0090 MOVE R11 R8 + 0x58300051, // 0091 LDCONST R12 K81 + 0x7C240600, // 0092 CALL R9 3 + 0x24281304, // 0093 GT R10 R9 K4 + 0x782A0002, // 0094 JMPF R10 #0098 + 0x0428130A, // 0095 SUB R10 R9 K10 + 0x402A080A, // 0096 CONNECT R10 K4 R10 + 0x9420100A, // 0097 GETIDX R8 R8 R10 + 0x8C28073E, // 0098 GETMET R10 R3 K62 + 0x8830094C, // 0099 GETMBR R12 R4 K76 + 0x5C341000, // 009A MOVE R13 R8 + 0x7C280600, // 009B CALL R10 3 + 0x80041400, // 009C RET 1 R10 + 0x70020004, // 009D JMP #00A3 + 0x8C24073E, // 009E GETMET R9 R3 K62 + 0x882C0952, // 009F GETMBR R11 R4 K82 + 0x4C300000, // 00A0 LDNIL R12 + 0x7C240600, // 00A1 CALL R9 3 + 0x80041200, // 00A2 RET 1 R9 + 0x70020014, // 00A3 JMP #00B9 + 0xB8229A00, // 00A4 GETNGBL R8 K77 + 0x8C20114E, // 00A5 GETMET R8 R8 K78 + 0x58280053, // 00A6 LDCONST R10 K83 + 0x502C0200, // 00A7 LDBOOL R11 1 0 + 0x7C200600, // 00A8 CALL R8 3 + 0x94201154, // 00A9 GETIDX R8 R8 K84 + 0x94201155, // 00AA GETIDX R8 R8 K85 + 0x8C240F38, // 00AB GETMET R9 R7 K56 + 0x5C2C1000, // 00AC MOVE R11 R8 + 0x58300051, // 00AD LDCONST R12 K81 + 0x7C240600, // 00AE CALL R9 3 + 0x24281304, // 00AF GT R10 R9 K4 + 0x782A0002, // 00B0 JMPF R10 #00B4 + 0x0428130A, // 00B1 SUB R10 R9 K10 + 0x402A080A, // 00B2 CONNECT R10 K4 R10 + 0x9420100A, // 00B3 GETIDX R8 R8 R10 + 0x8C28073E, // 00B4 GETMET R10 R3 K62 + 0x8830094C, // 00B5 GETMBR R12 R4 K76 + 0x5C341000, // 00B6 MOVE R13 R8 + 0x7C280600, // 00B7 CALL R10 3 + 0x80041400, // 00B8 RET 1 R10 + 0x70020030, // 00B9 JMP #00EB + 0x5422000E, // 00BA LDINT R8 15 + 0x1C200C08, // 00BB EQ R8 R6 R8 + 0x74220002, // 00BC JMPT R8 #00C0 + 0x54220011, // 00BD LDINT R8 18 + 0x1C200C08, // 00BE EQ R8 R6 R8 + 0x78220019, // 00BF JMPF R8 #00DA + 0x88200100, // 00C0 GETMBR R8 R0 K0 + 0x7822000B, // 00C1 JMPF R8 #00CE + 0x88200105, // 00C2 GETMBR R8 R0 K5 + 0x8C201149, // 00C3 GETMET R8 R8 K73 + 0x7C200200, // 00C4 CALL R8 1 + 0x8C201138, // 00C5 GETMET R8 R8 K56 + 0x58280056, // 00C6 LDCONST R10 K86 + 0x7C200400, // 00C7 CALL R8 2 + 0x8C24074B, // 00C8 GETMET R9 R3 K75 + 0x882C094C, // 00C9 GETMBR R11 R4 K76 + 0x5C301000, // 00CA MOVE R12 R8 + 0x7C240600, // 00CB CALL R9 3 + 0x80041200, // 00CC RET 1 R9 + 0x7002000A, // 00CD JMP #00D9 + 0x8C20073E, // 00CE GETMET R8 R3 K62 + 0x8828094C, // 00CF GETMBR R10 R4 K76 + 0xB82E9A00, // 00D0 GETNGBL R11 K77 + 0x8C2C1757, // 00D1 GETMET R11 R11 K87 + 0x7C2C0200, // 00D2 CALL R11 1 + 0x8C2C1738, // 00D3 GETMET R11 R11 K56 + 0x58340056, // 00D4 LDCONST R13 K86 + 0x58380034, // 00D5 LDCONST R14 K52 + 0x7C2C0600, // 00D6 CALL R11 3 + 0x7C200600, // 00D7 CALL R8 3 + 0x80041000, // 00D8 RET 1 R8 + 0x70020010, // 00D9 JMP #00EB + 0x54220010, // 00DA LDINT R8 17 + 0x1C200C08, // 00DB EQ R8 R6 R8 + 0x7822000D, // 00DC JMPF R8 #00EB + 0x88200100, // 00DD GETMBR R8 R0 K0 + 0x78220006, // 00DE JMPF R8 #00E6 + 0x8C20073E, // 00DF GETMET R8 R3 K62 + 0x88280958, // 00E0 GETMBR R10 R4 K88 + 0x882C0105, // 00E1 GETMBR R11 R0 K5 + 0x882C1759, // 00E2 GETMBR R11 R11 K89 + 0x7C200600, // 00E3 CALL R8 3 + 0x80041000, // 00E4 RET 1 R8 + 0x70020004, // 00E5 JMP #00EB + 0x8C20073E, // 00E6 GETMET R8 R3 K62 + 0x88280958, // 00E7 GETMBR R10 R4 K88 + 0x582C000A, // 00E8 LDCONST R11 K10 + 0x7C200600, // 00E9 CALL R8 3 + 0x80041000, // 00EA RET 1 R8 + 0x601C0003, // 00EB GETGBL R7 G3 + 0x5C200000, // 00EC MOVE R8 R0 + 0x7C1C0200, // 00ED CALL R7 1 + 0x8C1C0F5A, // 00EE GETMET R7 R7 K90 + 0x5C240200, // 00EF MOVE R9 R1 + 0x5C280400, // 00F0 MOVE R10 R2 + 0x5C2C0600, // 00F1 MOVE R11 R3 + 0x7C1C0800, // 00F2 CALL R7 4 + 0x80040E00, // 00F3 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_update_shadow, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x7806000D, // 0001 JMPF R1 #0010 + 0x88040114, // 0002 GETMBR R1 R0 K20 + 0x88080115, // 0003 GETMBR R2 R0 K21 + 0x88080514, // 0004 GETMBR R2 R2 K20 + 0x20040202, // 0005 NE R1 R1 R2 + 0x78060008, // 0006 JMPF R1 #0010 + 0x8C04015B, // 0007 GETMET R1 R0 K91 + 0x880C0119, // 0008 GETMBR R3 R0 K25 + 0x7C040400, // 0009 CALL R1 2 + 0x78060004, // 000A JMPF R1 #0010 + 0x8C08015C, // 000B GETMET R2 R0 K92 + 0x5810000A, // 000C LDCONST R4 K10 + 0x5C140200, // 000D MOVE R5 R1 + 0x88180119, // 000E GETMBR R6 R0 K25 + 0x7C080800, // 000F CALL R2 4 + 0x88040115, // 0010 GETMBR R1 R0 K21 + 0x88040314, // 0011 GETMBR R1 R1 K20 + 0x90022801, // 0012 SETMBR R0 K20 R1 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_value_onoff +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_web_value_onoff, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(web_value_onoff), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0004, // 0002 JMPF R2 #0008 + 0x78060001, // 0003 JMPF R1 #0006 + 0x5808005D, // 0004 LDCONST R2 K93 + 0x70020000, // 0005 JMP #0007 + 0x5808005E, // 0006 LDCONST R2 K94 + 0x70020000, // 0007 JMP #0009 + 0x58080034, // 0008 LDCONST R2 K52 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: append_state_json +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_append_state_json, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 3), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(introspect), + /* K1 */ be_nested_str_weak(json), + /* K2 */ be_nested_str_weak(get), + /* K3 */ be_nested_str_weak(bool), + /* K4 */ be_nested_str_weak(_X2C_X22_X25s_X22_X3A_X25s), + /* K5 */ be_nested_str_weak(dump), + }), + be_str_weak(_stats_json_inner), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0xA40E0200, // 0001 IMPORT R3 K1 + 0x4C100000, // 0002 LDNIL R4 + 0x8C140502, // 0003 GETMET R5 R2 K2 + 0x681C0000, // 0004 GETUPV R7 U0 + 0x5C200000, // 0005 MOVE R8 R0 + 0x7C140600, // 0006 CALL R5 3 + 0x5C100A00, // 0007 MOVE R4 R5 + 0x4C180000, // 0008 LDNIL R6 + 0x20140A06, // 0009 NE R5 R5 R6 + 0x78160012, // 000A JMPF R5 #001E + 0x60140004, // 000B GETGBL R5 G4 + 0x5C180800, // 000C MOVE R6 R4 + 0x7C140200, // 000D CALL R5 1 + 0x1C140B03, // 000E EQ R5 R5 K3 + 0x78160003, // 000F JMPF R5 #0014 + 0x60140009, // 0010 GETGBL R5 G9 + 0x5C180800, // 0011 MOVE R6 R4 + 0x7C140200, // 0012 CALL R5 1 + 0x5C100A00, // 0013 MOVE R4 R5 + 0x60180018, // 0014 GETGBL R6 G24 + 0x581C0004, // 0015 LDCONST R7 K4 + 0x5C200200, // 0016 MOVE R8 R1 + 0x8C240705, // 0017 GETMET R9 R3 K5 + 0x5C2C0800, // 0018 MOVE R11 R4 + 0x7C240400, // 0019 CALL R9 2 + 0x7C180600, // 001A CALL R6 3 + 0x68140001, // 001B GETUPV R5 U1 + 0x00140A06, // 001C ADD R5 R5 R6 + 0x6C140001, // 001D SETUPV R5 U1 + 0x80000000, // 001E RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(append_state_json), + &be_const_str_solidified, + ( &(const binstruction[95]) { /* code */ + 0xA406BE00, // 0000 IMPORT R1 K95 + 0xA40A0200, // 0001 IMPORT R2 K1 + 0x580C0034, // 0002 LDCONST R3 K52 + 0x84100000, // 0003 CLOSURE R4 P0 + 0x8C140360, // 0004 GETMET R5 R1 K96 + 0x5C1C0000, // 0005 MOVE R7 R0 + 0x5820002D, // 0006 LDCONST R8 K45 + 0x7C140600, // 0007 CALL R5 3 + 0x78160013, // 0008 JMPF R5 #001D + 0x8C180361, // 0009 GETMET R6 R1 K97 + 0x5C200000, // 000A MOVE R8 R0 + 0x58240062, // 000B LDCONST R9 K98 + 0x7C180600, // 000C CALL R6 3 + 0x781A000E, // 000D JMPF R6 #001D + 0x88180162, // 000E GETMBR R6 R0 K98 + 0x4C1C0000, // 000F LDNIL R7 + 0x20180C07, // 0010 NE R6 R6 R7 + 0x781A0003, // 0011 JMPF R6 #0016 + 0x8C180563, // 0012 GETMET R6 R2 K99 + 0x88200162, // 0013 GETMBR R8 R0 K98 + 0x7C180400, // 0014 CALL R6 2 + 0x70020000, // 0015 JMP #0017 + 0x58180064, // 0016 LDCONST R6 K100 + 0x601C0018, // 0017 GETGBL R7 G24 + 0x58200065, // 0018 LDCONST R8 K101 + 0x5C240A00, // 0019 MOVE R9 R5 + 0x5C280C00, // 001A MOVE R10 R6 + 0x7C1C0600, // 001B CALL R7 3 + 0x000C0607, // 001C ADD R3 R3 R7 + 0x5C180800, // 001D MOVE R6 R4 + 0x581C0066, // 001E LDCONST R7 K102 + 0x58200067, // 001F LDCONST R8 K103 + 0x7C180400, // 0020 CALL R6 2 + 0x5C180800, // 0021 MOVE R6 R4 + 0x581C0068, // 0022 LDCONST R7 K104 + 0x58200069, // 0023 LDCONST R8 K105 + 0x7C180400, // 0024 CALL R6 2 + 0x5C180800, // 0025 MOVE R6 R4 + 0x581C006A, // 0026 LDCONST R7 K106 + 0x5820006B, // 0027 LDCONST R8 K107 + 0x7C180400, // 0028 CALL R6 2 + 0x5C180800, // 0029 MOVE R6 R4 + 0x581C006C, // 002A LDCONST R7 K108 + 0x5820006D, // 002B LDCONST R8 K109 + 0x7C180400, // 002C CALL R6 2 + 0x5C180800, // 002D MOVE R6 R4 + 0x581C006E, // 002E LDCONST R7 K110 + 0x5820006F, // 002F LDCONST R8 K111 + 0x7C180400, // 0030 CALL R6 2 + 0x5C180800, // 0031 MOVE R6 R4 + 0x581C0070, // 0032 LDCONST R7 K112 + 0x58200071, // 0033 LDCONST R8 K113 + 0x7C180400, // 0034 CALL R6 2 + 0x5C180800, // 0035 MOVE R6 R4 + 0x581C0072, // 0036 LDCONST R7 K114 + 0x58200073, // 0037 LDCONST R8 K115 + 0x7C180400, // 0038 CALL R6 2 + 0x5C180800, // 0039 MOVE R6 R4 + 0x581C0074, // 003A LDCONST R7 K116 + 0x58200075, // 003B LDCONST R8 K117 + 0x7C180400, // 003C CALL R6 2 + 0x5C180800, // 003D MOVE R6 R4 + 0x581C0076, // 003E LDCONST R7 K118 + 0x58200077, // 003F LDCONST R8 K119 + 0x7C180400, // 0040 CALL R6 2 + 0x5C180800, // 0041 MOVE R6 R4 + 0x581C0078, // 0042 LDCONST R7 K120 + 0x58200079, // 0043 LDCONST R8 K121 + 0x7C180400, // 0044 CALL R6 2 + 0x5C180800, // 0045 MOVE R6 R4 + 0x581C007A, // 0046 LDCONST R7 K122 + 0x5820007B, // 0047 LDCONST R8 K123 + 0x7C180400, // 0048 CALL R6 2 + 0x5C180800, // 0049 MOVE R6 R4 + 0x581C007C, // 004A LDCONST R7 K124 + 0x5820007D, // 004B LDCONST R8 K125 + 0x7C180400, // 004C CALL R6 2 + 0x5C180800, // 004D MOVE R6 R4 + 0x581C007E, // 004E LDCONST R7 K126 + 0x5820007F, // 004F LDCONST R8 K127 + 0x7C180400, // 0050 CALL R6 2 + 0x5C180800, // 0051 MOVE R6 R4 + 0x581C0080, // 0052 LDCONST R7 K128 + 0x58200081, // 0053 LDCONST R8 K129 + 0x7C180400, // 0054 CALL R6 2 + 0x5C180800, // 0055 MOVE R6 R4 + 0x581C0082, // 0056 LDCONST R7 K130 + 0x58200083, // 0057 LDCONST R8 K131 + 0x7C180400, // 0058 CALL R6 2 + 0x5C180800, // 0059 MOVE R6 R4 + 0x581C0084, // 005A LDCONST R7 K132 + 0x58200085, // 005B LDCONST R8 K133 + 0x7C180400, // 005C CALL R6 2 + 0xA0000000, // 005D CLOSE R0 + 0x80040600, // 005E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_value_changed, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_parse_configuration, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080135, // 0000 GETMBR R2 R0 K53 + 0x780A0005, // 0001 JMPF R2 #0008 + 0x88080127, // 0002 GETMBR R2 R0 K39 + 0x780A0003, // 0003 JMPF R2 #0008 + 0x88080127, // 0004 GETMBR R2 R0 K39 + 0x8C080586, // 0005 GETMET R2 R2 K134 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device_parse_status, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _parse_sensor_entry +********************************************************************/ +be_local_closure(class_Matter_Plugin_Device__parse_sensor_entry, /* name */ + be_nested_proto( + 12, /* nstack */ + 7, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Device, /* shared constants */ + be_str_weak(_parse_sensor_entry), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8C1C0338, // 0000 GETMET R7 R1 K56 + 0x5C240400, // 0001 MOVE R9 R2 + 0x7C1C0400, // 0002 CALL R7 2 + 0x4C200000, // 0003 LDNIL R8 + 0x20200E08, // 0004 NE R8 R7 R8 + 0x7822000A, // 0005 JMPF R8 #0011 + 0x5C200800, // 0006 MOVE R8 R4 + 0x5C240E00, // 0007 MOVE R9 R7 + 0x7C200200, // 0008 CALL R8 1 + 0x5C1C1000, // 0009 MOVE R7 R8 + 0x20200E03, // 000A NE R8 R7 R3 + 0x78220003, // 000B JMPF R8 #0010 + 0x8C200187, // 000C GETMET R8 R0 K135 + 0x5C280A00, // 000D MOVE R10 R5 + 0x5C2C0C00, // 000E MOVE R11 R6 + 0x7C200600, // 000F CALL R8 3 + 0x80040E00, // 0010 RET 1 R7 + 0x80040600, // 0011 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Device +********************************************************************/ +extern const bclass be_class_Matter_Plugin; +be_local_class(Matter_Plugin_Device, + 1, + &be_class_Matter_Plugin, + be_nested_map(28, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_parse_sensor_entry, 1), be_const_closure(class_Matter_Plugin_Device__parse_sensor_entry_closure) }, + { be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Device_parse_status_closure) }, + { be_const_key_weak(call_remote_sync, 16), be_const_closure(class_Matter_Plugin_Device_call_remote_sync_closure) }, + { be_const_key_weak(NON_BRIDGE_VENDOR, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(2, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(4631), + be_const_int(4993), + })) ) } )) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Device_web_values_closure) }, + { be_const_key_weak(parse_http_response, 15), be_const_closure(class_Matter_Plugin_Device_parse_http_response_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Device_web_values_prefix_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Device_invoke_request_closure) }, + { be_const_key_weak(pre_value, 27), be_const_closure(class_Matter_Plugin_Device_pre_value_closure) }, + { be_const_key_weak(GetOptionReader, -1), be_const_class(be_class_GetOptionReader) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(19, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(zigbee_received, -1), be_const_closure(class_Matter_Plugin_Device_zigbee_received_closure) }, + { be_const_key_weak(http_remote, 26), be_const_var(0) }, + { be_const_key_weak(register_cmd_cb, 23), be_const_closure(class_Matter_Plugin_Device_register_cmd_cb_closure) }, + { be_const_key_weak(CLUSTERS, 20), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, 1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(value_changed, -1), be_const_closure(class_Matter_Plugin_Device_value_changed_closure) }, + { be_const_key_weak(append_state_json, 24), be_const_closure(class_Matter_Plugin_Device_append_state_json_closure) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2011) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Device_update_shadow_closure) }, + { be_const_key_weak(init, 17), be_const_closure(class_Matter_Plugin_Device_init_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Device_read_attribute_closure) }, + { be_const_key_weak(PREFIX, 18), be_nested_str_weak(_X7C_X20_X3Ci_X3E_X25s_X3C_X2Fi_X3E_X20) }, + { be_const_key_weak(web_value_onoff, -1), be_const_closure(class_Matter_Plugin_Device_web_value_onoff_closure) }, + { be_const_key_weak(PROBE_TIMEOUT, 6), be_const_int(1700) }, + { be_const_key_weak(SYNC_TIMEOUT, -1), be_const_int(500) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Device_parse_configuration_closure) }, + { be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Plugin_Device_every_250ms_closure) }, + })), + be_str_weak(Matter_Plugin_Device) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Root.h new file mode 100644 index 000000000..83997d841 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_1_Root.h @@ -0,0 +1,2164 @@ +/* Solidification of Matter_Plugin_1_Root.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Root' ktab size: 173, total: 227 (saved 432 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Root[173] = { + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(cluster), + /* K4 */ be_nested_str_weak(attribute), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(set), + /* K7 */ be_nested_str_weak(U8), + /* K8 */ be_nested_str_weak(_breadcrumb), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(Matter_TLV_struct), + /* K11 */ be_nested_str_weak(add_TLV), + /* K12 */ be_nested_str_weak(U2), + /* K13 */ be_const_int(2), + /* K14 */ be_nested_str_weak(U1), + /* K15 */ be_const_int(3), + /* K16 */ be_nested_str_weak(BOOL), + /* K17 */ be_nested_str_weak(Matter_TLV_array), + /* K18 */ be_nested_str_weak(tasmota), + /* K19 */ be_nested_str_weak(eth), + /* K20 */ be_nested_str_weak(up), + /* K21 */ be_nested_str_weak(add_struct), + /* K22 */ be_nested_str_weak(UTF1), + /* K23 */ be_nested_str_weak(ethernet), + /* K24 */ be_nested_str_weak(NULL), + /* K25 */ be_nested_str_weak(fromhex), + /* K26 */ be_nested_str_weak(replace), + /* K27 */ be_nested_str_weak(find), + /* K28 */ be_nested_str_weak(mac), + /* K29 */ be_nested_str_weak(), + /* K30 */ be_nested_str_weak(_X3A), + /* K31 */ be_nested_str_weak(B1), + /* K32 */ be_nested_str_weak(add_array), + /* K33 */ be_nested_str_weak(get_ip_bytes), + /* K34 */ be_nested_str_weak(ip), + /* K35 */ be_nested_str_weak(ip6local), + /* K36 */ be_nested_str_weak(ip6), + /* K37 */ be_nested_str_weak(wifi), + /* K38 */ be_nested_str_weak(cmd), + /* K39 */ be_nested_str_weak(Status_X201), + /* K40 */ be_nested_str_weak(StatusPRM), + /* K41 */ be_nested_str_weak(BootCount), + /* K42 */ be_nested_str_weak(U4), + /* K43 */ be_nested_str_weak(Status_X2011), + /* K44 */ be_nested_str_weak(StatusSTS), + /* K45 */ be_nested_str_weak(UptimeSec), + /* K46 */ be_nested_str_weak(int64), + /* K47 */ be_nested_str_weak(rtc_utc), + /* K48 */ be_const_int(1000000), + /* K49 */ be_nested_str_weak(rtc), + /* K50 */ be_nested_str_weak(local), + /* K51 */ be_nested_str_weak(ack_request), + /* K52 */ be_nested_str_weak(fabric_filtered), + /* K53 */ be_nested_str_weak(get_fabric), + /* K54 */ be_nested_str_weak(device), + /* K55 */ be_nested_str_weak(sessions), + /* K56 */ be_nested_str_weak(active_fabrics), + /* K57 */ be_nested_str_weak(is_marked_for_deletion), + /* K58 */ be_nested_str_weak(B2), + /* K59 */ be_nested_str_weak(get_noc), + /* K60 */ be_nested_str_weak(get_icac), + /* K61 */ be_nested_str_weak(get_fabric_index), + /* K62 */ be_nested_str_weak(stop_iteration), + /* K63 */ be_nested_str_weak(parse), + /* K64 */ be_nested_str_weak(get_ca), + /* K65 */ be_nested_str_weak(findsubval), + /* K66 */ be_nested_str_weak(get_admin_vendor), + /* K67 */ be_nested_str_weak(get_fabric_id_as_int64), + /* K68 */ be_nested_str_weak(get_device_id_as_int64), + /* K69 */ be_nested_str_weak(get_fabric_label), + /* K70 */ be_nested_str_weak(Fabric), + /* K71 */ be_nested_str_weak(_MAX_CASE), + /* K72 */ be_nested_str_weak(count_active_fabrics), + /* K73 */ be_nested_str_weak(_fabric), + /* K74 */ be_nested_str_weak(commissioning), + /* K75 */ be_nested_str_weak(is_commissioning_open), + /* K76 */ be_nested_str_weak(is_root_commissioning_open), + /* K77 */ be_nested_str_weak(commissioning_admin_fabric), + /* K78 */ be_nested_str_weak(set_or_nil), + /* K79 */ be_nested_str_weak(Tasmota), + /* K80 */ be_nested_str_weak(VENDOR_ID), + /* K81 */ be_nested_str_weak(DeviceName), + /* K82 */ be_nested_str_weak(FriendlyName), + /* K83 */ be_nested_str_weak(FriendlyName1), + /* K84 */ be_nested_str_weak(XX), + /* K85 */ be_nested_str_weak(Status_X202), + /* K86 */ be_nested_str_weak(StatusFWR), + /* K87 */ be_nested_str_weak(Hardware), + /* K88 */ be_nested_str_weak(version), + /* K89 */ be_nested_str_weak(Version), + /* K90 */ be_nested_str_weak(_X28), + /* K91 */ be_nested_str_weak(locale), + /* K92 */ be_nested_str_weak(create_TLV), + /* K93 */ be_nested_str_weak(get_active_endpoints), + /* K94 */ be_nested_str_weak(disable_bridge_mode), + /* K95 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K96 */ be_nested_str_weak(read_attribute), + /* K97 */ be_nested_str_weak(int), + /* K98 */ be_nested_str_weak(attribute_updated), + /* K99 */ be_nested_str_weak(status), + /* K100 */ be_nested_str_weak(CONSTRAINT_ERROR), + /* K101 */ be_nested_str_weak(INVALID_ACTION), + /* K102 */ be_nested_str_weak(init), + /* K103 */ be_nested_str_weak(publish_event), + /* K104 */ be_nested_str_weak(EVENT_CRITICAL), + /* K105 */ be_nested_str_weak(Matter_TLV_item), + /* K106 */ be_nested_str_weak(crypto), + /* K107 */ be_nested_str_weak(command), + /* K108 */ be_nested_str_weak(fabric_completed), + /* K109 */ be_nested_str_weak(set_no_expiration), + /* K110 */ be_nested_str_weak(save), + /* K111 */ be_nested_str_weak(start_commissioning_complete_deferred), + /* K112 */ be_nested_str_weak(context_error), + /* K113 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached), + /* K114 */ be_nested_str_weak(UNSUPPORTED_COMMAND), + /* K115 */ be_nested_str_weak(DAC_Cert_FFF1_8000), + /* K116 */ be_nested_str_weak(PAI_Cert_FFF1), + /* K117 */ be_nested_str_weak(CD_FFF1_8000), + /* K118 */ be_nested_str_weak(tlv2raw), + /* K119 */ be_nested_str_weak(get_ac), + /* K120 */ be_nested_str_weak(EC_P256), + /* K121 */ be_nested_str_weak(ecdsa_sign_sha256), + /* K122 */ be_nested_str_weak(DAC_Priv_FFF1_8000), + /* K123 */ be_nested_str_weak(gen_CSR), + /* K124 */ be_nested_str_weak(set_temp_ca), + /* K125 */ be_nested_str_weak(SUCCESS), + /* K126 */ be_nested_str_weak(log), + /* K127 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D), + /* K128 */ be_nested_str_weak(get_temp_ca), + /* K129 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA), + /* K130 */ be_nested_str_weak(create_fabric), + /* K131 */ be_nested_str_weak(set_ca), + /* K132 */ be_nested_str_weak(set_noc_icac), + /* K133 */ be_nested_str_weak(set_ipk_epoch_key), + /* K134 */ be_nested_str_weak(set_admin_subject_vendor), + /* K135 */ be_nested_str_weak(set_pk), + /* K136 */ be_nested_str_weak(get_pk), + /* K137 */ be_nested_str_weak(findsub), + /* K138 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate), + /* K139 */ be_nested_str_weak(fromu32), + /* K140 */ be_nested_str_weak(tobytes), + /* K141 */ be_nested_str_weak(get_temp_ca_pub), + /* K142 */ be_const_int(2147483647), + /* K143 */ be_nested_str_weak(fromstring), + /* K144 */ be_nested_str_weak(CompressedFabric), + /* K145 */ be_nested_str_weak(HKDF_SHA256), + /* K146 */ be_nested_str_weak(copy), + /* K147 */ be_nested_str_weak(reverse), + /* K148 */ be_nested_str_weak(derive), + /* K149 */ be_nested_str_weak(set_fabric_device), + /* K150 */ be_nested_str_weak(fabric_candidate), + /* K151 */ be_nested_str_weak(start_operational_discovery_deferred), + /* K152 */ be_nested_str_weak(is_PASE), + /* K153 */ be_nested_str_weak(set_expire_in_seconds), + /* K154 */ be_nested_str_weak(log_new_fabric), + /* K155 */ be_nested_str_weak(assign_fabric_index), + /* K156 */ be_nested_str_weak(set_fabric_label), + /* K157 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27), + /* K158 */ be_nested_str_weak(get_fabric_id), + /* K159 */ be_nested_str_weak(tohex), + /* K160 */ be_nested_str_weak(fabric_index_X3A), + /* K161 */ be_nested_str_weak(mark_for_deletion), + /* K162 */ be_nested_str_weak(set_timer), + /* K163 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28), + /* K164 */ be_nested_str_weak(_X29_X20not_X20found), + /* K165 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29), + /* K166 */ be_nested_str_weak(INVALID_DATA_TYPE), + /* K167 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters), + /* K168 */ be_nested_str_weak(start_basic_commissioning), + /* K169 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D), + /* K170 */ be_nested_str_weak(start_root_basic_commissioning), + /* K171 */ be_nested_str_weak(stop_basic_commissioning), + /* K172 */ be_nested_str_weak(invoke_request), +}; + + +extern const bclass be_class_Matter_Plugin_Root; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ + be_nested_proto( + 25, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Root, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[930]) { /* code */ + 0xA4120000, // 0000 IMPORT R4 K0 + 0xB8160200, // 0001 GETNGBL R5 K1 + 0x88140B02, // 0002 GETMBR R5 R5 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x881C0504, // 0004 GETMBR R7 R2 K4 + 0x5422002F, // 0005 LDINT R8 48 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x78220030, // 0007 JMPF R8 #0039 + 0x1C200F05, // 0008 EQ R8 R7 K5 + 0x78220005, // 0009 JMPF R8 #0010 + 0x8C200706, // 000A GETMET R8 R3 K6 + 0x88280B07, // 000B GETMBR R10 R5 K7 + 0x882C0308, // 000C GETMBR R11 R1 K8 + 0x7C200600, // 000D CALL R8 3 + 0x80041000, // 000E RET 1 R8 + 0x70020027, // 000F JMP #0038 + 0x1C200F09, // 0010 EQ R8 R7 K9 + 0x7822000D, // 0011 JMPF R8 #0020 + 0x8C200B0A, // 0012 GETMET R8 R5 K10 + 0x7C200200, // 0013 CALL R8 1 + 0x8C24110B, // 0014 GETMET R9 R8 K11 + 0x582C0005, // 0015 LDCONST R11 K5 + 0x88300B0C, // 0016 GETMBR R12 R5 K12 + 0x5436003B, // 0017 LDINT R13 60 + 0x7C240800, // 0018 CALL R9 4 + 0x8C24110B, // 0019 GETMET R9 R8 K11 + 0x582C0009, // 001A LDCONST R11 K9 + 0x88300B0C, // 001B GETMBR R12 R5 K12 + 0x54360383, // 001C LDINT R13 900 + 0x7C240800, // 001D CALL R9 4 + 0x80041000, // 001E RET 1 R8 + 0x70020017, // 001F JMP #0038 + 0x1C200F0D, // 0020 EQ R8 R7 K13 + 0x78220005, // 0021 JMPF R8 #0028 + 0x8C200706, // 0022 GETMET R8 R3 K6 + 0x88280B0E, // 0023 GETMBR R10 R5 K14 + 0x582C000D, // 0024 LDCONST R11 K13 + 0x7C200600, // 0025 CALL R8 3 + 0x80041000, // 0026 RET 1 R8 + 0x7002000F, // 0027 JMP #0038 + 0x1C200F0F, // 0028 EQ R8 R7 K15 + 0x78220005, // 0029 JMPF R8 #0030 + 0x8C200706, // 002A GETMET R8 R3 K6 + 0x88280B0E, // 002B GETMBR R10 R5 K14 + 0x582C000D, // 002C LDCONST R11 K13 + 0x7C200600, // 002D CALL R8 3 + 0x80041000, // 002E RET 1 R8 + 0x70020007, // 002F JMP #0038 + 0x54220003, // 0030 LDINT R8 4 + 0x1C200E08, // 0031 EQ R8 R7 R8 + 0x78220004, // 0032 JMPF R8 #0038 + 0x8C200706, // 0033 GETMET R8 R3 K6 + 0x88280B10, // 0034 GETMBR R10 R5 K16 + 0x502C0000, // 0035 LDBOOL R11 0 0 + 0x7C200600, // 0036 CALL R8 3 + 0x80041000, // 0037 RET 1 R8 + 0x7002035F, // 0038 JMP #0399 + 0x54220031, // 0039 LDINT R8 50 + 0x1C200C08, // 003A EQ R8 R6 R8 + 0x78220000, // 003B JMPF R8 #003D + 0x7002035B, // 003C JMP #0399 + 0x54220032, // 003D LDINT R8 51 + 0x1C200C08, // 003E EQ R8 R6 R8 + 0x782200DC, // 003F JMPF R8 #011D + 0x1C200F05, // 0040 EQ R8 R7 K5 + 0x782200B5, // 0041 JMPF R8 #00F8 + 0x8C200B11, // 0042 GETMET R8 R5 K17 + 0x7C200200, // 0043 CALL R8 1 + 0xB8262400, // 0044 GETNGBL R9 K18 + 0x8C241313, // 0045 GETMET R9 R9 K19 + 0x7C240200, // 0046 CALL R9 1 + 0x94281314, // 0047 GETIDX R10 R9 K20 + 0x782A0053, // 0048 JMPF R10 #009D + 0x8C281115, // 0049 GETMET R10 R8 K21 + 0x4C300000, // 004A LDNIL R12 + 0x7C280400, // 004B CALL R10 2 + 0x8C2C150B, // 004C GETMET R11 R10 K11 + 0x58340005, // 004D LDCONST R13 K5 + 0x88380B16, // 004E GETMBR R14 R5 K22 + 0x583C0017, // 004F LDCONST R15 K23 + 0x7C2C0800, // 0050 CALL R11 4 + 0x8C2C150B, // 0051 GETMET R11 R10 K11 + 0x58340009, // 0052 LDCONST R13 K9 + 0x88380B10, // 0053 GETMBR R14 R5 K16 + 0x583C0009, // 0054 LDCONST R15 K9 + 0x7C2C0800, // 0055 CALL R11 4 + 0x8C2C150B, // 0056 GETMET R11 R10 K11 + 0x5834000D, // 0057 LDCONST R13 K13 + 0x88380B10, // 0058 GETMBR R14 R5 K16 + 0x583C0009, // 0059 LDCONST R15 K9 + 0x7C2C0800, // 005A CALL R11 4 + 0x8C2C150B, // 005B GETMET R11 R10 K11 + 0x5834000F, // 005C LDCONST R13 K15 + 0x88380B18, // 005D GETMBR R14 R5 K24 + 0x4C3C0000, // 005E LDNIL R15 + 0x7C2C0800, // 005F CALL R11 4 + 0x602C0015, // 0060 GETGBL R11 G21 + 0x7C2C0000, // 0061 CALL R11 0 + 0x8C2C1719, // 0062 GETMET R11 R11 K25 + 0x8C34091A, // 0063 GETMET R13 R4 K26 + 0x8C3C131B, // 0064 GETMET R15 R9 K27 + 0x5844001C, // 0065 LDCONST R17 K28 + 0x5848001D, // 0066 LDCONST R18 K29 + 0x7C3C0600, // 0067 CALL R15 3 + 0x5840001E, // 0068 LDCONST R16 K30 + 0x5844001D, // 0069 LDCONST R17 K29 + 0x7C340800, // 006A CALL R13 4 + 0x7C2C0400, // 006B CALL R11 2 + 0x8C30150B, // 006C GETMET R12 R10 K11 + 0x543A0003, // 006D LDINT R14 4 + 0x883C0B1F, // 006E GETMBR R15 R5 K31 + 0x5C401600, // 006F MOVE R16 R11 + 0x7C300800, // 0070 CALL R12 4 + 0x8C301520, // 0071 GETMET R12 R10 K32 + 0x543A0004, // 0072 LDINT R14 5 + 0x7C300400, // 0073 CALL R12 2 + 0x8C34190B, // 0074 GETMET R13 R12 K11 + 0x4C3C0000, // 0075 LDNIL R15 + 0x88400B1F, // 0076 GETMBR R16 R5 K31 + 0xB8460200, // 0077 GETNGBL R17 K1 + 0x8C442321, // 0078 GETMET R17 R17 K33 + 0x8C4C131B, // 0079 GETMET R19 R9 K27 + 0x58540022, // 007A LDCONST R21 K34 + 0x5858001D, // 007B LDCONST R22 K29 + 0x7C4C0600, // 007C CALL R19 3 + 0x7C440400, // 007D CALL R17 2 + 0x7C340800, // 007E CALL R13 4 + 0x8C341520, // 007F GETMET R13 R10 K32 + 0x543E0005, // 0080 LDINT R15 6 + 0x7C340400, // 0081 CALL R13 2 + 0x8C381B0B, // 0082 GETMET R14 R13 K11 + 0x4C400000, // 0083 LDNIL R16 + 0x88440B1F, // 0084 GETMBR R17 R5 K31 + 0xB84A0200, // 0085 GETNGBL R18 K1 + 0x8C482521, // 0086 GETMET R18 R18 K33 + 0x8C50131B, // 0087 GETMET R20 R9 K27 + 0x58580023, // 0088 LDCONST R22 K35 + 0x585C001D, // 0089 LDCONST R23 K29 + 0x7C500600, // 008A CALL R20 3 + 0x7C480400, // 008B CALL R18 2 + 0x7C380800, // 008C CALL R14 4 + 0x8C381B0B, // 008D GETMET R14 R13 K11 + 0x4C400000, // 008E LDNIL R16 + 0x88440B1F, // 008F GETMBR R17 R5 K31 + 0xB84A0200, // 0090 GETNGBL R18 K1 + 0x8C482521, // 0091 GETMET R18 R18 K33 + 0x8C50131B, // 0092 GETMET R20 R9 K27 + 0x58580024, // 0093 LDCONST R22 K36 + 0x585C001D, // 0094 LDCONST R23 K29 + 0x7C500600, // 0095 CALL R20 3 + 0x7C480400, // 0096 CALL R18 2 + 0x7C380800, // 0097 CALL R14 4 + 0x8C38150B, // 0098 GETMET R14 R10 K11 + 0x54420006, // 0099 LDINT R16 7 + 0x88440B0E, // 009A GETMBR R17 R5 K14 + 0x5848000D, // 009B LDCONST R18 K13 + 0x7C380800, // 009C CALL R14 4 + 0xB82A2400, // 009D GETNGBL R10 K18 + 0x8C281525, // 009E GETMET R10 R10 K37 + 0x7C280200, // 009F CALL R10 1 + 0x942C1514, // 00A0 GETIDX R11 R10 K20 + 0x782E0053, // 00A1 JMPF R11 #00F6 + 0x8C2C1115, // 00A2 GETMET R11 R8 K21 + 0x4C340000, // 00A3 LDNIL R13 + 0x7C2C0400, // 00A4 CALL R11 2 + 0x8C30170B, // 00A5 GETMET R12 R11 K11 + 0x58380005, // 00A6 LDCONST R14 K5 + 0x883C0B16, // 00A7 GETMBR R15 R5 K22 + 0x58400025, // 00A8 LDCONST R16 K37 + 0x7C300800, // 00A9 CALL R12 4 + 0x8C30170B, // 00AA GETMET R12 R11 K11 + 0x58380009, // 00AB LDCONST R14 K9 + 0x883C0B10, // 00AC GETMBR R15 R5 K16 + 0x58400009, // 00AD LDCONST R16 K9 + 0x7C300800, // 00AE CALL R12 4 + 0x8C30170B, // 00AF GETMET R12 R11 K11 + 0x5838000D, // 00B0 LDCONST R14 K13 + 0x883C0B10, // 00B1 GETMBR R15 R5 K16 + 0x58400009, // 00B2 LDCONST R16 K9 + 0x7C300800, // 00B3 CALL R12 4 + 0x8C30170B, // 00B4 GETMET R12 R11 K11 + 0x5838000F, // 00B5 LDCONST R14 K15 + 0x883C0B18, // 00B6 GETMBR R15 R5 K24 + 0x4C400000, // 00B7 LDNIL R16 + 0x7C300800, // 00B8 CALL R12 4 + 0x60300015, // 00B9 GETGBL R12 G21 + 0x7C300000, // 00BA CALL R12 0 + 0x8C301919, // 00BB GETMET R12 R12 K25 + 0x8C38091A, // 00BC GETMET R14 R4 K26 + 0x8C40151B, // 00BD GETMET R16 R10 K27 + 0x5848001C, // 00BE LDCONST R18 K28 + 0x584C001D, // 00BF LDCONST R19 K29 + 0x7C400600, // 00C0 CALL R16 3 + 0x5844001E, // 00C1 LDCONST R17 K30 + 0x5848001D, // 00C2 LDCONST R18 K29 + 0x7C380800, // 00C3 CALL R14 4 + 0x7C300400, // 00C4 CALL R12 2 + 0x8C34170B, // 00C5 GETMET R13 R11 K11 + 0x543E0003, // 00C6 LDINT R15 4 + 0x88400B1F, // 00C7 GETMBR R16 R5 K31 + 0x5C441800, // 00C8 MOVE R17 R12 + 0x7C340800, // 00C9 CALL R13 4 + 0x8C341720, // 00CA GETMET R13 R11 K32 + 0x543E0004, // 00CB LDINT R15 5 + 0x7C340400, // 00CC CALL R13 2 + 0x8C381B0B, // 00CD GETMET R14 R13 K11 + 0x4C400000, // 00CE LDNIL R16 + 0x88440B1F, // 00CF GETMBR R17 R5 K31 + 0xB84A0200, // 00D0 GETNGBL R18 K1 + 0x8C482521, // 00D1 GETMET R18 R18 K33 + 0x8C50151B, // 00D2 GETMET R20 R10 K27 + 0x58580022, // 00D3 LDCONST R22 K34 + 0x585C001D, // 00D4 LDCONST R23 K29 + 0x7C500600, // 00D5 CALL R20 3 + 0x7C480400, // 00D6 CALL R18 2 + 0x7C380800, // 00D7 CALL R14 4 + 0x8C381720, // 00D8 GETMET R14 R11 K32 + 0x54420005, // 00D9 LDINT R16 6 + 0x7C380400, // 00DA CALL R14 2 + 0x8C3C1D0B, // 00DB GETMET R15 R14 K11 + 0x4C440000, // 00DC LDNIL R17 + 0x88480B1F, // 00DD GETMBR R18 R5 K31 + 0xB84E0200, // 00DE GETNGBL R19 K1 + 0x8C4C2721, // 00DF GETMET R19 R19 K33 + 0x8C54151B, // 00E0 GETMET R21 R10 K27 + 0x585C0023, // 00E1 LDCONST R23 K35 + 0x5860001D, // 00E2 LDCONST R24 K29 + 0x7C540600, // 00E3 CALL R21 3 + 0x7C4C0400, // 00E4 CALL R19 2 + 0x7C3C0800, // 00E5 CALL R15 4 + 0x8C3C1D0B, // 00E6 GETMET R15 R14 K11 + 0x4C440000, // 00E7 LDNIL R17 + 0x88480B1F, // 00E8 GETMBR R18 R5 K31 + 0xB84E0200, // 00E9 GETNGBL R19 K1 + 0x8C4C2721, // 00EA GETMET R19 R19 K33 + 0x8C54151B, // 00EB GETMET R21 R10 K27 + 0x585C0024, // 00EC LDCONST R23 K36 + 0x5860001D, // 00ED LDCONST R24 K29 + 0x7C540600, // 00EE CALL R21 3 + 0x7C4C0400, // 00EF CALL R19 2 + 0x7C3C0800, // 00F0 CALL R15 4 + 0x8C3C170B, // 00F1 GETMET R15 R11 K11 + 0x54460006, // 00F2 LDINT R17 7 + 0x88480B0E, // 00F3 GETMBR R18 R5 K14 + 0x584C0009, // 00F4 LDCONST R19 K9 + 0x7C3C0800, // 00F5 CALL R15 4 + 0x80041000, // 00F6 RET 1 R8 + 0x70020023, // 00F7 JMP #011C + 0x1C200F09, // 00F8 EQ R8 R7 K9 + 0x7822000B, // 00F9 JMPF R8 #0106 + 0x8C200706, // 00FA GETMET R8 R3 K6 + 0x88280B0C, // 00FB GETMBR R10 R5 K12 + 0xB82E2400, // 00FC GETNGBL R11 K18 + 0x8C2C1726, // 00FD GETMET R11 R11 K38 + 0x58340027, // 00FE LDCONST R13 K39 + 0x50380200, // 00FF LDBOOL R14 1 0 + 0x7C2C0600, // 0100 CALL R11 3 + 0x942C1728, // 0101 GETIDX R11 R11 K40 + 0x942C1729, // 0102 GETIDX R11 R11 K41 + 0x7C200600, // 0103 CALL R8 3 + 0x80041000, // 0104 RET 1 R8 + 0x70020015, // 0105 JMP #011C + 0x1C200F0D, // 0106 EQ R8 R7 K13 + 0x7822000B, // 0107 JMPF R8 #0114 + 0x8C200706, // 0108 GETMET R8 R3 K6 + 0x88280B2A, // 0109 GETMBR R10 R5 K42 + 0xB82E2400, // 010A GETNGBL R11 K18 + 0x8C2C1726, // 010B GETMET R11 R11 K38 + 0x5834002B, // 010C LDCONST R13 K43 + 0x50380200, // 010D LDBOOL R14 1 0 + 0x7C2C0600, // 010E CALL R11 3 + 0x942C172C, // 010F GETIDX R11 R11 K44 + 0x942C172D, // 0110 GETIDX R11 R11 K45 + 0x7C200600, // 0111 CALL R8 3 + 0x80041000, // 0112 RET 1 R8 + 0x70020007, // 0113 JMP #011C + 0x54220007, // 0114 LDINT R8 8 + 0x1C200E08, // 0115 EQ R8 R7 R8 + 0x78220004, // 0116 JMPF R8 #011C + 0x8C200706, // 0117 GETMET R8 R3 K6 + 0x88280B10, // 0118 GETMBR R10 R5 K16 + 0x502C0000, // 0119 LDBOOL R11 0 0 + 0x7C200600, // 011A CALL R8 3 + 0x80041000, // 011B RET 1 R8 + 0x7002027B, // 011C JMP #0399 + 0x54220033, // 011D LDINT R8 52 + 0x1C200C08, // 011E EQ R8 R6 R8 + 0x78220000, // 011F JMPF R8 #0121 + 0x70020277, // 0120 JMP #0399 + 0x54220037, // 0121 LDINT R8 56 + 0x1C200C08, // 0122 EQ R8 R6 R8 + 0x7822002B, // 0123 JMPF R8 #0150 + 0x1C200F05, // 0124 EQ R8 R7 K5 + 0x7822000E, // 0125 JMPF R8 #0135 + 0xB8225C00, // 0126 GETNGBL R8 K46 + 0xB8262400, // 0127 GETNGBL R9 K18 + 0x8C24132F, // 0128 GETMET R9 R9 K47 + 0x7C240200, // 0129 CALL R9 1 + 0x7C200200, // 012A CALL R8 1 + 0xB8265C00, // 012B GETNGBL R9 K46 + 0x58280030, // 012C LDCONST R10 K48 + 0x7C240200, // 012D CALL R9 1 + 0x08201009, // 012E MUL R8 R8 R9 + 0x8C240706, // 012F GETMET R9 R3 K6 + 0x882C0B07, // 0130 GETMBR R11 R5 K7 + 0x5C301000, // 0131 MOVE R12 R8 + 0x7C240600, // 0132 CALL R9 3 + 0x80041200, // 0133 RET 1 R9 + 0x70020019, // 0134 JMP #014F + 0x1C200F09, // 0135 EQ R8 R7 K9 + 0x78220005, // 0136 JMPF R8 #013D + 0x8C200706, // 0137 GETMET R8 R3 K6 + 0x88280B0E, // 0138 GETMBR R10 R5 K14 + 0x582C000F, // 0139 LDCONST R11 K15 + 0x7C200600, // 013A CALL R8 3 + 0x80041000, // 013B RET 1 R8 + 0x70020011, // 013C JMP #014F + 0x54220006, // 013D LDINT R8 7 + 0x1C200E08, // 013E EQ R8 R7 R8 + 0x7822000E, // 013F JMPF R8 #014F + 0xB8225C00, // 0140 GETNGBL R8 K46 + 0xB8262400, // 0141 GETNGBL R9 K18 + 0x8C241331, // 0142 GETMET R9 R9 K49 + 0x582C0032, // 0143 LDCONST R11 K50 + 0x7C240400, // 0144 CALL R9 2 + 0x7C200200, // 0145 CALL R8 1 + 0xB8265C00, // 0146 GETNGBL R9 K46 + 0x58280030, // 0147 LDCONST R10 K48 + 0x7C240200, // 0148 CALL R9 1 + 0x08201009, // 0149 MUL R8 R8 R9 + 0x8C240706, // 014A GETMET R9 R3 K6 + 0x882C0B07, // 014B GETMBR R11 R5 K7 + 0x5C301000, // 014C MOVE R12 R8 + 0x7C240600, // 014D CALL R9 3 + 0x80041200, // 014E RET 1 R9 + 0x70020248, // 014F JMP #0399 + 0x5422003D, // 0150 LDINT R8 62 + 0x1C200C08, // 0151 EQ R8 R6 R8 + 0x782200B5, // 0152 JMPF R8 #0209 + 0x8C200133, // 0153 GETMET R8 R0 K51 + 0x5C280400, // 0154 MOVE R10 R2 + 0x7C200400, // 0155 CALL R8 2 + 0x1C200F05, // 0156 EQ R8 R7 K5 + 0x78220036, // 0157 JMPF R8 #018F + 0x8C200B11, // 0158 GETMET R8 R5 K17 + 0x7C200200, // 0159 CALL R8 1 + 0x88240534, // 015A GETMBR R9 R2 K52 + 0x78260005, // 015B JMPF R9 #0162 + 0x60240012, // 015C GETGBL R9 G18 + 0x7C240000, // 015D CALL R9 0 + 0x8C280335, // 015E GETMET R10 R1 K53 + 0x7C280200, // 015F CALL R10 1 + 0x4028120A, // 0160 CONNECT R10 R9 R10 + 0x70020003, // 0161 JMP #0166 + 0x88240136, // 0162 GETMBR R9 R0 K54 + 0x88241337, // 0163 GETMBR R9 R9 K55 + 0x8C241338, // 0164 GETMET R9 R9 K56 + 0x7C240200, // 0165 CALL R9 1 + 0x60280010, // 0166 GETGBL R10 G16 + 0x5C2C1200, // 0167 MOVE R11 R9 + 0x7C280200, // 0168 CALL R10 1 + 0xA802001F, // 0169 EXBLK 0 #018A + 0x5C2C1400, // 016A MOVE R11 R10 + 0x7C2C0000, // 016B CALL R11 0 + 0x8C301739, // 016C GETMET R12 R11 K57 + 0x7C300200, // 016D CALL R12 1 + 0x78320000, // 016E JMPF R12 #0170 + 0x7001FFF9, // 016F JMP #016A + 0x4C300000, // 0170 LDNIL R12 + 0x1C30160C, // 0171 EQ R12 R11 R12 + 0x78320000, // 0172 JMPF R12 #0174 + 0x7001FFF5, // 0173 JMP #016A + 0x8C301115, // 0174 GETMET R12 R8 K21 + 0x4C380000, // 0175 LDNIL R14 + 0x7C300400, // 0176 CALL R12 2 + 0x8C34190B, // 0177 GETMET R13 R12 K11 + 0x583C0009, // 0178 LDCONST R15 K9 + 0x88400B3A, // 0179 GETMBR R16 R5 K58 + 0x8C44173B, // 017A GETMET R17 R11 K59 + 0x7C440200, // 017B CALL R17 1 + 0x7C340800, // 017C CALL R13 4 + 0x8C34190B, // 017D GETMET R13 R12 K11 + 0x583C000D, // 017E LDCONST R15 K13 + 0x88400B3A, // 017F GETMBR R16 R5 K58 + 0x8C44173C, // 0180 GETMET R17 R11 K60 + 0x7C440200, // 0181 CALL R17 1 + 0x7C340800, // 0182 CALL R13 4 + 0x8C34190B, // 0183 GETMET R13 R12 K11 + 0x543E00FD, // 0184 LDINT R15 254 + 0x88400B0C, // 0185 GETMBR R16 R5 K12 + 0x8C44173D, // 0186 GETMET R17 R11 K61 + 0x7C440200, // 0187 CALL R17 1 + 0x7C340800, // 0188 CALL R13 4 + 0x7001FFDF, // 0189 JMP #016A + 0x5828003E, // 018A LDCONST R10 K62 + 0xAC280200, // 018B CATCH R10 1 0 + 0xB0080000, // 018C RAISE 2 R0 R0 + 0x80041000, // 018D RET 1 R8 + 0x70020078, // 018E JMP #0208 + 0x1C200F09, // 018F EQ R8 R7 K9 + 0x7822004D, // 0190 JMPF R8 #01DF + 0x8C200B11, // 0191 GETMET R8 R5 K17 + 0x7C200200, // 0192 CALL R8 1 + 0x88240534, // 0193 GETMBR R9 R2 K52 + 0x78260005, // 0194 JMPF R9 #019B + 0x60240012, // 0195 GETGBL R9 G18 + 0x7C240000, // 0196 CALL R9 0 + 0x8C280335, // 0197 GETMET R10 R1 K53 + 0x7C280200, // 0198 CALL R10 1 + 0x4028120A, // 0199 CONNECT R10 R9 R10 + 0x70020003, // 019A JMP #019F + 0x88240136, // 019B GETMBR R9 R0 K54 + 0x88241337, // 019C GETMBR R9 R9 K55 + 0x8C241338, // 019D GETMET R9 R9 K56 + 0x7C240200, // 019E CALL R9 1 + 0x60280010, // 019F GETGBL R10 G16 + 0x5C2C1200, // 01A0 MOVE R11 R9 + 0x7C280200, // 01A1 CALL R10 1 + 0xA8020036, // 01A2 EXBLK 0 #01DA + 0x5C2C1400, // 01A3 MOVE R11 R10 + 0x7C2C0000, // 01A4 CALL R11 0 + 0x4C300000, // 01A5 LDNIL R12 + 0x1C30160C, // 01A6 EQ R12 R11 R12 + 0x78320000, // 01A7 JMPF R12 #01A9 + 0x7001FFF9, // 01A8 JMP #01A3 + 0x8C301739, // 01A9 GETMET R12 R11 K57 + 0x7C300200, // 01AA CALL R12 1 + 0x78320000, // 01AB JMPF R12 #01AD + 0x7001FFF5, // 01AC JMP #01A3 + 0x8C300B3F, // 01AD GETMET R12 R5 K63 + 0x8C381740, // 01AE GETMET R14 R11 K64 + 0x7C380200, // 01AF CALL R14 1 + 0x7C300400, // 01B0 CALL R12 2 + 0x8C341115, // 01B1 GETMET R13 R8 K21 + 0x4C3C0000, // 01B2 LDNIL R15 + 0x7C340400, // 01B3 CALL R13 2 + 0x8C381B0B, // 01B4 GETMET R14 R13 K11 + 0x58400009, // 01B5 LDCONST R16 K9 + 0x88440B3A, // 01B6 GETMBR R17 R5 K58 + 0x8C481941, // 01B7 GETMET R18 R12 K65 + 0x54520008, // 01B8 LDINT R20 9 + 0x7C480400, // 01B9 CALL R18 2 + 0x7C380800, // 01BA CALL R14 4 + 0x8C381B0B, // 01BB GETMET R14 R13 K11 + 0x5840000D, // 01BC LDCONST R16 K13 + 0x88440B0C, // 01BD GETMBR R17 R5 K12 + 0x8C481742, // 01BE GETMET R18 R11 K66 + 0x7C480200, // 01BF CALL R18 1 + 0x7C380800, // 01C0 CALL R14 4 + 0x8C381B0B, // 01C1 GETMET R14 R13 K11 + 0x5840000F, // 01C2 LDCONST R16 K15 + 0x88440B07, // 01C3 GETMBR R17 R5 K7 + 0x8C481743, // 01C4 GETMET R18 R11 K67 + 0x7C480200, // 01C5 CALL R18 1 + 0x7C380800, // 01C6 CALL R14 4 + 0x8C381B0B, // 01C7 GETMET R14 R13 K11 + 0x54420003, // 01C8 LDINT R16 4 + 0x88440B07, // 01C9 GETMBR R17 R5 K7 + 0x8C481744, // 01CA GETMET R18 R11 K68 + 0x7C480200, // 01CB CALL R18 1 + 0x7C380800, // 01CC CALL R14 4 + 0x8C381B0B, // 01CD GETMET R14 R13 K11 + 0x54420004, // 01CE LDINT R16 5 + 0x88440B16, // 01CF GETMBR R17 R5 K22 + 0x8C481745, // 01D0 GETMET R18 R11 K69 + 0x7C480200, // 01D1 CALL R18 1 + 0x7C380800, // 01D2 CALL R14 4 + 0x8C381B0B, // 01D3 GETMET R14 R13 K11 + 0x544200FD, // 01D4 LDINT R16 254 + 0x88440B0C, // 01D5 GETMBR R17 R5 K12 + 0x8C48173D, // 01D6 GETMET R18 R11 K61 + 0x7C480200, // 01D7 CALL R18 1 + 0x7C380800, // 01D8 CALL R14 4 + 0x7001FFC8, // 01D9 JMP #01A3 + 0x5828003E, // 01DA LDCONST R10 K62 + 0xAC280200, // 01DB CATCH R10 1 0 + 0xB0080000, // 01DC RAISE 2 R0 R0 + 0x80041000, // 01DD RET 1 R8 + 0x70020028, // 01DE JMP #0208 + 0x1C200F0D, // 01DF EQ R8 R7 K13 + 0x78220007, // 01E0 JMPF R8 #01E9 + 0x8C200706, // 01E1 GETMET R8 R3 K6 + 0x88280B0E, // 01E2 GETMBR R10 R5 K14 + 0xB82E0200, // 01E3 GETNGBL R11 K1 + 0x882C1746, // 01E4 GETMBR R11 R11 K70 + 0x882C1747, // 01E5 GETMBR R11 R11 K71 + 0x7C200600, // 01E6 CALL R8 3 + 0x80041000, // 01E7 RET 1 R8 + 0x7002001E, // 01E8 JMP #0208 + 0x1C200F0F, // 01E9 EQ R8 R7 K15 + 0x78220009, // 01EA JMPF R8 #01F5 + 0x88200136, // 01EB GETMBR R8 R0 K54 + 0x88201137, // 01EC GETMBR R8 R8 K55 + 0x8C201148, // 01ED GETMET R8 R8 K72 + 0x7C200200, // 01EE CALL R8 1 + 0x8C240706, // 01EF GETMET R9 R3 K6 + 0x882C0B0E, // 01F0 GETMBR R11 R5 K14 + 0x5C301000, // 01F1 MOVE R12 R8 + 0x7C240600, // 01F2 CALL R9 3 + 0x80041200, // 01F3 RET 1 R9 + 0x70020012, // 01F4 JMP #0208 + 0x54220003, // 01F5 LDINT R8 4 + 0x1C200E08, // 01F6 EQ R8 R7 R8 + 0x78220000, // 01F7 JMPF R8 #01F9 + 0x7002000E, // 01F8 JMP #0208 + 0x54220004, // 01F9 LDINT R8 5 + 0x1C200E08, // 01FA EQ R8 R7 R8 + 0x7822000B, // 01FB JMPF R8 #0208 + 0x88200349, // 01FC GETMBR R8 R1 K73 + 0x8C20113D, // 01FD GETMET R8 R8 K61 + 0x7C200200, // 01FE CALL R8 1 + 0x4C240000, // 01FF LDNIL R9 + 0x1C241009, // 0200 EQ R9 R8 R9 + 0x78260000, // 0201 JMPF R9 #0203 + 0x58200005, // 0202 LDCONST R8 K5 + 0x8C240706, // 0203 GETMET R9 R3 K6 + 0x882C0B0E, // 0204 GETMBR R11 R5 K14 + 0x5C301000, // 0205 MOVE R12 R8 + 0x7C240600, // 0206 CALL R9 3 + 0x80041200, // 0207 RET 1 R9 + 0x7002018F, // 0208 JMP #0399 + 0x5422003B, // 0209 LDINT R8 60 + 0x1C200C08, // 020A EQ R8 R6 R8 + 0x78220034, // 020B JMPF R8 #0241 + 0x1C200F05, // 020C EQ R8 R7 K5 + 0x78220014, // 020D JMPF R8 #0223 + 0x88200136, // 020E GETMBR R8 R0 K54 + 0x8820114A, // 020F GETMBR R8 R8 K74 + 0x8C20114B, // 0210 GETMET R8 R8 K75 + 0x7C200200, // 0211 CALL R8 1 + 0x88240136, // 0212 GETMBR R9 R0 K54 + 0x8824134A, // 0213 GETMBR R9 R9 K74 + 0x8C24134C, // 0214 GETMET R9 R9 K76 + 0x7C240200, // 0215 CALL R9 1 + 0x78220004, // 0216 JMPF R8 #021C + 0x78260001, // 0217 JMPF R9 #021A + 0x5828000D, // 0218 LDCONST R10 K13 + 0x70020000, // 0219 JMP #021B + 0x58280009, // 021A LDCONST R10 K9 + 0x70020000, // 021B JMP #021D + 0x58280005, // 021C LDCONST R10 K5 + 0x8C2C0706, // 021D GETMET R11 R3 K6 + 0x88340B0E, // 021E GETMBR R13 R5 K14 + 0x5C381400, // 021F MOVE R14 R10 + 0x7C2C0600, // 0220 CALL R11 3 + 0x80041600, // 0221 RET 1 R11 + 0x7002001C, // 0222 JMP #0240 + 0x1C200F09, // 0223 EQ R8 R7 K9 + 0x7822000C, // 0224 JMPF R8 #0232 + 0x88200136, // 0225 GETMBR R8 R0 K54 + 0x8820114A, // 0226 GETMBR R8 R8 K74 + 0x8820114D, // 0227 GETMBR R8 R8 K77 + 0x4C240000, // 0228 LDNIL R9 + 0x20241009, // 0229 NE R9 R8 R9 + 0x78260005, // 022A JMPF R9 #0231 + 0x8C24074E, // 022B GETMET R9 R3 K78 + 0x882C0B0C, // 022C GETMBR R11 R5 K12 + 0x8C30113D, // 022D GETMET R12 R8 K61 + 0x7C300200, // 022E CALL R12 1 + 0x7C240600, // 022F CALL R9 3 + 0x80041200, // 0230 RET 1 R9 + 0x7002000D, // 0231 JMP #0240 + 0x1C200F0D, // 0232 EQ R8 R7 K13 + 0x7822000B, // 0233 JMPF R8 #0240 + 0x88200136, // 0234 GETMBR R8 R0 K54 + 0x8820114A, // 0235 GETMBR R8 R8 K74 + 0x8820114D, // 0236 GETMBR R8 R8 K77 + 0x4C240000, // 0237 LDNIL R9 + 0x20241009, // 0238 NE R9 R8 R9 + 0x78260005, // 0239 JMPF R9 #0240 + 0x8C24074E, // 023A GETMET R9 R3 K78 + 0x882C0B0C, // 023B GETMBR R11 R5 K12 + 0x8C301142, // 023C GETMET R12 R8 K66 + 0x7C300200, // 023D CALL R12 1 + 0x7C240600, // 023E CALL R9 3 + 0x80041200, // 023F RET 1 R9 + 0x70020157, // 0240 JMP #0399 + 0x54220027, // 0241 LDINT R8 40 + 0x1C200C08, // 0242 EQ R8 R6 R8 + 0x782200BC, // 0243 JMPF R8 #0301 + 0x8C200133, // 0244 GETMET R8 R0 K51 + 0x5C280400, // 0245 MOVE R10 R2 + 0x7C200400, // 0246 CALL R8 2 + 0x1C200F05, // 0247 EQ R8 R7 K5 + 0x78220005, // 0248 JMPF R8 #024F + 0x8C200706, // 0249 GETMET R8 R3 K6 + 0x88280B0C, // 024A GETMBR R10 R5 K12 + 0x582C0009, // 024B LDCONST R11 K9 + 0x7C200600, // 024C CALL R8 3 + 0x80041000, // 024D RET 1 R8 + 0x700200B0, // 024E JMP #0300 + 0x1C200F09, // 024F EQ R8 R7 K9 + 0x78220005, // 0250 JMPF R8 #0257 + 0x8C200706, // 0251 GETMET R8 R3 K6 + 0x88280B16, // 0252 GETMBR R10 R5 K22 + 0x582C004F, // 0253 LDCONST R11 K79 + 0x7C200600, // 0254 CALL R8 3 + 0x80041000, // 0255 RET 1 R8 + 0x700200A8, // 0256 JMP #0300 + 0x1C200F0D, // 0257 EQ R8 R7 K13 + 0x78220006, // 0258 JMPF R8 #0260 + 0x8C200706, // 0259 GETMET R8 R3 K6 + 0x88280B0C, // 025A GETMBR R10 R5 K12 + 0x882C0136, // 025B GETMBR R11 R0 K54 + 0x882C1750, // 025C GETMBR R11 R11 K80 + 0x7C200600, // 025D CALL R8 3 + 0x80041000, // 025E RET 1 R8 + 0x7002009F, // 025F JMP #0300 + 0x1C200F0F, // 0260 EQ R8 R7 K15 + 0x7822000A, // 0261 JMPF R8 #026D + 0x8C200706, // 0262 GETMET R8 R3 K6 + 0x88280B16, // 0263 GETMBR R10 R5 K22 + 0xB82E2400, // 0264 GETNGBL R11 K18 + 0x8C2C1726, // 0265 GETMET R11 R11 K38 + 0x58340051, // 0266 LDCONST R13 K81 + 0x50380200, // 0267 LDBOOL R14 1 0 + 0x7C2C0600, // 0268 CALL R11 3 + 0x942C1751, // 0269 GETIDX R11 R11 K81 + 0x7C200600, // 026A CALL R8 3 + 0x80041000, // 026B RET 1 R8 + 0x70020092, // 026C JMP #0300 + 0x54220003, // 026D LDINT R8 4 + 0x1C200E08, // 026E EQ R8 R7 R8 + 0x78220005, // 026F JMPF R8 #0276 + 0x8C200706, // 0270 GETMET R8 R3 K6 + 0x88280B0C, // 0271 GETMBR R10 R5 K12 + 0x542E7FFF, // 0272 LDINT R11 32768 + 0x7C200600, // 0273 CALL R8 3 + 0x80041000, // 0274 RET 1 R8 + 0x70020089, // 0275 JMP #0300 + 0x54220004, // 0276 LDINT R8 5 + 0x1C200E08, // 0277 EQ R8 R7 R8 + 0x7822000A, // 0278 JMPF R8 #0284 + 0x8C200706, // 0279 GETMET R8 R3 K6 + 0x88280B16, // 027A GETMBR R10 R5 K22 + 0xB82E2400, // 027B GETNGBL R11 K18 + 0x8C2C1726, // 027C GETMET R11 R11 K38 + 0x58340052, // 027D LDCONST R13 K82 + 0x50380200, // 027E LDBOOL R14 1 0 + 0x7C2C0600, // 027F CALL R11 3 + 0x942C1753, // 0280 GETIDX R11 R11 K83 + 0x7C200600, // 0281 CALL R8 3 + 0x80041000, // 0282 RET 1 R8 + 0x7002007B, // 0283 JMP #0300 + 0x54220005, // 0284 LDINT R8 6 + 0x1C200E08, // 0285 EQ R8 R7 R8 + 0x78220005, // 0286 JMPF R8 #028D + 0x8C200706, // 0287 GETMET R8 R3 K6 + 0x88280B16, // 0288 GETMBR R10 R5 K22 + 0x582C0054, // 0289 LDCONST R11 K84 + 0x7C200600, // 028A CALL R8 3 + 0x80041000, // 028B RET 1 R8 + 0x70020072, // 028C JMP #0300 + 0x54220006, // 028D LDINT R8 7 + 0x1C200E08, // 028E EQ R8 R7 R8 + 0x78220005, // 028F JMPF R8 #0296 + 0x8C200706, // 0290 GETMET R8 R3 K6 + 0x88280B0C, // 0291 GETMBR R10 R5 K12 + 0x582C0005, // 0292 LDCONST R11 K5 + 0x7C200600, // 0293 CALL R8 3 + 0x80041000, // 0294 RET 1 R8 + 0x70020069, // 0295 JMP #0300 + 0x54220007, // 0296 LDINT R8 8 + 0x1C200E08, // 0297 EQ R8 R7 R8 + 0x7822000B, // 0298 JMPF R8 #02A5 + 0x8C200706, // 0299 GETMET R8 R3 K6 + 0x88280B16, // 029A GETMBR R10 R5 K22 + 0xB82E2400, // 029B GETNGBL R11 K18 + 0x8C2C1726, // 029C GETMET R11 R11 K38 + 0x58340055, // 029D LDCONST R13 K85 + 0x50380200, // 029E LDBOOL R14 1 0 + 0x7C2C0600, // 029F CALL R11 3 + 0x942C1756, // 02A0 GETIDX R11 R11 K86 + 0x942C1757, // 02A1 GETIDX R11 R11 K87 + 0x7C200600, // 02A2 CALL R8 3 + 0x80041000, // 02A3 RET 1 R8 + 0x7002005A, // 02A4 JMP #0300 + 0x54220008, // 02A5 LDINT R8 9 + 0x1C200E08, // 02A6 EQ R8 R7 R8 + 0x78220007, // 02A7 JMPF R8 #02B0 + 0x8C200706, // 02A8 GETMET R8 R3 K6 + 0x88280B2A, // 02A9 GETMBR R10 R5 K42 + 0xB82E2400, // 02AA GETNGBL R11 K18 + 0x8C2C1758, // 02AB GETMET R11 R11 K88 + 0x7C2C0200, // 02AC CALL R11 1 + 0x7C200600, // 02AD CALL R8 3 + 0x80041000, // 02AE RET 1 R8 + 0x7002004F, // 02AF JMP #0300 + 0x54220009, // 02B0 LDINT R8 10 + 0x1C200E08, // 02B1 EQ R8 R7 R8 + 0x78220015, // 02B2 JMPF R8 #02C9 + 0xB8222400, // 02B3 GETNGBL R8 K18 + 0x8C201126, // 02B4 GETMET R8 R8 K38 + 0x58280055, // 02B5 LDCONST R10 K85 + 0x502C0200, // 02B6 LDBOOL R11 1 0 + 0x7C200600, // 02B7 CALL R8 3 + 0x94201156, // 02B8 GETIDX R8 R8 K86 + 0x94201159, // 02B9 GETIDX R8 R8 K89 + 0x8C24091B, // 02BA GETMET R9 R4 K27 + 0x5C2C1000, // 02BB MOVE R11 R8 + 0x5830005A, // 02BC LDCONST R12 K90 + 0x7C240600, // 02BD CALL R9 3 + 0x24281305, // 02BE GT R10 R9 K5 + 0x782A0002, // 02BF JMPF R10 #02C3 + 0x04281309, // 02C0 SUB R10 R9 K9 + 0x402A0A0A, // 02C1 CONNECT R10 K5 R10 + 0x9420100A, // 02C2 GETIDX R8 R8 R10 + 0x8C280706, // 02C3 GETMET R10 R3 K6 + 0x88300B16, // 02C4 GETMBR R12 R5 K22 + 0x5C341000, // 02C5 MOVE R13 R8 + 0x7C280600, // 02C6 CALL R10 3 + 0x80041400, // 02C7 RET 1 R10 + 0x70020036, // 02C8 JMP #0300 + 0x5422000E, // 02C9 LDINT R8 15 + 0x1C200E08, // 02CA EQ R8 R7 R8 + 0x7822000B, // 02CB JMPF R8 #02D8 + 0x8C200706, // 02CC GETMET R8 R3 K6 + 0x88280B16, // 02CD GETMBR R10 R5 K22 + 0xB82E2400, // 02CE GETNGBL R11 K18 + 0x8C2C1725, // 02CF GETMET R11 R11 K37 + 0x7C2C0200, // 02D0 CALL R11 1 + 0x8C2C171B, // 02D1 GETMET R11 R11 K27 + 0x5834001C, // 02D2 LDCONST R13 K28 + 0x5838001D, // 02D3 LDCONST R14 K29 + 0x7C2C0600, // 02D4 CALL R11 3 + 0x7C200600, // 02D5 CALL R8 3 + 0x80041000, // 02D6 RET 1 R8 + 0x70020027, // 02D7 JMP #0300 + 0x54220010, // 02D8 LDINT R8 17 + 0x1C200E08, // 02D9 EQ R8 R7 R8 + 0x78220005, // 02DA JMPF R8 #02E1 + 0x8C200706, // 02DB GETMET R8 R3 K6 + 0x88280B10, // 02DC GETMBR R10 R5 K16 + 0x582C0009, // 02DD LDCONST R11 K9 + 0x7C200600, // 02DE CALL R8 3 + 0x80041000, // 02DF RET 1 R8 + 0x7002001E, // 02E0 JMP #0300 + 0x54220011, // 02E1 LDINT R8 18 + 0x1C200E08, // 02E2 EQ R8 R7 R8 + 0x7822000B, // 02E3 JMPF R8 #02F0 + 0x8C200706, // 02E4 GETMET R8 R3 K6 + 0x88280B16, // 02E5 GETMBR R10 R5 K22 + 0xB82E2400, // 02E6 GETNGBL R11 K18 + 0x8C2C1725, // 02E7 GETMET R11 R11 K37 + 0x7C2C0200, // 02E8 CALL R11 1 + 0x8C2C171B, // 02E9 GETMET R11 R11 K27 + 0x5834001C, // 02EA LDCONST R13 K28 + 0x5838001D, // 02EB LDCONST R14 K29 + 0x7C2C0600, // 02EC CALL R11 3 + 0x7C200600, // 02ED CALL R8 3 + 0x80041000, // 02EE RET 1 R8 + 0x7002000F, // 02EF JMP #0300 + 0x54220012, // 02F0 LDINT R8 19 + 0x1C200E08, // 02F1 EQ R8 R7 R8 + 0x7822000C, // 02F2 JMPF R8 #0300 + 0x8C200B0A, // 02F3 GETMET R8 R5 K10 + 0x7C200200, // 02F4 CALL R8 1 + 0x8C24110B, // 02F5 GETMET R9 R8 K11 + 0x582C0005, // 02F6 LDCONST R11 K5 + 0x88300B0C, // 02F7 GETMBR R12 R5 K12 + 0x5834000F, // 02F8 LDCONST R13 K15 + 0x7C240800, // 02F9 CALL R9 4 + 0x8C24110B, // 02FA GETMET R9 R8 K11 + 0x582C0009, // 02FB LDCONST R11 K9 + 0x88300B0C, // 02FC GETMBR R12 R5 K12 + 0x5834000F, // 02FD LDCONST R13 K15 + 0x7C240800, // 02FE CALL R9 4 + 0x80041000, // 02FF RET 1 R8 + 0x70020097, // 0300 JMP #0399 + 0x5422003E, // 0301 LDINT R8 63 + 0x1C200C08, // 0302 EQ R8 R6 R8 + 0x78220000, // 0303 JMPF R8 #0305 + 0x70020093, // 0304 JMP #0399 + 0x54220029, // 0305 LDINT R8 42 + 0x1C200C08, // 0306 EQ R8 R6 R8 + 0x7822001D, // 0307 JMPF R8 #0326 + 0x1C200F05, // 0308 EQ R8 R7 K5 + 0x78220003, // 0309 JMPF R8 #030E + 0x8C200B11, // 030A GETMET R8 R5 K17 + 0x7C200200, // 030B CALL R8 1 + 0x80041000, // 030C RET 1 R8 + 0x70020016, // 030D JMP #0325 + 0x1C200F09, // 030E EQ R8 R7 K9 + 0x78220005, // 030F JMPF R8 #0316 + 0x8C200706, // 0310 GETMET R8 R3 K6 + 0x88280B10, // 0311 GETMBR R10 R5 K16 + 0x582C0005, // 0312 LDCONST R11 K5 + 0x7C200600, // 0313 CALL R8 3 + 0x80041000, // 0314 RET 1 R8 + 0x7002000E, // 0315 JMP #0325 + 0x1C200F0D, // 0316 EQ R8 R7 K13 + 0x78220005, // 0317 JMPF R8 #031E + 0x8C200706, // 0318 GETMET R8 R3 K6 + 0x88280B0E, // 0319 GETMBR R10 R5 K14 + 0x582C0009, // 031A LDCONST R11 K9 + 0x7C200600, // 031B CALL R8 3 + 0x80041000, // 031C RET 1 R8 + 0x70020006, // 031D JMP #0325 + 0x1C200F0F, // 031E EQ R8 R7 K15 + 0x78220004, // 031F JMPF R8 #0325 + 0x8C200706, // 0320 GETMET R8 R3 K6 + 0x88280B18, // 0321 GETMBR R10 R5 K24 + 0x4C2C0000, // 0322 LDNIL R11 + 0x7C200600, // 0323 CALL R8 3 + 0x80041000, // 0324 RET 1 R8 + 0x70020072, // 0325 JMP #0399 + 0x5422002A, // 0326 LDINT R8 43 + 0x1C200C08, // 0327 EQ R8 R6 R8 + 0x78220016, // 0328 JMPF R8 #0340 + 0x1C200F05, // 0329 EQ R8 R7 K5 + 0x78220007, // 032A JMPF R8 #0333 + 0x8C200706, // 032B GETMET R8 R3 K6 + 0x88280B16, // 032C GETMBR R10 R5 K22 + 0xB82E2400, // 032D GETNGBL R11 K18 + 0x8C2C175B, // 032E GETMET R11 R11 K91 + 0x7C2C0200, // 032F CALL R11 1 + 0x7C200600, // 0330 CALL R8 3 + 0x80041000, // 0331 RET 1 R8 + 0x7002000B, // 0332 JMP #033F + 0x1C200F09, // 0333 EQ R8 R7 K9 + 0x78220009, // 0334 JMPF R8 #033F + 0x8C200B11, // 0335 GETMET R8 R5 K17 + 0x7C200200, // 0336 CALL R8 1 + 0x8C24110B, // 0337 GETMET R9 R8 K11 + 0x4C2C0000, // 0338 LDNIL R11 + 0x88300B16, // 0339 GETMBR R12 R5 K22 + 0xB8362400, // 033A GETNGBL R13 K18 + 0x8C341B5B, // 033B GETMET R13 R13 K91 + 0x7C340200, // 033C CALL R13 1 + 0x7C240800, // 033D CALL R9 4 + 0x80041000, // 033E RET 1 R8 + 0x70020058, // 033F JMP #0399 + 0x5422002B, // 0340 LDINT R8 44 + 0x1C200C08, // 0341 EQ R8 R6 R8 + 0x7822001C, // 0342 JMPF R8 #0360 + 0x1C200F05, // 0343 EQ R8 R7 K5 + 0x78220005, // 0344 JMPF R8 #034B + 0x8C200706, // 0345 GETMET R8 R3 K6 + 0x88280B0E, // 0346 GETMBR R10 R5 K14 + 0x582C0009, // 0347 LDCONST R11 K9 + 0x7C200600, // 0348 CALL R8 3 + 0x80041000, // 0349 RET 1 R8 + 0x70020013, // 034A JMP #035F + 0x1C200F09, // 034B EQ R8 R7 K9 + 0x78220005, // 034C JMPF R8 #0353 + 0x8C200706, // 034D GETMET R8 R3 K6 + 0x88280B0E, // 034E GETMBR R10 R5 K14 + 0x542E0003, // 034F LDINT R11 4 + 0x7C200600, // 0350 CALL R8 3 + 0x80041000, // 0351 RET 1 R8 + 0x7002000B, // 0352 JMP #035F + 0x1C200F0D, // 0353 EQ R8 R7 K13 + 0x78220009, // 0354 JMPF R8 #035F + 0x8C200B11, // 0355 GETMET R8 R5 K17 + 0x7C200200, // 0356 CALL R8 1 + 0x8C24110B, // 0357 GETMET R9 R8 K11 + 0x4C2C0000, // 0358 LDNIL R11 + 0x8C300B5C, // 0359 GETMET R12 R5 K92 + 0x88380B0E, // 035A GETMBR R14 R5 K14 + 0x543E0003, // 035B LDINT R15 4 + 0x7C300600, // 035C CALL R12 3 + 0x7C240600, // 035D CALL R9 3 + 0x80041000, // 035E RET 1 R8 + 0x70020038, // 035F JMP #0399 + 0x54220030, // 0360 LDINT R8 49 + 0x1C200C08, // 0361 EQ R8 R6 R8 + 0x78220007, // 0362 JMPF R8 #036B + 0x1C200F0F, // 0363 EQ R8 R7 K15 + 0x78220004, // 0364 JMPF R8 #036A + 0x8C200706, // 0365 GETMET R8 R3 K6 + 0x88280B0E, // 0366 GETMBR R10 R5 K14 + 0x542E001D, // 0367 LDINT R11 30 + 0x7C200600, // 0368 CALL R8 3 + 0x80041000, // 0369 RET 1 R8 + 0x7002002D, // 036A JMP #0399 + 0x5422001C, // 036B LDINT R8 29 + 0x1C200C08, // 036C EQ R8 R6 R8 + 0x7822002A, // 036D JMPF R8 #0399 + 0x1C200F0D, // 036E EQ R8 R7 K13 + 0x78220008, // 036F JMPF R8 #0379 + 0x8C200B11, // 0370 GETMET R8 R5 K17 + 0x7C200200, // 0371 CALL R8 1 + 0x8C24110B, // 0372 GETMET R9 R8 K11 + 0x4C2C0000, // 0373 LDNIL R11 + 0x88300B0C, // 0374 GETMBR R12 R5 K12 + 0x5436001E, // 0375 LDINT R13 31 + 0x7C240800, // 0376 CALL R9 4 + 0x80041000, // 0377 RET 1 R8 + 0x7002001F, // 0378 JMP #0399 + 0x1C200F0F, // 0379 EQ R8 R7 K15 + 0x7822001D, // 037A JMPF R8 #0399 + 0x8C200B11, // 037B GETMET R8 R5 K17 + 0x7C200200, // 037C CALL R8 1 + 0x88240136, // 037D GETMBR R9 R0 K54 + 0x8C24135D, // 037E GETMET R9 R9 K93 + 0x502C0200, // 037F LDBOOL R11 1 0 + 0x7C240400, // 0380 CALL R9 2 + 0x88280136, // 0381 GETMBR R10 R0 K54 + 0x8828155E, // 0382 GETMBR R10 R10 K94 + 0x602C0010, // 0383 GETGBL R11 G16 + 0x5C301200, // 0384 MOVE R12 R9 + 0x7C2C0200, // 0385 CALL R11 1 + 0xA802000D, // 0386 EXBLK 0 #0395 + 0x5C301600, // 0387 MOVE R12 R11 + 0x7C300000, // 0388 CALL R12 0 + 0x5C341400, // 0389 MOVE R13 R10 + 0x78360003, // 038A JMPF R13 #038F + 0xB8360200, // 038B GETNGBL R13 K1 + 0x88341B5F, // 038C GETMBR R13 R13 K95 + 0x2034180D, // 038D NE R13 R12 R13 + 0x78360004, // 038E JMPF R13 #0394 + 0x8C34110B, // 038F GETMET R13 R8 K11 + 0x4C3C0000, // 0390 LDNIL R15 + 0x88400B0C, // 0391 GETMBR R16 R5 K12 + 0x5C441800, // 0392 MOVE R17 R12 + 0x7C340800, // 0393 CALL R13 4 + 0x7001FFF1, // 0394 JMP #0387 + 0x582C003E, // 0395 LDCONST R11 K62 + 0xAC2C0200, // 0396 CATCH R11 1 0 + 0xB0080000, // 0397 RAISE 2 R0 R0 + 0x80041000, // 0398 RET 1 R8 + 0x60200003, // 0399 GETGBL R8 G3 + 0x5C240000, // 039A MOVE R9 R0 + 0x7C200200, // 039B CALL R8 1 + 0x8C201160, // 039C GETMET R8 R8 K96 + 0x5C280200, // 039D MOVE R10 R1 + 0x5C2C0400, // 039E MOVE R11 R2 + 0x5C300600, // 039F MOVE R12 R3 + 0x7C200800, // 03A0 CALL R8 4 + 0x80041000, // 03A1 RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Root, /* shared constants */ + be_str_weak(write_attribute), + &be_const_str_solidified, + ( &(const binstruction[100]) { /* code */ + 0xB8120200, // 0000 GETNGBL R4 K1 + 0x88100902, // 0001 GETMBR R4 R4 K2 + 0x88140503, // 0002 GETMBR R5 R2 K3 + 0x88180504, // 0003 GETMBR R6 R2 K4 + 0x541E002F, // 0004 LDINT R7 48 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0019, // 0006 JMPF R7 #0021 + 0x1C1C0D05, // 0007 EQ R7 R6 K5 + 0x781E0016, // 0008 JMPF R7 #0020 + 0x601C0004, // 0009 GETGBL R7 G4 + 0x5C200600, // 000A MOVE R8 R3 + 0x7C1C0200, // 000B CALL R7 1 + 0x1C1C0F61, // 000C EQ R7 R7 K97 + 0x741E0004, // 000D JMPT R7 #0013 + 0x601C000F, // 000E GETGBL R7 G15 + 0x5C200600, // 000F MOVE R8 R3 + 0xB8265C00, // 0010 GETNGBL R9 K46 + 0x7C1C0400, // 0011 CALL R7 2 + 0x781E0007, // 0012 JMPF R7 #001B + 0x90061003, // 0013 SETMBR R1 K8 R3 + 0x8C1C0162, // 0014 GETMET R7 R0 K98 + 0x88240503, // 0015 GETMBR R9 R2 K3 + 0x88280504, // 0016 GETMBR R10 R2 K4 + 0x7C1C0600, // 0017 CALL R7 3 + 0x501C0200, // 0018 LDBOOL R7 1 0 + 0x80040E00, // 0019 RET 1 R7 + 0x70020004, // 001A JMP #0020 + 0xB81E0200, // 001B GETNGBL R7 K1 + 0x881C0F64, // 001C GETMBR R7 R7 K100 + 0x900AC607, // 001D SETMBR R2 K99 R7 + 0x501C0000, // 001E LDBOOL R7 0 0 + 0x80040E00, // 001F RET 1 R7 + 0x70020041, // 0020 JMP #0063 + 0x541E001E, // 0021 LDINT R7 31 + 0x1C1C0A07, // 0022 EQ R7 R5 R7 + 0x781E0004, // 0023 JMPF R7 #0029 + 0x1C1C0D05, // 0024 EQ R7 R6 K5 + 0x781E0001, // 0025 JMPF R7 #0028 + 0x501C0200, // 0026 LDBOOL R7 1 0 + 0x80040E00, // 0027 RET 1 R7 + 0x70020039, // 0028 JMP #0063 + 0x541E0027, // 0029 LDINT R7 40 + 0x1C1C0A07, // 002A EQ R7 R5 R7 + 0x781E000B, // 002B JMPF R7 #0038 + 0x541E0004, // 002C LDINT R7 5 + 0x1C1C0C07, // 002D EQ R7 R6 R7 + 0x781E0002, // 002E JMPF R7 #0032 + 0x501C0200, // 002F LDBOOL R7 1 0 + 0x80040E00, // 0030 RET 1 R7 + 0x70020004, // 0031 JMP #0037 + 0x541E0005, // 0032 LDINT R7 6 + 0x1C1C0C07, // 0033 EQ R7 R6 R7 + 0x781E0001, // 0034 JMPF R7 #0037 + 0x501C0200, // 0035 LDBOOL R7 1 0 + 0x80040E00, // 0036 RET 1 R7 + 0x7002002A, // 0037 JMP #0063 + 0x541E0029, // 0038 LDINT R7 42 + 0x1C1C0A07, // 0039 EQ R7 R5 R7 + 0x781E0004, // 003A JMPF R7 #0040 + 0x1C1C0D05, // 003B EQ R7 R6 K5 + 0x781E0001, // 003C JMPF R7 #003F + 0x501C0200, // 003D LDBOOL R7 1 0 + 0x80040E00, // 003E RET 1 R7 + 0x70020022, // 003F JMP #0063 + 0x541E002A, // 0040 LDINT R7 43 + 0x1C1C0A07, // 0041 EQ R7 R5 R7 + 0x781E0007, // 0042 JMPF R7 #004B + 0x1C1C0D05, // 0043 EQ R7 R6 K5 + 0x781E0004, // 0044 JMPF R7 #004A + 0xB81E0200, // 0045 GETNGBL R7 K1 + 0x881C0F64, // 0046 GETMBR R7 R7 K100 + 0x900AC607, // 0047 SETMBR R2 K99 R7 + 0x501C0000, // 0048 LDBOOL R7 0 0 + 0x80040E00, // 0049 RET 1 R7 + 0x70020017, // 004A JMP #0063 + 0x541E002B, // 004B LDINT R7 44 + 0x1C1C0A07, // 004C EQ R7 R5 R7 + 0x781E0009, // 004D JMPF R7 #0058 + 0x1C1C0D05, // 004E EQ R7 R6 K5 + 0x781E0002, // 004F JMPF R7 #0053 + 0x501C0200, // 0050 LDBOOL R7 1 0 + 0x80040E00, // 0051 RET 1 R7 + 0x70020003, // 0052 JMP #0057 + 0x1C1C0D09, // 0053 EQ R7 R6 K9 + 0x781E0001, // 0054 JMPF R7 #0057 + 0x501C0200, // 0055 LDBOOL R7 1 0 + 0x80040E00, // 0056 RET 1 R7 + 0x7002000A, // 0057 JMP #0063 + 0x541E0030, // 0058 LDINT R7 49 + 0x1C1C0A07, // 0059 EQ R7 R5 R7 + 0x781E0007, // 005A JMPF R7 #0063 + 0x541E0003, // 005B LDINT R7 4 + 0x1C1C0C07, // 005C EQ R7 R6 R7 + 0x781E0004, // 005D JMPF R7 #0063 + 0xB81E0200, // 005E GETNGBL R7 K1 + 0x881C0F65, // 005F GETMBR R7 R7 K101 + 0x900AC607, // 0060 SETMBR R2 K99 R7 + 0x501C0000, // 0061 LDBOOL R7 0 0 + 0x80040E00, // 0062 RET 1 R7 + 0x80000000, // 0063 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Root_init, /* name */ + be_nested_proto( + 14, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Root, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100966, // 0003 GETMET R4 R4 K102 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x8C100167, // 0008 GETMET R4 R0 K103 + 0x541A0027, // 0009 LDINT R6 40 + 0x581C0005, // 000A LDCONST R7 K5 + 0xB8220200, // 000B GETNGBL R8 K1 + 0x88201168, // 000C GETMBR R8 R8 K104 + 0xB8260200, // 000D GETNGBL R9 K1 + 0x88241302, // 000E GETMBR R9 R9 K2 + 0x8C241369, // 000F GETMET R9 R9 K105 + 0x7C240200, // 0010 CALL R9 1 + 0x8C241306, // 0011 GETMET R9 R9 K6 + 0xB82E0200, // 0012 GETNGBL R11 K1 + 0x882C1702, // 0013 GETMBR R11 R11 K2 + 0x882C172A, // 0014 GETMBR R11 R11 K42 + 0xB8322400, // 0015 GETNGBL R12 K18 + 0x8C301958, // 0016 GETMET R12 R12 K88 + 0x7C300200, // 0017 CALL R12 1 + 0x7C240600, // 0018 CALL R9 3 + 0x7C100A00, // 0019 CALL R4 5 + 0x8C100167, // 001A GETMET R4 R0 K103 + 0x541A0032, // 001B LDINT R6 51 + 0x581C000F, // 001C LDCONST R7 K15 + 0xB8220200, // 001D GETNGBL R8 K1 + 0x88201168, // 001E GETMBR R8 R8 K104 + 0xB8260200, // 001F GETNGBL R9 K1 + 0x88241302, // 0020 GETMBR R9 R9 K2 + 0x8C241369, // 0021 GETMET R9 R9 K105 + 0x7C240200, // 0022 CALL R9 1 + 0x8C241306, // 0023 GETMET R9 R9 K6 + 0xB82E0200, // 0024 GETNGBL R11 K1 + 0x882C1702, // 0025 GETMBR R11 R11 K2 + 0x882C170E, // 0026 GETMBR R11 R11 K14 + 0x58300009, // 0027 LDCONST R12 K9 + 0x7C240600, // 0028 CALL R9 3 + 0x7C100A00, // 0029 CALL R4 5 + 0x80000000, // 002A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ + be_nested_proto( + 31, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 10), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(remove_fabric), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x88000100, // 0001 GETMBR R0 R0 K0 + 0x8C000101, // 0002 GETMET R0 R0 K1 + 0x68080001, // 0003 GETUPV R2 U1 + 0x7C000400, // 0004 CALL R0 2 + 0x80000000, // 0005 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Root, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[743]) { /* code */ + 0xA412D400, // 0000 IMPORT R4 K106 + 0xB8160200, // 0001 GETNGBL R5 K1 + 0x88140B02, // 0002 GETMBR R5 R5 K2 + 0x88180703, // 0003 GETMBR R6 R3 K3 + 0x881C076B, // 0004 GETMBR R7 R3 K107 + 0x5422002F, // 0005 LDINT R8 48 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x7822005D, // 0007 JMPF R8 #0066 + 0x1C200F05, // 0008 EQ R8 R7 K5 + 0x78220017, // 0009 JMPF R8 #0022 + 0x8C200541, // 000A GETMET R8 R2 K65 + 0x58280005, // 000B LDCONST R10 K5 + 0x542E0383, // 000C LDINT R11 900 + 0x7C200600, // 000D CALL R8 3 + 0x8C240541, // 000E GETMET R9 R2 K65 + 0x582C0009, // 000F LDCONST R11 K9 + 0x58300005, // 0010 LDCONST R12 K5 + 0x7C240600, // 0011 CALL R9 3 + 0x90061009, // 0012 SETMBR R1 K8 R9 + 0x8C280B0A, // 0013 GETMET R10 R5 K10 + 0x7C280200, // 0014 CALL R10 1 + 0x8C2C150B, // 0015 GETMET R11 R10 K11 + 0x58340005, // 0016 LDCONST R13 K5 + 0x88380B0E, // 0017 GETMBR R14 R5 K14 + 0x583C0005, // 0018 LDCONST R15 K5 + 0x7C2C0800, // 0019 CALL R11 4 + 0x8C2C150B, // 001A GETMET R11 R10 K11 + 0x58340009, // 001B LDCONST R13 K9 + 0x88380B16, // 001C GETMBR R14 R5 K22 + 0x583C001D, // 001D LDCONST R15 K29 + 0x7C2C0800, // 001E CALL R11 4 + 0x900ED709, // 001F SETMBR R3 K107 K9 + 0x80041400, // 0020 RET 1 R10 + 0x70020042, // 0021 JMP #0065 + 0x1C200F0D, // 0022 EQ R8 R7 K13 + 0x7822001A, // 0023 JMPF R8 #003F + 0x8C200541, // 0024 GETMET R8 R2 K65 + 0x58280005, // 0025 LDCONST R10 K5 + 0x7C200400, // 0026 CALL R8 2 + 0x8C240541, // 0027 GETMET R9 R2 K65 + 0x582C0009, // 0028 LDCONST R11 K9 + 0x58300054, // 0029 LDCONST R12 K84 + 0x7C240600, // 002A CALL R9 3 + 0x8C280541, // 002B GETMET R10 R2 K65 + 0x5830000D, // 002C LDCONST R12 K13 + 0x58340005, // 002D LDCONST R13 K5 + 0x7C280600, // 002E CALL R10 3 + 0x9006100A, // 002F SETMBR R1 K8 R10 + 0x8C2C0B0A, // 0030 GETMET R11 R5 K10 + 0x7C2C0200, // 0031 CALL R11 1 + 0x8C30170B, // 0032 GETMET R12 R11 K11 + 0x58380005, // 0033 LDCONST R14 K5 + 0x883C0B0E, // 0034 GETMBR R15 R5 K14 + 0x58400005, // 0035 LDCONST R16 K5 + 0x7C300800, // 0036 CALL R12 4 + 0x8C30170B, // 0037 GETMET R12 R11 K11 + 0x58380009, // 0038 LDCONST R14 K9 + 0x883C0B16, // 0039 GETMBR R15 R5 K22 + 0x5840001D, // 003A LDCONST R16 K29 + 0x7C300800, // 003B CALL R12 4 + 0x900ED70F, // 003C SETMBR R3 K107 K15 + 0x80041600, // 003D RET 1 R11 + 0x70020025, // 003E JMP #0065 + 0x54220003, // 003F LDINT R8 4 + 0x1C200E08, // 0040 EQ R8 R7 R8 + 0x78220022, // 0041 JMPF R8 #0065 + 0x8C200133, // 0042 GETMET R8 R0 K51 + 0x5C280600, // 0043 MOVE R10 R3 + 0x7C200400, // 0044 CALL R8 2 + 0x88200349, // 0045 GETMBR R8 R1 K73 + 0x7822001C, // 0046 JMPF R8 #0064 + 0x90061105, // 0047 SETMBR R1 K8 K5 + 0x88200349, // 0048 GETMBR R8 R1 K73 + 0x8C20116C, // 0049 GETMET R8 R8 K108 + 0x7C200200, // 004A CALL R8 1 + 0x8C20036D, // 004B GETMET R8 R1 K109 + 0x7C200200, // 004C CALL R8 1 + 0x8C20036E, // 004D GETMET R8 R1 K110 + 0x7C200200, // 004E CALL R8 1 + 0x8C200B0A, // 004F GETMET R8 R5 K10 + 0x7C200200, // 0050 CALL R8 1 + 0x8C24110B, // 0051 GETMET R9 R8 K11 + 0x582C0005, // 0052 LDCONST R11 K5 + 0x88300B0E, // 0053 GETMBR R12 R5 K14 + 0x58340005, // 0054 LDCONST R13 K5 + 0x7C240800, // 0055 CALL R9 4 + 0x8C24110B, // 0056 GETMET R9 R8 K11 + 0x582C0009, // 0057 LDCONST R11 K9 + 0x88300B16, // 0058 GETMBR R12 R5 K22 + 0x5834001D, // 0059 LDCONST R13 K29 + 0x7C240800, // 005A CALL R9 4 + 0x54260004, // 005B LDINT R9 5 + 0x900ED609, // 005C SETMBR R3 K107 R9 + 0x88240136, // 005D GETMBR R9 R0 K54 + 0x8824134A, // 005E GETMBR R9 R9 K74 + 0x8C24136F, // 005F GETMET R9 R9 K111 + 0x5C2C0200, // 0060 MOVE R11 R1 + 0x7C240400, // 0061 CALL R9 2 + 0x80041000, // 0062 RET 1 R8 + 0x70020000, // 0063 JMP #0065 + 0xB006E171, // 0064 RAISE 1 K112 K113 + 0x7002027E, // 0065 JMP #02E5 + 0x5422003D, // 0066 LDINT R8 62 + 0x1C200C08, // 0067 EQ R8 R6 R8 + 0x782201DF, // 0068 JMPF R8 #0249 + 0x1C200F0D, // 0069 EQ R8 R7 K13 + 0x7822001D, // 006A JMPF R8 #0089 + 0x8C200541, // 006B GETMET R8 R2 K65 + 0x58280005, // 006C LDCONST R10 K5 + 0x7C200400, // 006D CALL R8 2 + 0x20241109, // 006E NE R9 R8 K9 + 0x78260006, // 006F JMPF R9 #0077 + 0x2024110D, // 0070 NE R9 R8 K13 + 0x78260004, // 0071 JMPF R9 #0077 + 0xB8260200, // 0072 GETNGBL R9 K1 + 0x88241372, // 0073 GETMBR R9 R9 K114 + 0x900EC609, // 0074 SETMBR R3 K99 R9 + 0x4C240000, // 0075 LDNIL R9 + 0x80041200, // 0076 RET 1 R9 + 0x8C240B0A, // 0077 GETMET R9 R5 K10 + 0x7C240200, // 0078 CALL R9 1 + 0x8C28130B, // 0079 GETMET R10 R9 K11 + 0x58300005, // 007A LDCONST R12 K5 + 0x88340B3A, // 007B GETMBR R13 R5 K58 + 0x1C381109, // 007C EQ R14 R8 K9 + 0x783A0003, // 007D JMPF R14 #0082 + 0xB83A0200, // 007E GETNGBL R14 K1 + 0x8C381D73, // 007F GETMET R14 R14 K115 + 0x7C380200, // 0080 CALL R14 1 + 0x70020002, // 0081 JMP #0085 + 0xB83A0200, // 0082 GETNGBL R14 K1 + 0x8C381D74, // 0083 GETMET R14 R14 K116 + 0x7C380200, // 0084 CALL R14 1 + 0x7C280800, // 0085 CALL R10 4 + 0x900ED70F, // 0086 SETMBR R3 K107 K15 + 0x80041200, // 0087 RET 1 R9 + 0x700201BE, // 0088 JMP #0248 + 0x1C200F05, // 0089 EQ R8 R7 K5 + 0x7822003C, // 008A JMPF R8 #00C8 + 0x8C200541, // 008B GETMET R8 R2 K65 + 0x58280005, // 008C LDCONST R10 K5 + 0x7C200400, // 008D CALL R8 2 + 0x6024000C, // 008E GETGBL R9 G12 + 0x5C281000, // 008F MOVE R10 R8 + 0x7C240200, // 0090 CALL R9 1 + 0x542A001F, // 0091 LDINT R10 32 + 0x2024120A, // 0092 NE R9 R9 R10 + 0x78260001, // 0093 JMPF R9 #0096 + 0x4C240000, // 0094 LDNIL R9 + 0x80041200, // 0095 RET 1 R9 + 0x900ED709, // 0096 SETMBR R3 K107 K9 + 0x8C240B0A, // 0097 GETMET R9 R5 K10 + 0x7C240200, // 0098 CALL R9 1 + 0x8C28130B, // 0099 GETMET R10 R9 K11 + 0x58300009, // 009A LDCONST R12 K9 + 0x88340B3A, // 009B GETMBR R13 R5 K58 + 0xB83A0200, // 009C GETNGBL R14 K1 + 0x8C381D75, // 009D GETMET R14 R14 K117 + 0x7C380200, // 009E CALL R14 1 + 0x7C280800, // 009F CALL R10 4 + 0x8C28130B, // 00A0 GETMET R10 R9 K11 + 0x5830000D, // 00A1 LDCONST R12 K13 + 0x88340B1F, // 00A2 GETMBR R13 R5 K31 + 0x5C381000, // 00A3 MOVE R14 R8 + 0x7C280800, // 00A4 CALL R10 4 + 0x8C28130B, // 00A5 GETMET R10 R9 K11 + 0x5830000F, // 00A6 LDCONST R12 K15 + 0x88340B2A, // 00A7 GETMBR R13 R5 K42 + 0xB83A2400, // 00A8 GETNGBL R14 K18 + 0x8C381D2F, // 00A9 GETMET R14 R14 K47 + 0x7C380200, // 00AA CALL R14 1 + 0x7C280800, // 00AB CALL R10 4 + 0x8C281376, // 00AC GETMET R10 R9 K118 + 0x7C280200, // 00AD CALL R10 1 + 0x8C2C0377, // 00AE GETMET R11 R1 K119 + 0x7C2C0200, // 00AF CALL R11 1 + 0x0030140B, // 00B0 ADD R12 R10 R11 + 0x8C340978, // 00B1 GETMET R13 R4 K120 + 0x7C340200, // 00B2 CALL R13 1 + 0x8C341B79, // 00B3 GETMET R13 R13 K121 + 0xB83E0200, // 00B4 GETNGBL R15 K1 + 0x8C3C1F7A, // 00B5 GETMET R15 R15 K122 + 0x7C3C0200, // 00B6 CALL R15 1 + 0x5C401800, // 00B7 MOVE R16 R12 + 0x7C340600, // 00B8 CALL R13 3 + 0x8C380B0A, // 00B9 GETMET R14 R5 K10 + 0x7C380200, // 00BA CALL R14 1 + 0x8C3C1D0B, // 00BB GETMET R15 R14 K11 + 0x58440005, // 00BC LDCONST R17 K5 + 0x88480B3A, // 00BD GETMBR R18 R5 K58 + 0x5C4C1400, // 00BE MOVE R19 R10 + 0x7C3C0800, // 00BF CALL R15 4 + 0x8C3C1D0B, // 00C0 GETMET R15 R14 K11 + 0x58440009, // 00C1 LDCONST R17 K9 + 0x88480B1F, // 00C2 GETMBR R18 R5 K31 + 0x5C4C1A00, // 00C3 MOVE R19 R13 + 0x7C3C0800, // 00C4 CALL R15 4 + 0x900ED709, // 00C5 SETMBR R3 K107 K9 + 0x80041C00, // 00C6 RET 1 R14 + 0x7002017F, // 00C7 JMP #0248 + 0x54220003, // 00C8 LDINT R8 4 + 0x1C200E08, // 00C9 EQ R8 R7 R8 + 0x7822003C, // 00CA JMPF R8 #0108 + 0x8C200133, // 00CB GETMET R8 R0 K51 + 0x5C280600, // 00CC MOVE R10 R3 + 0x7C200400, // 00CD CALL R8 2 + 0x8C200541, // 00CE GETMET R8 R2 K65 + 0x58280005, // 00CF LDCONST R10 K5 + 0x7C200400, // 00D0 CALL R8 2 + 0x6024000C, // 00D1 GETGBL R9 G12 + 0x5C281000, // 00D2 MOVE R10 R8 + 0x7C240200, // 00D3 CALL R9 1 + 0x542A001F, // 00D4 LDINT R10 32 + 0x2024120A, // 00D5 NE R9 R9 R10 + 0x78260001, // 00D6 JMPF R9 #00D9 + 0x4C240000, // 00D7 LDNIL R9 + 0x80041200, // 00D8 RET 1 R9 + 0x8C240541, // 00D9 GETMET R9 R2 K65 + 0x582C0009, // 00DA LDCONST R11 K9 + 0x50300000, // 00DB LDBOOL R12 0 0 + 0x7C240600, // 00DC CALL R9 3 + 0x8C28037B, // 00DD GETMET R10 R1 K123 + 0x7C280200, // 00DE CALL R10 1 + 0x8C2C0B0A, // 00DF GETMET R11 R5 K10 + 0x7C2C0200, // 00E0 CALL R11 1 + 0x8C30170B, // 00E1 GETMET R12 R11 K11 + 0x58380009, // 00E2 LDCONST R14 K9 + 0x883C0B3A, // 00E3 GETMBR R15 R5 K58 + 0x5C401400, // 00E4 MOVE R16 R10 + 0x7C300800, // 00E5 CALL R12 4 + 0x8C30170B, // 00E6 GETMET R12 R11 K11 + 0x5838000D, // 00E7 LDCONST R14 K13 + 0x883C0B1F, // 00E8 GETMBR R15 R5 K31 + 0x5C401000, // 00E9 MOVE R16 R8 + 0x7C300800, // 00EA CALL R12 4 + 0x8C301776, // 00EB GETMET R12 R11 K118 + 0x7C300200, // 00EC CALL R12 1 + 0x8C340377, // 00ED GETMET R13 R1 K119 + 0x7C340200, // 00EE CALL R13 1 + 0x0034180D, // 00EF ADD R13 R12 R13 + 0x8C380978, // 00F0 GETMET R14 R4 K120 + 0x7C380200, // 00F1 CALL R14 1 + 0x8C381D79, // 00F2 GETMET R14 R14 K121 + 0xB8420200, // 00F3 GETNGBL R16 K1 + 0x8C40217A, // 00F4 GETMET R16 R16 K122 + 0x7C400200, // 00F5 CALL R16 1 + 0x5C441A00, // 00F6 MOVE R17 R13 + 0x7C380600, // 00F7 CALL R14 3 + 0x8C3C0B0A, // 00F8 GETMET R15 R5 K10 + 0x7C3C0200, // 00F9 CALL R15 1 + 0x8C401F0B, // 00FA GETMET R16 R15 K11 + 0x58480005, // 00FB LDCONST R18 K5 + 0x884C0B3A, // 00FC GETMBR R19 R5 K58 + 0x5C501800, // 00FD MOVE R20 R12 + 0x7C400800, // 00FE CALL R16 4 + 0x8C401F0B, // 00FF GETMET R16 R15 K11 + 0x58480009, // 0100 LDCONST R18 K9 + 0x884C0B1F, // 0101 GETMBR R19 R5 K31 + 0x5C501C00, // 0102 MOVE R20 R14 + 0x7C400800, // 0103 CALL R16 4 + 0x54420004, // 0104 LDINT R16 5 + 0x900ED610, // 0105 SETMBR R3 K107 R16 + 0x80041E00, // 0106 RET 1 R15 + 0x7002013F, // 0107 JMP #0248 + 0x5422000A, // 0108 LDINT R8 11 + 0x1C200E08, // 0109 EQ R8 R7 R8 + 0x7822000B, // 010A JMPF R8 #0117 + 0x8C200541, // 010B GETMET R8 R2 K65 + 0x58280005, // 010C LDCONST R10 K5 + 0x7C200400, // 010D CALL R8 2 + 0x8C24037C, // 010E GETMET R9 R1 K124 + 0x5C2C1000, // 010F MOVE R11 R8 + 0x7C240400, // 0110 CALL R9 2 + 0xB8260200, // 0111 GETNGBL R9 K1 + 0x8824137D, // 0112 GETMBR R9 R9 K125 + 0x900EC609, // 0113 SETMBR R3 K99 R9 + 0x4C240000, // 0114 LDNIL R9 + 0x80041200, // 0115 RET 1 R9 + 0x70020130, // 0116 JMP #0248 + 0x54220005, // 0117 LDINT R8 6 + 0x1C200E08, // 0118 EQ R8 R7 R8 + 0x782200BA, // 0119 JMPF R8 #01D5 + 0xB822FC00, // 011A GETNGBL R8 K126 + 0x60240008, // 011B GETGBL R9 G8 + 0x5C280400, // 011C MOVE R10 R2 + 0x7C240200, // 011D CALL R9 1 + 0x0026FE09, // 011E ADD R9 K127 R9 + 0x542A0003, // 011F LDINT R10 4 + 0x7C200400, // 0120 CALL R8 2 + 0x8C200541, // 0121 GETMET R8 R2 K65 + 0x58280005, // 0122 LDCONST R10 K5 + 0x7C200400, // 0123 CALL R8 2 + 0x8C240541, // 0124 GETMET R9 R2 K65 + 0x582C0009, // 0125 LDCONST R11 K9 + 0x7C240400, // 0126 CALL R9 2 + 0x6028000C, // 0127 GETGBL R10 G12 + 0x5C2C1200, // 0128 MOVE R11 R9 + 0x7C280200, // 0129 CALL R10 1 + 0x1C281505, // 012A EQ R10 R10 K5 + 0x782A0000, // 012B JMPF R10 #012D + 0x4C240000, // 012C LDNIL R9 + 0x8C280541, // 012D GETMET R10 R2 K65 + 0x5830000D, // 012E LDCONST R12 K13 + 0x7C280400, // 012F CALL R10 2 + 0x8C2C0541, // 0130 GETMET R11 R2 K65 + 0x5834000F, // 0131 LDCONST R13 K15 + 0x7C2C0400, // 0132 CALL R11 2 + 0x8C300541, // 0133 GETMET R12 R2 K65 + 0x543A0003, // 0134 LDINT R14 4 + 0x7C300400, // 0135 CALL R12 2 + 0x8C340380, // 0136 GETMET R13 R1 K128 + 0x7C340200, // 0137 CALL R13 1 + 0x4C380000, // 0138 LDNIL R14 + 0x1C341A0E, // 0139 EQ R13 R13 R14 + 0x78360005, // 013A JMPF R13 #0141 + 0xB836FC00, // 013B GETNGBL R13 K126 + 0x58380081, // 013C LDCONST R14 K129 + 0x583C000D, // 013D LDCONST R15 K13 + 0x7C340400, // 013E CALL R13 2 + 0x4C340000, // 013F LDNIL R13 + 0x80041A00, // 0140 RET 1 R13 + 0x88340136, // 0141 GETMBR R13 R0 K54 + 0x88341B37, // 0142 GETMBR R13 R13 K55 + 0x8C341B82, // 0143 GETMET R13 R13 K130 + 0x7C340200, // 0144 CALL R13 1 + 0x8C381B83, // 0145 GETMET R14 R13 K131 + 0x8C400380, // 0146 GETMET R16 R1 K128 + 0x7C400200, // 0147 CALL R16 1 + 0x7C380400, // 0148 CALL R14 2 + 0x8C381B84, // 0149 GETMET R14 R13 K132 + 0x5C401000, // 014A MOVE R16 R8 + 0x5C441200, // 014B MOVE R17 R9 + 0x7C380600, // 014C CALL R14 3 + 0x8C381B85, // 014D GETMET R14 R13 K133 + 0x5C401400, // 014E MOVE R16 R10 + 0x7C380400, // 014F CALL R14 2 + 0x8C381B86, // 0150 GETMET R14 R13 K134 + 0x5C401600, // 0151 MOVE R16 R11 + 0x5C441800, // 0152 MOVE R17 R12 + 0x7C380600, // 0153 CALL R14 3 + 0x8C381B87, // 0154 GETMET R14 R13 K135 + 0x8C400388, // 0155 GETMET R16 R1 K136 + 0x7C400200, // 0156 CALL R16 1 + 0x7C380400, // 0157 CALL R14 2 + 0xB83A0200, // 0158 GETNGBL R14 K1 + 0x88381D02, // 0159 GETMBR R14 R14 K2 + 0x8C381D3F, // 015A GETMET R14 R14 K63 + 0x5C401000, // 015B MOVE R16 R8 + 0x7C380400, // 015C CALL R14 2 + 0x8C3C1D89, // 015D GETMET R15 R14 K137 + 0x54460005, // 015E LDINT R17 6 + 0x7C3C0400, // 015F CALL R15 2 + 0x8C401F41, // 0160 GETMET R16 R15 K65 + 0x544A0014, // 0161 LDINT R18 21 + 0x7C400400, // 0162 CALL R16 2 + 0x8C441F41, // 0163 GETMET R17 R15 K65 + 0x544E0010, // 0164 LDINT R19 17 + 0x7C440400, // 0165 CALL R17 2 + 0x5C482000, // 0166 MOVE R18 R16 + 0x784A0001, // 0167 JMPF R18 #016A + 0x5C482200, // 0168 MOVE R18 R17 + 0x744A0005, // 0169 JMPT R18 #0170 + 0xB84AFC00, // 016A GETNGBL R18 K126 + 0x584C008A, // 016B LDCONST R19 K138 + 0x5850000D, // 016C LDCONST R20 K13 + 0x7C480400, // 016D CALL R18 2 + 0x50480000, // 016E LDBOOL R18 0 0 + 0x80042400, // 016F RET 1 R18 + 0x60480004, // 0170 GETGBL R18 G4 + 0x5C4C2000, // 0171 MOVE R19 R16 + 0x7C480200, // 0172 CALL R18 1 + 0x1C482561, // 0173 EQ R18 R18 K97 + 0x784A0007, // 0174 JMPF R18 #017D + 0xB84A5C00, // 0175 GETNGBL R18 K46 + 0x8C48258B, // 0176 GETMET R18 R18 K139 + 0x5C502000, // 0177 MOVE R20 R16 + 0x7C480400, // 0178 CALL R18 2 + 0x8C48258C, // 0179 GETMET R18 R18 K140 + 0x7C480200, // 017A CALL R18 1 + 0x5C402400, // 017B MOVE R16 R18 + 0x70020002, // 017C JMP #0180 + 0x8C48218C, // 017D GETMET R18 R16 K140 + 0x7C480200, // 017E CALL R18 1 + 0x5C402400, // 017F MOVE R16 R18 + 0x60480004, // 0180 GETGBL R18 G4 + 0x5C4C2200, // 0181 MOVE R19 R17 + 0x7C480200, // 0182 CALL R18 1 + 0x1C482561, // 0183 EQ R18 R18 K97 + 0x784A0007, // 0184 JMPF R18 #018D + 0xB84A5C00, // 0185 GETNGBL R18 K46 + 0x8C48258B, // 0186 GETMET R18 R18 K139 + 0x5C502200, // 0187 MOVE R20 R17 + 0x7C480400, // 0188 CALL R18 2 + 0x8C48258C, // 0189 GETMET R18 R18 K140 + 0x7C480200, // 018A CALL R18 1 + 0x5C442400, // 018B MOVE R17 R18 + 0x70020002, // 018C JMP #0190 + 0x8C48238C, // 018D GETMET R18 R17 K140 + 0x7C480200, // 018E CALL R18 1 + 0x5C442400, // 018F MOVE R17 R18 + 0x8C48038D, // 0190 GETMET R18 R1 K141 + 0x7C480200, // 0191 CALL R18 1 + 0x404E138E, // 0192 CONNECT R19 K9 K142 + 0x94482413, // 0193 GETIDX R18 R18 R19 + 0x604C0015, // 0194 GETGBL R19 G21 + 0x7C4C0000, // 0195 CALL R19 0 + 0x8C4C278F, // 0196 GETMET R19 R19 K143 + 0x58540090, // 0197 LDCONST R21 K144 + 0x7C4C0400, // 0198 CALL R19 2 + 0x8C500991, // 0199 GETMET R20 R4 K145 + 0x7C500200, // 019A CALL R20 1 + 0x8C542192, // 019B GETMET R21 R16 K146 + 0x7C540200, // 019C CALL R21 1 + 0x8C542B93, // 019D GETMET R21 R21 K147 + 0x7C540200, // 019E CALL R21 1 + 0x8C582994, // 019F GETMET R22 R20 K148 + 0x5C602400, // 01A0 MOVE R24 R18 + 0x5C642A00, // 01A1 MOVE R25 R21 + 0x5C682600, // 01A2 MOVE R26 R19 + 0x546E0007, // 01A3 LDINT R27 8 + 0x7C580A00, // 01A4 CALL R22 5 + 0x885C0349, // 01A5 GETMBR R23 R1 K73 + 0x785E0001, // 01A6 JMPF R23 #01A9 + 0x885C0349, // 01A7 GETMBR R23 R1 K73 + 0x70020002, // 01A8 JMP #01AC + 0x885C0136, // 01A9 GETMBR R23 R0 K54 + 0x885C2F4A, // 01AA GETMBR R23 R23 K74 + 0x885C2F4D, // 01AB GETMBR R23 R23 K77 + 0x8C601B95, // 01AC GETMET R24 R13 K149 + 0x5C682000, // 01AD MOVE R26 R16 + 0x5C6C2200, // 01AE MOVE R27 R17 + 0x5C702C00, // 01AF MOVE R28 R22 + 0x5C742E00, // 01B0 MOVE R29 R23 + 0x7C600A00, // 01B1 CALL R24 5 + 0x8C601B96, // 01B2 GETMET R24 R13 K150 + 0x7C600200, // 01B3 CALL R24 1 + 0x88600136, // 01B4 GETMBR R24 R0 K54 + 0x8860314A, // 01B5 GETMBR R24 R24 K74 + 0x8C603197, // 01B6 GETMET R24 R24 K151 + 0x5C681A00, // 01B7 MOVE R26 R13 + 0x7C600400, // 01B8 CALL R24 2 + 0x8C600398, // 01B9 GETMET R24 R1 K152 + 0x7C600200, // 01BA CALL R24 1 + 0x78620002, // 01BB JMPF R24 #01BF + 0x8C600399, // 01BC GETMET R24 R1 K153 + 0x546A003B, // 01BD LDINT R26 60 + 0x7C600400, // 01BE CALL R24 2 + 0x8C601B9A, // 01BF GETMET R24 R13 K154 + 0x7C600200, // 01C0 CALL R24 1 + 0x8C601B9B, // 01C1 GETMET R24 R13 K155 + 0x7C600200, // 01C2 CALL R24 1 + 0x8C600B0A, // 01C3 GETMET R24 R5 K10 + 0x7C600200, // 01C4 CALL R24 1 + 0x8C64310B, // 01C5 GETMET R25 R24 K11 + 0x586C0005, // 01C6 LDCONST R27 K5 + 0x88700B0E, // 01C7 GETMBR R28 R5 K14 + 0xB8760200, // 01C8 GETNGBL R29 K1 + 0x88743B7D, // 01C9 GETMBR R29 R29 K125 + 0x7C640800, // 01CA CALL R25 4 + 0x8C64310B, // 01CB GETMET R25 R24 K11 + 0x586C0009, // 01CC LDCONST R27 K9 + 0x88700B0E, // 01CD GETMBR R28 R5 K14 + 0x8C741B3D, // 01CE GETMET R29 R13 K61 + 0x7C740200, // 01CF CALL R29 1 + 0x7C640800, // 01D0 CALL R25 4 + 0x54660007, // 01D1 LDINT R25 8 + 0x900ED619, // 01D2 SETMBR R3 K107 R25 + 0x80043000, // 01D3 RET 1 R24 + 0x70020072, // 01D4 JMP #0248 + 0x54220008, // 01D5 LDINT R8 9 + 0x1C200E08, // 01D6 EQ R8 R7 R8 + 0x7822002B, // 01D7 JMPF R8 #0204 + 0x8C200541, // 01D8 GETMET R8 R2 K65 + 0x58280005, // 01D9 LDCONST R10 K5 + 0x7C200400, // 01DA CALL R8 2 + 0x8C24039C, // 01DB GETMET R9 R1 K156 + 0x5C2C1000, // 01DC MOVE R11 R8 + 0x7C240400, // 01DD CALL R9 2 + 0xB826FC00, // 01DE GETNGBL R9 K126 + 0x60280018, // 01DF GETGBL R10 G24 + 0x582C009D, // 01E0 LDCONST R11 K157 + 0x88300349, // 01E1 GETMBR R12 R1 K73 + 0x8C30199E, // 01E2 GETMET R12 R12 K158 + 0x7C300200, // 01E3 CALL R12 1 + 0x8C301992, // 01E4 GETMET R12 R12 K146 + 0x7C300200, // 01E5 CALL R12 1 + 0x8C301993, // 01E6 GETMET R12 R12 K147 + 0x7C300200, // 01E7 CALL R12 1 + 0x8C30199F, // 01E8 GETMET R12 R12 K159 + 0x7C300200, // 01E9 CALL R12 1 + 0x60340008, // 01EA GETGBL R13 G8 + 0x5C381000, // 01EB MOVE R14 R8 + 0x7C340200, // 01EC CALL R13 1 + 0x7C280600, // 01ED CALL R10 3 + 0x582C000F, // 01EE LDCONST R11 K15 + 0x7C240400, // 01EF CALL R9 2 + 0x8C240B0A, // 01F0 GETMET R9 R5 K10 + 0x7C240200, // 01F1 CALL R9 1 + 0x8C28130B, // 01F2 GETMET R10 R9 K11 + 0x58300005, // 01F3 LDCONST R12 K5 + 0x88340B0E, // 01F4 GETMBR R13 R5 K14 + 0xB83A0200, // 01F5 GETNGBL R14 K1 + 0x88381D7D, // 01F6 GETMBR R14 R14 K125 + 0x7C280800, // 01F7 CALL R10 4 + 0x8C28130B, // 01F8 GETMET R10 R9 K11 + 0x58300009, // 01F9 LDCONST R12 K9 + 0x88340B0E, // 01FA GETMBR R13 R5 K14 + 0x8C380335, // 01FB GETMET R14 R1 K53 + 0x7C380200, // 01FC CALL R14 1 + 0x8C381D3D, // 01FD GETMET R14 R14 K61 + 0x7C380200, // 01FE CALL R14 1 + 0x7C280800, // 01FF CALL R10 4 + 0x542A0007, // 0200 LDINT R10 8 + 0x900ED60A, // 0201 SETMBR R3 K107 R10 + 0x80041200, // 0202 RET 1 R9 + 0x70020043, // 0203 JMP #0248 + 0x54220009, // 0204 LDINT R8 10 + 0x1C200E08, // 0205 EQ R8 R7 R8 + 0x78220040, // 0206 JMPF R8 #0248 + 0x8C200541, // 0207 GETMET R8 R2 K65 + 0x58280005, // 0208 LDCONST R10 K5 + 0x7C200400, // 0209 CALL R8 2 + 0x60240008, // 020A GETGBL R9 G8 + 0x5C281000, // 020B MOVE R10 R8 + 0x7C240200, // 020C CALL R9 1 + 0x00274009, // 020D ADD R9 K160 R9 + 0x900EFC09, // 020E SETMBR R3 K126 R9 + 0x60240010, // 020F GETGBL R9 G16 + 0x88280136, // 0210 GETMBR R10 R0 K54 + 0x88281537, // 0211 GETMBR R10 R10 K55 + 0x8C281538, // 0212 GETMET R10 R10 K56 + 0x7C280200, // 0213 CALL R10 1 + 0x7C240200, // 0214 CALL R9 1 + 0xA8020020, // 0215 EXBLK 0 #0237 + 0x5C281200, // 0216 MOVE R10 R9 + 0x7C280000, // 0217 CALL R10 0 + 0x8C2C153D, // 0218 GETMET R11 R10 K61 + 0x7C2C0200, // 0219 CALL R11 1 + 0x1C2C1608, // 021A EQ R11 R11 R8 + 0x782E0018, // 021B JMPF R11 #0235 + 0x8C2C15A1, // 021C GETMET R11 R10 K161 + 0x7C2C0200, // 021D CALL R11 1 + 0xB82E2400, // 021E GETNGBL R11 K18 + 0x8C2C17A2, // 021F GETMET R11 R11 K162 + 0x543607CF, // 0220 LDINT R13 2000 + 0x84380000, // 0221 CLOSURE R14 P0 + 0x7C2C0600, // 0222 CALL R11 3 + 0x8C2C0B0A, // 0223 GETMET R11 R5 K10 + 0x7C2C0200, // 0224 CALL R11 1 + 0x8C30170B, // 0225 GETMET R12 R11 K11 + 0x58380005, // 0226 LDCONST R14 K5 + 0x883C0B0E, // 0227 GETMBR R15 R5 K14 + 0xB8420200, // 0228 GETNGBL R16 K1 + 0x8840217D, // 0229 GETMBR R16 R16 K125 + 0x7C300800, // 022A CALL R12 4 + 0x8C30170B, // 022B GETMET R12 R11 K11 + 0x58380009, // 022C LDCONST R14 K9 + 0x883C0B0E, // 022D GETMBR R15 R5 K14 + 0x5C401000, // 022E MOVE R16 R8 + 0x7C300800, // 022F CALL R12 4 + 0x54320007, // 0230 LDINT R12 8 + 0x900ED60C, // 0231 SETMBR R3 K107 R12 + 0xA0000000, // 0232 CLOSE R0 + 0xA8040001, // 0233 EXBLK 1 1 + 0x80041600, // 0234 RET 1 R11 + 0xA0240000, // 0235 CLOSE R9 + 0x7001FFDE, // 0236 JMP #0216 + 0x5824003E, // 0237 LDCONST R9 K62 + 0xAC240200, // 0238 CATCH R9 1 0 + 0xB0080000, // 0239 RAISE 2 R0 R0 + 0xB826FC00, // 023A GETNGBL R9 K126 + 0x60280008, // 023B GETGBL R10 G8 + 0x5C2C1000, // 023C MOVE R11 R8 + 0x7C280200, // 023D CALL R10 1 + 0x002B460A, // 023E ADD R10 K163 R10 + 0x002815A4, // 023F ADD R10 R10 K164 + 0x582C000D, // 0240 LDCONST R11 K13 + 0x7C240400, // 0241 CALL R9 2 + 0xB8260200, // 0242 GETNGBL R9 K1 + 0x88241365, // 0243 GETMBR R9 R9 K101 + 0x900EC609, // 0244 SETMBR R3 K99 R9 + 0x4C240000, // 0245 LDNIL R9 + 0xA0000000, // 0246 CLOSE R0 + 0x80041200, // 0247 RET 1 R9 + 0x7002009B, // 0248 JMP #02E5 + 0x5422003B, // 0249 LDINT R8 60 + 0x1C200C08, // 024A EQ R8 R6 R8 + 0x78220085, // 024B JMPF R8 #02D2 + 0x1C200F05, // 024C EQ R8 R7 K5 + 0x78220064, // 024D JMPF R8 #02B3 + 0x8C200541, // 024E GETMET R8 R2 K65 + 0x58280005, // 024F LDCONST R10 K5 + 0x7C200400, // 0250 CALL R8 2 + 0x8C240541, // 0251 GETMET R9 R2 K65 + 0x582C0009, // 0252 LDCONST R11 K9 + 0x7C240400, // 0253 CALL R9 2 + 0x8C280541, // 0254 GETMET R10 R2 K65 + 0x5830000D, // 0255 LDCONST R12 K13 + 0x7C280400, // 0256 CALL R10 2 + 0x8C2C0541, // 0257 GETMET R11 R2 K65 + 0x5834000F, // 0258 LDCONST R13 K15 + 0x7C2C0400, // 0259 CALL R11 2 + 0x8C300541, // 025A GETMET R12 R2 K65 + 0x543A0003, // 025B LDINT R14 4 + 0x7C300400, // 025C CALL R12 2 + 0xB836FC00, // 025D GETNGBL R13 K126 + 0x60380018, // 025E GETGBL R14 G24 + 0x583C00A5, // 025F LDCONST R15 K165 + 0x5C401000, // 0260 MOVE R16 R8 + 0x8C44139F, // 0261 GETMET R17 R9 K159 + 0x7C440200, // 0262 CALL R17 1 + 0x5C481400, // 0263 MOVE R18 R10 + 0x5C4C1600, // 0264 MOVE R19 R11 + 0x8C50199F, // 0265 GETMET R20 R12 K159 + 0x7C500200, // 0266 CALL R20 1 + 0x7C380C00, // 0267 CALL R14 6 + 0x543E0003, // 0268 LDINT R15 4 + 0x7C340400, // 0269 CALL R13 2 + 0x4C340000, // 026A LDNIL R13 + 0x1C34100D, // 026B EQ R13 R8 R13 + 0x7436000B, // 026C JMPT R13 #0279 + 0x4C340000, // 026D LDNIL R13 + 0x1C34120D, // 026E EQ R13 R9 R13 + 0x74360008, // 026F JMPT R13 #0279 + 0x4C340000, // 0270 LDNIL R13 + 0x1C34140D, // 0271 EQ R13 R10 R13 + 0x74360005, // 0272 JMPT R13 #0279 + 0x4C340000, // 0273 LDNIL R13 + 0x1C34160D, // 0274 EQ R13 R11 R13 + 0x74360002, // 0275 JMPT R13 #0279 + 0x4C340000, // 0276 LDNIL R13 + 0x1C34180D, // 0277 EQ R13 R12 R13 + 0x78360005, // 0278 JMPF R13 #027F + 0xB8360200, // 0279 GETNGBL R13 K1 + 0x88341BA6, // 027A GETMBR R13 R13 K166 + 0x900EC60D, // 027B SETMBR R3 K99 R13 + 0x4C340000, // 027C LDNIL R13 + 0xA0000000, // 027D CLOSE R0 + 0x80041A00, // 027E RET 1 R13 + 0x6034000C, // 027F GETGBL R13 G12 + 0x5C381200, // 0280 MOVE R14 R9 + 0x7C340200, // 0281 CALL R13 1 + 0x543A001F, // 0282 LDINT R14 32 + 0x543E0040, // 0283 LDINT R15 65 + 0x00381C0F, // 0284 ADD R14 R14 R15 + 0x20341A0E, // 0285 NE R13 R13 R14 + 0x7436000B, // 0286 JMPT R13 #0293 + 0x6034000C, // 0287 GETGBL R13 G12 + 0x5C381800, // 0288 MOVE R14 R12 + 0x7C340200, // 0289 CALL R13 1 + 0x543A000F, // 028A LDINT R14 16 + 0x14341A0E, // 028B LT R13 R13 R14 + 0x74360005, // 028C JMPT R13 #0293 + 0x6034000C, // 028D GETGBL R13 G12 + 0x5C381800, // 028E MOVE R14 R12 + 0x7C340200, // 028F CALL R13 1 + 0x543A001F, // 0290 LDINT R14 32 + 0x24341A0E, // 0291 GT R13 R13 R14 + 0x78360009, // 0292 JMPF R13 #029D + 0xB836FC00, // 0293 GETNGBL R13 K126 + 0x583800A7, // 0294 LDCONST R14 K167 + 0x583C000D, // 0295 LDCONST R15 K13 + 0x7C340400, // 0296 CALL R13 2 + 0xB8360200, // 0297 GETNGBL R13 K1 + 0x88341B64, // 0298 GETMBR R13 R13 K100 + 0x900EC60D, // 0299 SETMBR R3 K99 R13 + 0x4C340000, // 029A LDNIL R13 + 0xA0000000, // 029B CLOSE R0 + 0x80041A00, // 029C RET 1 R13 + 0x5436001E, // 029D LDINT R13 31 + 0x40360A0D, // 029E CONNECT R13 K5 R13 + 0x9434120D, // 029F GETIDX R13 R9 R13 + 0x543A001F, // 02A0 LDINT R14 32 + 0x40381D8E, // 02A1 CONNECT R14 R14 K142 + 0x9438120E, // 02A2 GETIDX R14 R9 R14 + 0x883C0136, // 02A3 GETMBR R15 R0 K54 + 0x883C1F4A, // 02A4 GETMBR R15 R15 K74 + 0x8C3C1FA8, // 02A5 GETMET R15 R15 K168 + 0x5C441000, // 02A6 MOVE R17 R8 + 0x5C481600, // 02A7 MOVE R18 R11 + 0x5C4C1400, // 02A8 MOVE R19 R10 + 0x5C501800, // 02A9 MOVE R20 R12 + 0x5C541A00, // 02AA MOVE R21 R13 + 0x5C581C00, // 02AB MOVE R22 R14 + 0x8C5C0335, // 02AC GETMET R23 R1 K53 + 0x7C5C0200, // 02AD CALL R23 1 + 0x7C3C1000, // 02AE CALL R15 8 + 0x503C0200, // 02AF LDBOOL R15 1 0 + 0xA0000000, // 02B0 CLOSE R0 + 0x80041E00, // 02B1 RET 1 R15 + 0x7002001D, // 02B2 JMP #02D1 + 0x1C200F09, // 02B3 EQ R8 R7 K9 + 0x78220012, // 02B4 JMPF R8 #02C8 + 0x8C200541, // 02B5 GETMET R8 R2 K65 + 0x58280005, // 02B6 LDCONST R10 K5 + 0x7C200400, // 02B7 CALL R8 2 + 0xB826FC00, // 02B8 GETNGBL R9 K126 + 0x60280008, // 02B9 GETGBL R10 G8 + 0x5C2C1000, // 02BA MOVE R11 R8 + 0x7C280200, // 02BB CALL R10 1 + 0x002B520A, // 02BC ADD R10 K169 R10 + 0x582C000F, // 02BD LDCONST R11 K15 + 0x7C240400, // 02BE CALL R9 2 + 0x88240136, // 02BF GETMBR R9 R0 K54 + 0x8824134A, // 02C0 GETMBR R9 R9 K74 + 0x8C2413AA, // 02C1 GETMET R9 R9 K170 + 0x5C2C1000, // 02C2 MOVE R11 R8 + 0x7C240400, // 02C3 CALL R9 2 + 0x50240200, // 02C4 LDBOOL R9 1 0 + 0xA0000000, // 02C5 CLOSE R0 + 0x80041200, // 02C6 RET 1 R9 + 0x70020008, // 02C7 JMP #02D1 + 0x1C200F0D, // 02C8 EQ R8 R7 K13 + 0x78220006, // 02C9 JMPF R8 #02D1 + 0x88200136, // 02CA GETMBR R8 R0 K54 + 0x8820114A, // 02CB GETMBR R8 R8 K74 + 0x8C2011AB, // 02CC GETMET R8 R8 K171 + 0x7C200200, // 02CD CALL R8 1 + 0x50200200, // 02CE LDBOOL R8 1 0 + 0xA0000000, // 02CF CLOSE R0 + 0x80041000, // 02D0 RET 1 R8 + 0x70020012, // 02D1 JMP #02E5 + 0x54220029, // 02D2 LDINT R8 42 + 0x1C200C08, // 02D3 EQ R8 R6 R8 + 0x78220005, // 02D4 JMPF R8 #02DB + 0x1C200F05, // 02D5 EQ R8 R7 K5 + 0x78220002, // 02D6 JMPF R8 #02DA + 0x50200200, // 02D7 LDBOOL R8 1 0 + 0xA0000000, // 02D8 CLOSE R0 + 0x80041000, // 02D9 RET 1 R8 + 0x70020009, // 02DA JMP #02E5 + 0x60200003, // 02DB GETGBL R8 G3 + 0x5C240000, // 02DC MOVE R9 R0 + 0x7C200200, // 02DD CALL R8 1 + 0x8C2011AC, // 02DE GETMET R8 R8 K172 + 0x5C280200, // 02DF MOVE R10 R1 + 0x5C2C0400, // 02E0 MOVE R11 R2 + 0x5C300600, // 02E1 MOVE R12 R3 + 0x7C200800, // 02E2 CALL R8 4 + 0xA0000000, // 02E3 CLOSE R0 + 0x80041000, // 02E4 RET 1 R8 + 0xA0000000, // 02E5 CLOSE R0 + 0x80000000, // 02E6 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Root +********************************************************************/ +extern const bclass be_class_Matter_Plugin; +be_local_class(Matter_Plugin_Root, + 0, + &be_class_Matter_Plugin, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(invoke_request, 1), be_const_closure(class_Matter_Plugin_Root_invoke_request_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Root_init_closure) }, + { be_const_key_weak(TYPES, 6), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(22, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(write_attribute, 0), be_const_closure(class_Matter_Plugin_Root_write_attribute_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(root) }, + { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Root_X20node) }, + { be_const_key_weak(CLUSTERS, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(14, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(56, -1), be_const_bytes_instance(000000010007FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 11), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(44, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(31, -1), be_const_bytes_instance(0000000200030004FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(60, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(63, -1), be_const_bytes_instance(FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(62, 13), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(49, 5), be_const_bytes_instance(00030004FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(50, -1), be_const_bytes_instance(FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(51, -1), be_const_bytes_instance(0000000100020008FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(52, -1), be_const_bytes_instance(FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(43, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(40, -1), be_const_bytes_instance(0000000100020003000400050006000700080009000A000F001100120013FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(48, -1), be_const_bytes_instance(00000001000200030004FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Root_read_attribute_closure) }, + })), + be_str_weak(Matter_Plugin_Root) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Fan.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Fan.h new file mode 100644 index 000000000..f50748581 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Fan.h @@ -0,0 +1,493 @@ +/* Solidification of Matter_Plugin_2_Fan.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Fan' ktab size: 28, total: 64 (saved 288 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Fan[28] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(shadow_fan_mode), + /* K2 */ be_nested_str_weak(attribute_updated), + /* K3 */ be_nested_str_weak(shadow_fan_speed_pct), + /* K4 */ be_const_int(3), + /* K5 */ be_nested_str_weak(tasmota), + /* K6 */ be_nested_str_weak(scale_uint), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(find), + /* K9 */ be_nested_str_weak(FanMode), + /* K10 */ be_nested_str_weak(set_fan_mode), + /* K11 */ be_nested_str_weak(FanSpeed255), + /* K12 */ be_nested_str_weak(set_fan_speed_pct), + /* K13 */ be_nested_str_weak(FanSpeed), + /* K14 */ be_const_int(1), + /* K15 */ be_nested_str_weak(matter), + /* K16 */ be_nested_str_weak(TLV), + /* K17 */ be_nested_str_weak(cluster), + /* K18 */ be_nested_str_weak(attribute), + /* K19 */ be_nested_str_weak(update_shadow_lazy), + /* K20 */ be_nested_str_weak(int), + /* K21 */ be_nested_str_weak(publish_command), + /* K22 */ be_nested_str_weak(status), + /* K23 */ be_nested_str_weak(CONSTRAINT_ERROR), + /* K24 */ be_nested_str_weak(init), + /* K25 */ be_nested_str_weak(set), + /* K26 */ be_nested_str_weak(U1), + /* K27 */ be_nested_str_weak(read_attribute), +}; + + +extern const bclass be_class_Matter_Plugin_Fan; + +/******************************************************************** +** Solidified function: set_fan_mode +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_set_fan_mode, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(set_fan_mode), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x14080300, // 0004 LT R2 R1 K0 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x58040000, // 0006 LDCONST R1 K0 + 0x88080101, // 0007 GETMBR R2 R0 K1 + 0x20080202, // 0008 NE R2 R1 R2 + 0x780A0024, // 0009 JMPF R2 #002F + 0x8C080102, // 000A GETMET R2 R0 K2 + 0x54120201, // 000B LDINT R4 514 + 0x58140000, // 000C LDCONST R5 K0 + 0x7C080600, // 000D CALL R2 3 + 0x60080009, // 000E GETGBL R2 G9 + 0x5C0C0200, // 000F MOVE R3 R1 + 0x7C080200, // 0010 CALL R2 1 + 0x90020202, // 0011 SETMBR R0 K1 R2 + 0x88080103, // 0012 GETMBR R2 R0 K3 + 0x880C0101, // 0013 GETMBR R3 R0 K1 + 0x1C0C0700, // 0014 EQ R3 R3 K0 + 0x780E0001, // 0015 JMPF R3 #0018 + 0x58080000, // 0016 LDCONST R2 K0 + 0x7002000E, // 0017 JMP #0027 + 0x880C0101, // 0018 GETMBR R3 R0 K1 + 0x240C0704, // 0019 GT R3 R3 K4 + 0x780E0002, // 001A JMPF R3 #001E + 0x90020304, // 001B SETMBR R0 K1 K4 + 0x540A0063, // 001C LDINT R2 100 + 0x70020008, // 001D JMP #0027 + 0xB80E0A00, // 001E GETNGBL R3 K5 + 0x8C0C0706, // 001F GETMET R3 R3 K6 + 0x5C140200, // 0020 MOVE R5 R1 + 0x58180000, // 0021 LDCONST R6 K0 + 0x581C0004, // 0022 LDCONST R7 K4 + 0x58200000, // 0023 LDCONST R8 K0 + 0x54260063, // 0024 LDINT R9 100 + 0x7C0C0C00, // 0025 CALL R3 6 + 0x5C080600, // 0026 MOVE R2 R3 + 0x880C0103, // 0027 GETMBR R3 R0 K3 + 0x200C0602, // 0028 NE R3 R3 R2 + 0x780E0004, // 0029 JMPF R3 #002F + 0x90020602, // 002A SETMBR R0 K3 R2 + 0x8C0C0102, // 002B GETMET R3 R0 K2 + 0x54160201, // 002C LDINT R5 514 + 0x58180007, // 002D LDCONST R6 K7 + 0x7C0C0600, // 002E CALL R3 3 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_update_virtual, /* name */ + be_nested_proto( + 13, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x8C080308, // 0000 GETMET R2 R1 K8 + 0x58100009, // 0001 LDCONST R4 K9 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0004, // 0005 JMPF R3 #000B + 0x8C0C010A, // 0006 GETMET R3 R0 K10 + 0x60140009, // 0007 GETGBL R5 G9 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C140200, // 0009 CALL R5 1 + 0x7C0C0400, // 000A CALL R3 2 + 0x8C0C0308, // 000B GETMET R3 R1 K8 + 0x5814000B, // 000C LDCONST R5 K11 + 0x7C0C0400, // 000D CALL R3 2 + 0x4C100000, // 000E LDNIL R4 + 0x20100604, // 000F NE R4 R3 R4 + 0x7812000B, // 0010 JMPF R4 #001D + 0x8C10010C, // 0011 GETMET R4 R0 K12 + 0xB81A0A00, // 0012 GETNGBL R6 K5 + 0x8C180D06, // 0013 GETMET R6 R6 K6 + 0x60200009, // 0014 GETGBL R8 G9 + 0x5C240600, // 0015 MOVE R9 R3 + 0x7C200200, // 0016 CALL R8 1 + 0x58240000, // 0017 LDCONST R9 K0 + 0x542A00FE, // 0018 LDINT R10 255 + 0x582C0000, // 0019 LDCONST R11 K0 + 0x54320063, // 001A LDINT R12 100 + 0x7C180C00, // 001B CALL R6 6 + 0x7C100400, // 001C CALL R4 2 + 0x8C100308, // 001D GETMET R4 R1 K8 + 0x5818000D, // 001E LDCONST R6 K13 + 0x7C100400, // 001F CALL R4 2 + 0x4C140000, // 0020 LDNIL R5 + 0x20140805, // 0021 NE R5 R4 R5 + 0x78160004, // 0022 JMPF R5 #0028 + 0x8C14010C, // 0023 GETMET R5 R0 K12 + 0x601C0009, // 0024 GETGBL R7 G9 + 0x5C200800, // 0025 MOVE R8 R4 + 0x7C1C0200, // 0026 CALL R7 1 + 0x7C140400, // 0027 CALL R5 2 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_fan_speed_pct +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_set_fan_speed_pct, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(set_fan_speed_pct), + &be_const_str_solidified, + ( &(const binstruction[42]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x14080300, // 0004 LT R2 R1 K0 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x58040000, // 0006 LDCONST R1 K0 + 0x540A0063, // 0007 LDINT R2 100 + 0x24080202, // 0008 GT R2 R1 R2 + 0x780A0000, // 0009 JMPF R2 #000B + 0x54060063, // 000A LDINT R1 100 + 0x88080103, // 000B GETMBR R2 R0 K3 + 0x20080202, // 000C NE R2 R1 R2 + 0x780A001A, // 000D JMPF R2 #0029 + 0x8C080102, // 000E GETMET R2 R0 K2 + 0x54120201, // 000F LDINT R4 514 + 0x58140007, // 0010 LDCONST R5 K7 + 0x7C080600, // 0011 CALL R2 3 + 0x90020601, // 0012 SETMBR R0 K3 R1 + 0x88080101, // 0013 GETMBR R2 R0 K1 + 0x1C0C0300, // 0014 EQ R3 R1 K0 + 0x780E0001, // 0015 JMPF R3 #0018 + 0x58080000, // 0016 LDCONST R2 K0 + 0x70020008, // 0017 JMP #0021 + 0xB80E0A00, // 0018 GETNGBL R3 K5 + 0x8C0C0706, // 0019 GETMET R3 R3 K6 + 0x5C140200, // 001A MOVE R5 R1 + 0x5818000E, // 001B LDCONST R6 K14 + 0x541E0063, // 001C LDINT R7 100 + 0x5820000E, // 001D LDCONST R8 K14 + 0x58240004, // 001E LDCONST R9 K4 + 0x7C0C0C00, // 001F CALL R3 6 + 0x5C080600, // 0020 MOVE R2 R3 + 0x880C0101, // 0021 GETMBR R3 R0 K1 + 0x200C0403, // 0022 NE R3 R2 R3 + 0x780E0004, // 0023 JMPF R3 #0029 + 0x90020202, // 0024 SETMBR R0 K1 R2 + 0x8C0C0102, // 0025 GETMET R3 R0 K2 + 0x54160201, // 0026 LDINT R5 514 + 0x58180000, // 0027 LDCONST R6 K0 + 0x7C0C0600, // 0028 CALL R3 3 + 0x80000000, // 0029 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_write_attribute, /* name */ + be_nested_proto( + 21, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(write_attribute), + &be_const_str_solidified, + ( &(const binstruction[78]) { /* code */ + 0xB8121E00, // 0000 GETNGBL R4 K15 + 0x88100910, // 0001 GETMBR R4 R4 K16 + 0x88140511, // 0002 GETMBR R5 R2 K17 + 0x88180512, // 0003 GETMBR R6 R2 K18 + 0x541E0201, // 0004 LDINT R7 514 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0044, // 0006 JMPF R7 #004C + 0x8C1C0113, // 0007 GETMET R7 R0 K19 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D00, // 0009 EQ R7 R6 K0 + 0x781E001F, // 000A JMPF R7 #002B + 0x601C0004, // 000B GETGBL R7 G4 + 0x5C200600, // 000C MOVE R8 R3 + 0x7C1C0200, // 000D CALL R7 1 + 0x1C1C0F14, // 000E EQ R7 R7 K20 + 0x781E0014, // 000F JMPF R7 #0025 + 0x8C1C010A, // 0010 GETMET R7 R0 K10 + 0x5C240600, // 0011 MOVE R9 R3 + 0x7C1C0400, // 0012 CALL R7 2 + 0x8C1C0115, // 0013 GETMET R7 R0 K21 + 0x58240009, // 0014 LDCONST R9 K9 + 0x88280101, // 0015 GETMBR R10 R0 K1 + 0x582C000D, // 0016 LDCONST R11 K13 + 0x88300103, // 0017 GETMBR R12 R0 K3 + 0x5834000B, // 0018 LDCONST R13 K11 + 0xB83A0A00, // 0019 GETNGBL R14 K5 + 0x8C381D06, // 001A GETMET R14 R14 K6 + 0x88400103, // 001B GETMBR R16 R0 K3 + 0x58440000, // 001C LDCONST R17 K0 + 0x544A0063, // 001D LDINT R18 100 + 0x584C0000, // 001E LDCONST R19 K0 + 0x545200FE, // 001F LDINT R20 255 + 0x7C380C00, // 0020 CALL R14 6 + 0x7C1C0E00, // 0021 CALL R7 7 + 0x501C0200, // 0022 LDBOOL R7 1 0 + 0x80040E00, // 0023 RET 1 R7 + 0x70020004, // 0024 JMP #002A + 0xB81E1E00, // 0025 GETNGBL R7 K15 + 0x881C0F17, // 0026 GETMBR R7 R7 K23 + 0x900A2C07, // 0027 SETMBR R2 K22 R7 + 0x501C0000, // 0028 LDBOOL R7 0 0 + 0x80040E00, // 0029 RET 1 R7 + 0x70020020, // 002A JMP #004C + 0x1C1C0D07, // 002B EQ R7 R6 K7 + 0x781E001E, // 002C JMPF R7 #004C + 0x601C0004, // 002D GETGBL R7 G4 + 0x5C200600, // 002E MOVE R8 R3 + 0x7C1C0200, // 002F CALL R7 1 + 0x1C1C0F14, // 0030 EQ R7 R7 K20 + 0x781E0014, // 0031 JMPF R7 #0047 + 0x8C1C010C, // 0032 GETMET R7 R0 K12 + 0x5C240600, // 0033 MOVE R9 R3 + 0x7C1C0400, // 0034 CALL R7 2 + 0x8C1C0115, // 0035 GETMET R7 R0 K21 + 0x58240009, // 0036 LDCONST R9 K9 + 0x88280101, // 0037 GETMBR R10 R0 K1 + 0x582C000D, // 0038 LDCONST R11 K13 + 0x88300103, // 0039 GETMBR R12 R0 K3 + 0x5834000B, // 003A LDCONST R13 K11 + 0xB83A0A00, // 003B GETNGBL R14 K5 + 0x8C381D06, // 003C GETMET R14 R14 K6 + 0x88400103, // 003D GETMBR R16 R0 K3 + 0x58440000, // 003E LDCONST R17 K0 + 0x544A0063, // 003F LDINT R18 100 + 0x584C0000, // 0040 LDCONST R19 K0 + 0x545200FE, // 0041 LDINT R20 255 + 0x7C380C00, // 0042 CALL R14 6 + 0x7C1C0E00, // 0043 CALL R7 7 + 0x501C0200, // 0044 LDBOOL R7 1 0 + 0x80040E00, // 0045 RET 1 R7 + 0x70020004, // 0046 JMP #004C + 0xB81E1E00, // 0047 GETNGBL R7 K15 + 0x881C0F17, // 0048 GETMBR R7 R7 K23 + 0x900A2C07, // 0049 SETMBR R2 K22 R7 + 0x501C0000, // 004A LDBOOL R7 0 0 + 0x80040E00, // 004B RET 1 R7 + 0x4C1C0000, // 004C LDNIL R7 + 0x80040E00, // 004D RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100918, // 0003 GETMET R4 R4 K24 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x90020300, // 0008 SETMBR R0 K1 K0 + 0x90020700, // 0009 SETMBR R0 K3 K0 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Fan_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Fan, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[49]) { /* code */ + 0xB8121E00, // 0000 GETNGBL R4 K15 + 0x88100910, // 0001 GETMBR R4 R4 K16 + 0x88140511, // 0002 GETMBR R5 R2 K17 + 0x88180512, // 0003 GETMBR R6 R2 K18 + 0x541E0201, // 0004 LDINT R7 514 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0020, // 0006 JMPF R7 #0028 + 0x8C1C0113, // 0007 GETMET R7 R0 K19 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D00, // 0009 EQ R7 R6 K0 + 0x781E0005, // 000A JMPF R7 #0011 + 0x8C1C0719, // 000B GETMET R7 R3 K25 + 0x8824091A, // 000C GETMBR R9 R4 K26 + 0x88280101, // 000D GETMBR R10 R0 K1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x70020016, // 0010 JMP #0028 + 0x1C1C0D0E, // 0011 EQ R7 R6 K14 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C0719, // 0013 GETMET R7 R3 K25 + 0x8824091A, // 0014 GETMBR R9 R4 K26 + 0x58280007, // 0015 LDCONST R10 K7 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x7002000E, // 0018 JMP #0028 + 0x1C1C0D07, // 0019 EQ R7 R6 K7 + 0x781E0005, // 001A JMPF R7 #0021 + 0x8C1C0719, // 001B GETMET R7 R3 K25 + 0x8824091A, // 001C GETMBR R9 R4 K26 + 0x88280103, // 001D GETMBR R10 R0 K3 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x70020006, // 0020 JMP #0028 + 0x1C1C0D04, // 0021 EQ R7 R6 K4 + 0x781E0004, // 0022 JMPF R7 #0028 + 0x8C1C0719, // 0023 GETMET R7 R3 K25 + 0x8824091A, // 0024 GETMBR R9 R4 K26 + 0x88280103, // 0025 GETMBR R10 R0 K3 + 0x7C1C0600, // 0026 CALL R7 3 + 0x80040E00, // 0027 RET 1 R7 + 0x601C0003, // 0028 GETGBL R7 G3 + 0x5C200000, // 0029 MOVE R8 R0 + 0x7C1C0200, // 002A CALL R7 1 + 0x8C1C0F1B, // 002B GETMET R7 R7 K27 + 0x5C240200, // 002C MOVE R9 R1 + 0x5C280400, // 002D MOVE R10 R2 + 0x5C2C0600, // 002E MOVE R11 R3 + 0x7C1C0800, // 002F CALL R7 4 + 0x80040E00, // 0030 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Fan +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Fan, + 2, + &be_class_Matter_Plugin_Device, + be_nested_map(13, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Fan_update_virtual_closure) }, + { be_const_key_weak(read_attribute, 3), be_const_closure(class_Matter_Plugin_Fan_read_attribute_closure) }, + { be_const_key_weak(TYPE, 0), be_nested_str_weak(fan) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(3, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(FanMode), + be_nested_str_weak(FanSpeed), + be_nested_str_weak(FanSpeed255), + })) ) } )) }, + { be_const_key_weak(shadow_fan_speed_pct, -1), be_const_var(1) }, + { be_const_key_weak(set_fan_speed_pct, -1), be_const_closure(class_Matter_Plugin_Fan_set_fan_speed_pct_closure) }, + { be_const_key_weak(shadow_fan_mode, 8), be_const_var(0) }, + { be_const_key_weak(write_attribute, -1), be_const_closure(class_Matter_Plugin_Fan_write_attribute_closure) }, + { be_const_key_weak(init, 9), be_const_closure(class_Matter_Plugin_Fan_init_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Fan) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(514, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(set_fan_mode, 1), be_const_closure(class_Matter_Plugin_Fan_set_fan_mode_closure) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(43, -1), be_const_int(2) }, + })) ) } )) }, + })), + be_str_weak(Matter_Plugin_Fan) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Light0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Light0.h new file mode 100644 index 000000000..0390a8125 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Light0.h @@ -0,0 +1,757 @@ +/* Solidification of Matter_Plugin_2_Light0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Light0' ktab size: 60, total: 104 (saved 352 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Light0[60] = { + /* K0 */ be_nested_str_weak(math), + /* K1 */ be_nested_str_weak(log), + /* K2 */ be_nested_str_weak(MTR_X3A_X20zigbee_received_X20Ox_X2504X_X20attr_list_X3D_X25s_X20type_X28attr_list_X29_X3D_X25s), + /* K3 */ be_nested_str_weak(zigbee_mapper), + /* K4 */ be_nested_str_weak(shortaddr), + /* K5 */ be_const_int(3), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(key), + /* K8 */ be_nested_str_weak(Power), + /* K9 */ be_nested_str_weak(val), + /* K10 */ be_nested_str_weak(Dimmer), + /* K11 */ be_nested_str_weak(CT), + /* K12 */ be_const_int(1), + /* K13 */ be_nested_str_weak(update_virtual), + /* K14 */ be_nested_str_weak(MTR_X3A_X20_X5B_X2502X_X5D_X20Light2_X20updated_X20_X25s), + /* K15 */ be_nested_str_weak(endpoint), + /* K16 */ be_nested_str_weak(tasmota_relay_index), + /* K17 */ be_nested_str_weak(contains), + /* K18 */ be_nested_str_weak(POWER), + /* K19 */ be_nested_str_weak(find), + /* K20 */ be_nested_str_weak(ON), + /* K21 */ be_nested_str_weak(shadow_onoff), + /* K22 */ be_nested_str_weak(attribute_updated), + /* K23 */ be_nested_str_weak(VIRTUAL), + /* K24 */ be_nested_str_weak(BRIDGE), + /* K25 */ be_nested_str_weak(tasmota), + /* K26 */ be_nested_str_weak(get_power), + /* K27 */ be_nested_str_weak(update_shadow), + /* K28 */ be_nested_str_weak(webserver), + /* K29 */ be_nested_str_weak(web_values_prefix), + /* K30 */ be_nested_str_weak(content_send), + /* K31 */ be_nested_str_weak(_X25s), + /* K32 */ be_nested_str_weak(web_value_onoff), + /* K33 */ be_nested_str_weak(matter), + /* K34 */ be_nested_str_weak(TLV), + /* K35 */ be_nested_str_weak(cluster), + /* K36 */ be_nested_str_weak(command), + /* K37 */ be_nested_str_weak(update_shadow_lazy), + /* K38 */ be_nested_str_weak(set_onoff), + /* K39 */ be_nested_str_weak(publish_command), + /* K40 */ be_const_int(2), + /* K41 */ be_nested_str_weak(attribute), + /* K42 */ be_nested_str_weak(set), + /* K43 */ be_nested_str_weak(BOOL), + /* K44 */ be_nested_str_weak(read_attribute), + /* K45 */ be_nested_str_weak(parse_configuration), + /* K46 */ be_nested_str_weak(ARG), + /* K47 */ be_nested_str_weak(get_name), + /* K48 */ be_nested_str_weak(PREFIX), + /* K49 */ be_nested_str_weak(html_escape), + /* K50 */ be_nested_str_weak(), + /* K51 */ be_nested_str_weak(light_index), + /* K52 */ be_nested_str_weak(init), + /* K53 */ be_nested_str_weak(call_remote_sync), + /* K54 */ be_nested_str_weak(1), + /* K55 */ be_nested_str_weak(0), + /* K56 */ be_nested_str_weak(parse_status), + /* K57 */ be_nested_str_weak(set_power), + /* K58 */ be_nested_str_weak(light), + /* K59 */ be_nested_str_weak(power), +}; + + +extern const bclass be_class_Matter_Plugin_Light0; + +/******************************************************************** +** Solidified function: zigbee_received +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_zigbee_received, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(zigbee_received), + &be_const_str_solidified, + ( &(const binstruction[62]) { /* code */ + 0xA40E0000, // 0000 IMPORT R3 K0 + 0xB8120200, // 0001 GETNGBL R4 K1 + 0x60140018, // 0002 GETGBL R5 G24 + 0x58180002, // 0003 LDCONST R6 K2 + 0x881C0103, // 0004 GETMBR R7 R0 K3 + 0x881C0F04, // 0005 GETMBR R7 R7 K4 + 0x5C200400, // 0006 MOVE R8 R2 + 0x60240004, // 0007 GETGBL R9 G4 + 0x5C280400, // 0008 MOVE R10 R2 + 0x7C240200, // 0009 CALL R9 1 + 0x7C140800, // 000A CALL R5 4 + 0x58180005, // 000B LDCONST R6 K5 + 0x7C100400, // 000C CALL R4 2 + 0x58100006, // 000D LDCONST R4 K6 + 0x60140013, // 000E GETGBL R5 G19 + 0x7C140000, // 000F CALL R5 0 + 0x6018000C, // 0010 GETGBL R6 G12 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x7C180200, // 0012 CALL R6 1 + 0x14180806, // 0013 LT R6 R4 R6 + 0x781A0017, // 0014 JMPF R6 #002D + 0x94180404, // 0015 GETIDX R6 R2 R4 + 0x881C0D07, // 0016 GETMBR R7 R6 K7 + 0x1C1C0F08, // 0017 EQ R7 R7 K8 + 0x781E0003, // 0018 JMPF R7 #001D + 0x601C0009, // 0019 GETGBL R7 G9 + 0x88200D09, // 001A GETMBR R8 R6 K9 + 0x7C1C0200, // 001B CALL R7 1 + 0x98161007, // 001C SETIDX R5 K8 R7 + 0x881C0D07, // 001D GETMBR R7 R6 K7 + 0x1C1C0F0A, // 001E EQ R7 R7 K10 + 0x781E0003, // 001F JMPF R7 #0024 + 0x601C0009, // 0020 GETGBL R7 G9 + 0x88200D09, // 0021 GETMBR R8 R6 K9 + 0x7C1C0200, // 0022 CALL R7 1 + 0x98161407, // 0023 SETIDX R5 K10 R7 + 0x881C0D07, // 0024 GETMBR R7 R6 K7 + 0x1C1C0F0B, // 0025 EQ R7 R7 K11 + 0x781E0003, // 0026 JMPF R7 #002B + 0x601C0009, // 0027 GETGBL R7 G9 + 0x88200D09, // 0028 GETMBR R8 R6 K9 + 0x7C1C0200, // 0029 CALL R7 1 + 0x98161607, // 002A SETIDX R5 K11 R7 + 0x0010090C, // 002B ADD R4 R4 K12 + 0x7001FFE2, // 002C JMP #0010 + 0x6018000C, // 002D GETGBL R6 G12 + 0x5C1C0A00, // 002E MOVE R7 R5 + 0x7C180200, // 002F CALL R6 1 + 0x24180D06, // 0030 GT R6 R6 K6 + 0x781A000A, // 0031 JMPF R6 #003D + 0x8C18010D, // 0032 GETMET R6 R0 K13 + 0x5C200A00, // 0033 MOVE R8 R5 + 0x7C180400, // 0034 CALL R6 2 + 0xB81A0200, // 0035 GETNGBL R6 K1 + 0x601C0018, // 0036 GETGBL R7 G24 + 0x5820000E, // 0037 LDCONST R8 K14 + 0x8824010F, // 0038 GETMBR R9 R0 K15 + 0x5C280A00, // 0039 MOVE R10 R5 + 0x7C1C0600, // 003A CALL R7 3 + 0x58200005, // 003B LDCONST R8 K5 + 0x7C180400, // 003C CALL R6 2 + 0x80000000, // 003D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_parse_status, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x540E000A, // 0000 LDINT R3 11 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0020, // 0002 JMPF R3 #0024 + 0x500C0000, // 0003 LDBOOL R3 0 0 + 0x88100110, // 0004 GETMBR R4 R0 K16 + 0x1C10090C, // 0005 EQ R4 R4 K12 + 0x78120009, // 0006 JMPF R4 #0011 + 0x8C100311, // 0007 GETMET R4 R1 K17 + 0x58180012, // 0008 LDCONST R6 K18 + 0x7C100400, // 0009 CALL R4 2 + 0x78120005, // 000A JMPF R4 #0011 + 0x8C100313, // 000B GETMET R4 R1 K19 + 0x58180012, // 000C LDCONST R6 K18 + 0x7C100400, // 000D CALL R4 2 + 0x1C100914, // 000E EQ R4 R4 K20 + 0x5C0C0800, // 000F MOVE R3 R4 + 0x70020007, // 0010 JMP #0019 + 0x8C100313, // 0011 GETMET R4 R1 K19 + 0x60180008, // 0012 GETGBL R6 G8 + 0x881C0110, // 0013 GETMBR R7 R0 K16 + 0x7C180200, // 0014 CALL R6 1 + 0x001A2406, // 0015 ADD R6 K18 R6 + 0x7C100400, // 0016 CALL R4 2 + 0x1C100914, // 0017 EQ R4 R4 K20 + 0x5C0C0800, // 0018 MOVE R3 R4 + 0x88100115, // 0019 GETMBR R4 R0 K21 + 0x60140017, // 001A GETGBL R5 G23 + 0x5C180600, // 001B MOVE R6 R3 + 0x7C140200, // 001C CALL R5 1 + 0x20100805, // 001D NE R4 R4 R5 + 0x78120004, // 001E JMPF R4 #0024 + 0x8C100116, // 001F GETMET R4 R0 K22 + 0x541A0005, // 0020 LDINT R6 6 + 0x581C0006, // 0021 LDCONST R7 K6 + 0x7C100600, // 0022 CALL R4 3 + 0x90022A03, // 0023 SETMBR R0 K21 R3 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_update_shadow, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x88040117, // 0000 GETMBR R1 R0 K23 + 0x74060018, // 0001 JMPT R1 #001B + 0x88040118, // 0002 GETMBR R1 R0 K24 + 0x74060016, // 0003 JMPT R1 #001B + 0x88040110, // 0004 GETMBR R1 R0 K16 + 0x4C080000, // 0005 LDNIL R2 + 0x20040202, // 0006 NE R1 R1 R2 + 0x78060012, // 0007 JMPF R1 #001B + 0xB8063200, // 0008 GETNGBL R1 K25 + 0x8C04031A, // 0009 GETMET R1 R1 K26 + 0x880C0110, // 000A GETMBR R3 R0 K16 + 0x040C070C, // 000B SUB R3 R3 K12 + 0x7C040400, // 000C CALL R1 2 + 0x4C080000, // 000D LDNIL R2 + 0x20080202, // 000E NE R2 R1 R2 + 0x780A000A, // 000F JMPF R2 #001B + 0x88080115, // 0010 GETMBR R2 R0 K21 + 0x600C0017, // 0011 GETGBL R3 G23 + 0x5C100200, // 0012 MOVE R4 R1 + 0x7C0C0200, // 0013 CALL R3 1 + 0x20080403, // 0014 NE R2 R2 R3 + 0x780A0003, // 0015 JMPF R2 #001A + 0x8C080116, // 0016 GETMET R2 R0 K22 + 0x54120005, // 0017 LDINT R4 6 + 0x58140006, // 0018 LDCONST R5 K6 + 0x7C080600, // 0019 CALL R2 3 + 0x90022A01, // 001A SETMBR R0 K21 R1 + 0x60040003, // 001B GETGBL R1 G3 + 0x5C080000, // 001C MOVE R2 R0 + 0x7C040200, // 001D CALL R1 1 + 0x8C04031B, // 001E GETMET R1 R1 K27 + 0x7C040200, // 001F CALL R1 1 + 0x80000000, // 0020 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_web_values, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA4063800, // 0000 IMPORT R1 K28 + 0x8C08011D, // 0001 GETMET R2 R0 K29 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08031E, // 0003 GETMET R2 R1 K30 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814001F, // 0005 LDCONST R5 K31 + 0x8C180120, // 0006 GETMET R6 R0 K32 + 0x88200115, // 0007 GETMBR R8 R0 K21 + 0x7C180400, // 0008 CALL R6 2 + 0x7C100400, // 0009 CALL R4 2 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_invoke_request, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0xB8124200, // 0000 GETNGBL R4 K33 + 0x88100922, // 0001 GETMBR R4 R4 K34 + 0x88140723, // 0002 GETMBR R5 R3 K35 + 0x88180724, // 0003 GETMBR R6 R3 K36 + 0x541E0005, // 0004 LDINT R7 6 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E002B, // 0006 JMPF R7 #0033 + 0x8C1C0125, // 0007 GETMET R7 R0 K37 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D06, // 0009 EQ R7 R6 K6 + 0x781E0009, // 000A JMPF R7 #0015 + 0x8C1C0126, // 000B GETMET R7 R0 K38 + 0x50240000, // 000C LDBOOL R9 0 0 + 0x7C1C0400, // 000D CALL R7 2 + 0x8C1C0127, // 000E GETMET R7 R0 K39 + 0x58240008, // 000F LDCONST R9 K8 + 0x58280006, // 0010 LDCONST R10 K6 + 0x7C1C0600, // 0011 CALL R7 3 + 0x501C0200, // 0012 LDBOOL R7 1 0 + 0x80040E00, // 0013 RET 1 R7 + 0x7002001D, // 0014 JMP #0033 + 0x1C1C0D0C, // 0015 EQ R7 R6 K12 + 0x781E0009, // 0016 JMPF R7 #0021 + 0x8C1C0126, // 0017 GETMET R7 R0 K38 + 0x50240200, // 0018 LDBOOL R9 1 0 + 0x7C1C0400, // 0019 CALL R7 2 + 0x8C1C0127, // 001A GETMET R7 R0 K39 + 0x58240008, // 001B LDCONST R9 K8 + 0x5828000C, // 001C LDCONST R10 K12 + 0x7C1C0600, // 001D CALL R7 3 + 0x501C0200, // 001E LDBOOL R7 1 0 + 0x80040E00, // 001F RET 1 R7 + 0x70020011, // 0020 JMP #0033 + 0x1C1C0D28, // 0021 EQ R7 R6 K40 + 0x781E000F, // 0022 JMPF R7 #0033 + 0x8C1C0126, // 0023 GETMET R7 R0 K38 + 0x88240115, // 0024 GETMBR R9 R0 K21 + 0x78260000, // 0025 JMPF R9 #0027 + 0x50240001, // 0026 LDBOOL R9 0 1 + 0x50240200, // 0027 LDBOOL R9 1 0 + 0x7C1C0400, // 0028 CALL R7 2 + 0x8C1C0127, // 0029 GETMET R7 R0 K39 + 0x58240008, // 002A LDCONST R9 K8 + 0x88280115, // 002B GETMBR R10 R0 K21 + 0x782A0001, // 002C JMPF R10 #002F + 0x5828000C, // 002D LDCONST R10 K12 + 0x70020000, // 002E JMP #0030 + 0x58280006, // 002F LDCONST R10 K6 + 0x7C1C0600, // 0030 CALL R7 3 + 0x501C0200, // 0031 LDBOOL R7 1 0 + 0x80040E00, // 0032 RET 1 R7 + 0x80000000, // 0033 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xB8124200, // 0000 GETNGBL R4 K33 + 0x88100922, // 0001 GETMBR R4 R4 K34 + 0x88140523, // 0002 GETMBR R5 R2 K35 + 0x88180529, // 0003 GETMBR R6 R2 K41 + 0x541E0005, // 0004 LDINT R7 6 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0008, // 0006 JMPF R7 #0010 + 0x8C1C0125, // 0007 GETMET R7 R0 K37 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D06, // 0009 EQ R7 R6 K6 + 0x781E0004, // 000A JMPF R7 #0010 + 0x8C1C072A, // 000B GETMET R7 R3 K42 + 0x8824092B, // 000C GETMBR R9 R4 K43 + 0x88280115, // 000D GETMBR R10 R0 K21 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x601C0003, // 0010 GETGBL R7 G3 + 0x5C200000, // 0011 MOVE R8 R0 + 0x7C1C0200, // 0012 CALL R7 1 + 0x8C1C0F2C, // 0013 GETMET R7 R7 K44 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x7C1C0800, // 0017 CALL R7 4 + 0x80040E00, // 0018 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_parse_configuration, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08052D, // 0003 GETMET R2 R2 K45 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x60080009, // 0006 GETGBL R2 G9 + 0x8C0C0313, // 0007 GETMET R3 R1 K19 + 0x8814012E, // 0008 GETMBR R5 R0 K46 + 0x4C180000, // 0009 LDNIL R6 + 0x7C0C0600, // 000A CALL R3 3 + 0x7C080200, // 000B CALL R2 1 + 0x90022002, // 000C SETMBR R0 K16 R2 + 0x88080110, // 000D GETMBR R2 R0 K16 + 0x4C0C0000, // 000E LDNIL R3 + 0x20080403, // 000F NE R2 R2 R3 + 0x780A0003, // 0010 JMPF R2 #0015 + 0x88080110, // 0011 GETMBR R2 R0 K16 + 0x18080506, // 0012 LE R2 R2 K6 + 0x780A0000, // 0013 JMPF R2 #0015 + 0x9002210C, // 0014 SETMBR R0 K16 K12 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4063800, // 0000 IMPORT R1 K28 + 0x8C08012F, // 0001 GETMET R2 R0 K47 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x88100110, // 0006 GETMBR R4 R0 K16 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E1003, // 0008 ADD R3 K8 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C031E, // 000A GETMET R3 R1 K30 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180130, // 000C GETMBR R6 R0 K48 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0331, // 000E GETMET R7 R1 K49 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0032, // 0012 LDCONST R7 K50 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x50100000, // 0000 LDBOOL R4 0 0 + 0x90022A04, // 0001 SETMBR R0 K21 R4 + 0x90026706, // 0002 SETMBR R0 K51 K6 + 0x60100003, // 0003 GETGBL R4 G3 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C100200, // 0005 CALL R4 1 + 0x8C100934, // 0006 GETMET R4 R4 K52 + 0x5C180200, // 0007 MOVE R6 R1 + 0x5C1C0400, // 0008 MOVE R7 R2 + 0x5C200600, // 0009 MOVE R8 R3 + 0x7C100800, // 000A CALL R4 4 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_onoff +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_set_onoff, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(set_onoff), + &be_const_str_solidified, + ( &(const binstruction[56]) { /* code */ + 0x88080118, // 0000 GETMBR R2 R0 K24 + 0x780A0011, // 0001 JMPF R2 #0014 + 0x8C080135, // 0002 GETMET R2 R0 K53 + 0x60100008, // 0003 GETGBL R4 G8 + 0x88140110, // 0004 GETMBR R5 R0 K16 + 0x7C100200, // 0005 CALL R4 1 + 0x00121004, // 0006 ADD R4 K8 R4 + 0x78060001, // 0007 JMPF R1 #000A + 0x58140036, // 0008 LDCONST R5 K54 + 0x70020000, // 0009 JMP #000B + 0x58140037, // 000A LDCONST R5 K55 + 0x7C080600, // 000B CALL R2 3 + 0x4C0C0000, // 000C LDNIL R3 + 0x200C0403, // 000D NE R3 R2 R3 + 0x780E0003, // 000E JMPF R3 #0013 + 0x8C0C0138, // 000F GETMET R3 R0 K56 + 0x5C140400, // 0010 MOVE R5 R2 + 0x541A000A, // 0011 LDINT R6 11 + 0x7C0C0600, // 0012 CALL R3 3 + 0x70020022, // 0013 JMP #0037 + 0x88080117, // 0014 GETMBR R2 R0 K23 + 0x780A0008, // 0015 JMPF R2 #001F + 0x88080115, // 0016 GETMBR R2 R0 K21 + 0x20080202, // 0017 NE R2 R1 R2 + 0x780A0004, // 0018 JMPF R2 #001E + 0x8C080116, // 0019 GETMET R2 R0 K22 + 0x54120005, // 001A LDINT R4 6 + 0x58140006, // 001B LDCONST R5 K6 + 0x7C080600, // 001C CALL R2 3 + 0x90022A01, // 001D SETMBR R0 K21 R1 + 0x70020017, // 001E JMP #0037 + 0x88080110, // 001F GETMBR R2 R0 K16 + 0x4C0C0000, // 0020 LDNIL R3 + 0x20080403, // 0021 NE R2 R2 R3 + 0x780A000A, // 0022 JMPF R2 #002E + 0xB80A3200, // 0023 GETNGBL R2 K25 + 0x8C080539, // 0024 GETMET R2 R2 K57 + 0x88100110, // 0025 GETMBR R4 R0 K16 + 0x0410090C, // 0026 SUB R4 R4 K12 + 0x60140017, // 0027 GETGBL R5 G23 + 0x5C180200, // 0028 MOVE R6 R1 + 0x7C140200, // 0029 CALL R5 1 + 0x7C080600, // 002A CALL R2 3 + 0x8C08011B, // 002B GETMET R2 R0 K27 + 0x7C080200, // 002C CALL R2 1 + 0x70020008, // 002D JMP #0037 + 0xA40A7400, // 002E IMPORT R2 K58 + 0x8C0C052A, // 002F GETMET R3 R2 K42 + 0x60140013, // 0030 GETGBL R5 G19 + 0x7C140000, // 0031 CALL R5 0 + 0x98167601, // 0032 SETIDX R5 K59 R1 + 0x88180133, // 0033 GETMBR R6 R0 K51 + 0x7C0C0600, // 0034 CALL R3 3 + 0x8C0C011B, // 0035 GETMET R3 R0 K27 + 0x7C0C0200, // 0036 CALL R3 1 + 0x80000000, // 0037 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light0_update_virtual, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light0, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8C080313, // 0000 GETMET R2 R1 K19 + 0x58100008, // 0001 LDCONST R4 K8 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0004, // 0005 JMPF R3 #000B + 0x8C0C0126, // 0006 GETMET R3 R0 K38 + 0x60140017, // 0007 GETGBL R5 G23 + 0x5C180400, // 0008 MOVE R6 R2 + 0x7C140200, // 0009 CALL R5 1 + 0x7C0C0400, // 000A CALL R3 2 + 0x600C0003, // 000B GETGBL R3 G3 + 0x5C100000, // 000C MOVE R4 R0 + 0x7C0C0200, // 000D CALL R3 1 + 0x8C0C070D, // 000E GETMET R3 R3 K13 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C0C0400, // 0010 CALL R3 2 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Light0 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Light0, + 3, + &be_class_Matter_Plugin_Device, + be_nested_map(23, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(update_virtual, 13), be_const_closure(class_Matter_Plugin_Light0_update_virtual_closure) }, + { be_const_key_weak(CLUSTERS, 15), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(zigbee_received, 0), be_const_closure(class_Matter_Plugin_Light0_zigbee_received_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(light0) }, + { be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light0_parse_status_closure) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(UPDATE_TIME, 11), be_const_int(250) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Light0_update_shadow_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light0_web_values_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light0_invoke_request_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light0_read_attribute_closure) }, + { be_const_key_weak(tasmota_relay_index, -1), be_const_var(0) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Light0_web_values_prefix_closure) }, + { be_const_key_weak(ARG, 18), be_nested_str_weak(relay) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light0_init_closure) }, + { be_const_key_weak(TYPES, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(256, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X200_X20OnOff) }, + { be_const_key_weak(light_index, 1), be_const_var(1) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Light0__X3Clambda_X3E_closure) }, + { be_const_key_weak(set_onoff, -1), be_const_closure(class_Matter_Plugin_Light0_set_onoff_closure) }, + { be_const_key_weak(shadow_onoff, 5), be_const_var(2) }, + { be_const_key_weak(parse_configuration, 22), be_const_closure(class_Matter_Plugin_Light0_parse_configuration_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Power), + })) ) } )) }, + })), + be_str_weak(Matter_Plugin_Light0) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor.h new file mode 100644 index 000000000..8bb80699b --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor.h @@ -0,0 +1,410 @@ +/* Solidification of Matter_Plugin_2_Sensor.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor' ktab size: 37, total: 54 (saved 136 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor[37] = { + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(add_read_sensors_schedule), + /* K2 */ be_nested_str_weak(UPDATE_TIME), + /* K3 */ be_nested_str_weak(find), + /* K4 */ be_nested_str_weak(JSON_NAME), + /* K5 */ be_nested_str_weak(bool), + /* K6 */ be_nested_str_weak(shadow_value), + /* K7 */ be_nested_str_weak(value_changed), + /* K8 */ be_nested_str_weak(update_virtual), + /* K9 */ be_nested_str_weak(parse_configuration), + /* K10 */ be_nested_str_weak(tasmota_sensor_filter), + /* K11 */ be_nested_str_weak(ARG), + /* K12 */ be_nested_str_weak(tasmota_sensor_matcher), + /* K13 */ be_nested_str_weak(tasmota), + /* K14 */ be_nested_str_weak(Rule_Matcher), + /* K15 */ be_nested_str_weak(parse), + /* K16 */ be_nested_str_weak(temp_unit), + /* K17 */ be_nested_str_weak(TEMP_C), + /* K18 */ be_nested_str_weak(pressure_unit), + /* K19 */ be_nested_str_weak(PRESSURE_HPA), + /* K20 */ be_nested_str_weak(webserver), + /* K21 */ be_nested_str_weak(get_name), + /* K22 */ be_nested_str_weak(filter_name_html), + /* K23 */ be_nested_str_weak(content_send), + /* K24 */ be_nested_str_weak(PREFIX), + /* K25 */ be_nested_str_weak(html_escape), + /* K26 */ be_nested_str_weak(), + /* K27 */ be_nested_str_weak(VIRTUAL), + /* K28 */ be_nested_str_weak(match), + /* K29 */ be_nested_str_weak(pre_value), + /* K30 */ be_nested_str_weak(string), + /* K31 */ be_nested_str_weak(split), + /* K32 */ be_nested_str_weak(_X23), + /* K33 */ be_const_int(0), + /* K34 */ be_nested_str_weak(contains), + /* K35 */ be_nested_str_weak(TempUnit), + /* K36 */ be_nested_str_weak(PressureUnit), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100900, // 0003 GETMET R4 R4 K0 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x8C100301, // 0008 GETMET R4 R1 K1 + 0x88180102, // 0009 GETMBR R6 R0 K2 + 0x7C100400, // 000A CALL R4 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_update_virtual, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x8C080303, // 0000 GETMET R2 R1 K3 + 0x88100104, // 0001 GETMBR R4 R0 K4 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E000E, // 0005 JMPF R3 #0015 + 0x600C0004, // 0006 GETGBL R3 G4 + 0x5C100400, // 0007 MOVE R4 R2 + 0x7C0C0200, // 0008 CALL R3 1 + 0x1C0C0705, // 0009 EQ R3 R3 K5 + 0x780E0003, // 000A JMPF R3 #000F + 0x600C0009, // 000B GETGBL R3 G9 + 0x5C100400, // 000C MOVE R4 R2 + 0x7C0C0200, // 000D CALL R3 1 + 0x5C080600, // 000E MOVE R2 R3 + 0x880C0106, // 000F GETMBR R3 R0 K6 + 0x200C0602, // 0010 NE R3 R3 R2 + 0x780E0002, // 0011 JMPF R3 #0015 + 0x8C0C0107, // 0012 GETMET R3 R0 K7 + 0x7C0C0200, // 0013 CALL R3 1 + 0x90020C02, // 0014 SETMBR R0 K6 R2 + 0x600C0003, // 0015 GETGBL R3 G3 + 0x5C100000, // 0016 MOVE R4 R0 + 0x7C0C0200, // 0017 CALL R3 1 + 0x8C0C0708, // 0018 GETMET R3 R3 K8 + 0x5C140200, // 0019 MOVE R5 R1 + 0x7C0C0400, // 001A CALL R3 2 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_parse_configuration, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080509, // 0003 GETMET R2 R2 K9 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080303, // 0006 GETMET R2 R1 K3 + 0x8810010B, // 0007 GETMBR R4 R0 K11 + 0x7C080400, // 0008 CALL R2 2 + 0x90021402, // 0009 SETMBR R0 K10 R2 + 0x8808010A, // 000A GETMBR R2 R0 K10 + 0x780A0005, // 000B JMPF R2 #0012 + 0xB80A1A00, // 000C GETNGBL R2 K13 + 0x8808050E, // 000D GETMBR R2 R2 K14 + 0x8C08050F, // 000E GETMET R2 R2 K15 + 0x8810010A, // 000F GETMBR R4 R0 K10 + 0x7C080400, // 0010 CALL R2 2 + 0x90021802, // 0011 SETMBR R0 K12 R2 + 0x88080111, // 0012 GETMBR R2 R0 K17 + 0x90022002, // 0013 SETMBR R0 K16 R2 + 0x88080113, // 0014 GETMBR R2 R0 K19 + 0x90022402, // 0015 SETMBR R0 K18 R2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xA4062800, // 0000 IMPORT R1 K20 + 0x8C080115, // 0001 GETMET R2 R0 K21 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0002, // 0004 JMPT R3 #0008 + 0x8C0C0116, // 0005 GETMET R3 R0 K22 + 0x7C0C0200, // 0006 CALL R3 1 + 0x5C080600, // 0007 MOVE R2 R3 + 0x8C0C0317, // 0008 GETMET R3 R1 K23 + 0x60140018, // 0009 GETGBL R5 G24 + 0x88180118, // 000A GETMBR R6 R0 K24 + 0x780A0003, // 000B JMPF R2 #0010 + 0x8C1C0319, // 000C GETMET R7 R1 K25 + 0x5C240400, // 000D MOVE R9 R2 + 0x7C1C0400, // 000E CALL R7 2 + 0x70020000, // 000F JMP #0011 + 0x581C001A, // 0010 LDCONST R7 K26 + 0x7C140400, // 0011 CALL R5 2 + 0x7C0C0400, // 0012 CALL R3 2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_sensors +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(parse_sensors), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x8808011B, // 0000 GETMBR R2 R0 K27 + 0x740A001D, // 0001 JMPT R2 #0020 + 0x8808010C, // 0002 GETMBR R2 R0 K12 + 0x780A001B, // 0003 JMPF R2 #0020 + 0x8808010C, // 0004 GETMBR R2 R0 K12 + 0x8C08051C, // 0005 GETMET R2 R2 K28 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x600C000F, // 0008 GETGBL R3 G15 + 0x5C100400, // 0009 MOVE R4 R2 + 0x60140013, // 000A GETGBL R5 G19 + 0x7C0C0400, // 000B CALL R3 2 + 0x780E0003, // 000C JMPF R3 #0011 + 0x8C0C0503, // 000D GETMET R3 R2 K3 + 0x88140104, // 000E GETMBR R5 R0 K4 + 0x7C0C0400, // 000F CALL R3 2 + 0x5C080600, // 0010 MOVE R2 R3 + 0x8C0C011D, // 0011 GETMET R3 R0 K29 + 0x6014000A, // 0012 GETGBL R5 G10 + 0x5C180400, // 0013 MOVE R6 R2 + 0x7C140200, // 0014 CALL R5 1 + 0x7C0C0400, // 0015 CALL R3 2 + 0x5C080600, // 0016 MOVE R2 R3 + 0x4C0C0000, // 0017 LDNIL R3 + 0x200C0403, // 0018 NE R3 R2 R3 + 0x780E0005, // 0019 JMPF R3 #0020 + 0x880C0106, // 001A GETMBR R3 R0 K6 + 0x200C0403, // 001B NE R3 R2 R3 + 0x780E0002, // 001C JMPF R3 #0020 + 0x8C0C0107, // 001D GETMET R3 R0 K7 + 0x7C0C0200, // 001E CALL R3 1 + 0x90020C02, // 001F SETMBR R0 K6 R2 + 0x80000000, // 0020 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: filter_name_html +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_filter_name_html, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(filter_name_html), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x78060009, // 0001 JMPF R1 #000C + 0xA4063C00, // 0002 IMPORT R1 K30 + 0xA40A2800, // 0003 IMPORT R2 K20 + 0x8C0C0519, // 0004 GETMET R3 R2 K25 + 0x8C14031F, // 0005 GETMET R5 R1 K31 + 0x881C010A, // 0006 GETMBR R7 R0 K10 + 0x58200020, // 0007 LDCONST R8 K32 + 0x7C140600, // 0008 CALL R5 3 + 0x94140B21, // 0009 GETIDX R5 R5 K33 + 0x7C0C0400, // 000A CALL R3 2 + 0x80040600, // 000B RET 1 R3 + 0x80063400, // 000C RET 1 K26 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_parse_status, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x540E0009, // 0000 LDINT R3 10 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E001E, // 0002 JMPF R3 #0022 + 0x8C0C0322, // 0003 GETMET R3 R1 K34 + 0x58140023, // 0004 LDCONST R5 K35 + 0x7C0C0400, // 0005 CALL R3 2 + 0x780E0001, // 0006 JMPF R3 #0009 + 0x940C0323, // 0007 GETIDX R3 R1 K35 + 0x90022003, // 0008 SETMBR R0 K16 R3 + 0x8C0C0322, // 0009 GETMET R3 R1 K34 + 0x58140024, // 000A LDCONST R5 K36 + 0x7C0C0400, // 000B CALL R3 2 + 0x780E0001, // 000C JMPF R3 #000F + 0x940C0324, // 000D GETIDX R3 R1 K36 + 0x90022403, // 000E SETMBR R0 K18 R3 + 0x880C010C, // 000F GETMBR R3 R0 K12 + 0x780E0010, // 0010 JMPF R3 #0022 + 0x8C0C011D, // 0011 GETMET R3 R0 K29 + 0x6014000A, // 0012 GETGBL R5 G10 + 0x8818010C, // 0013 GETMBR R6 R0 K12 + 0x8C180D1C, // 0014 GETMET R6 R6 K28 + 0x5C200200, // 0015 MOVE R8 R1 + 0x7C180400, // 0016 CALL R6 2 + 0x7C140200, // 0017 CALL R5 1 + 0x7C0C0400, // 0018 CALL R3 2 + 0x4C100000, // 0019 LDNIL R4 + 0x20100604, // 001A NE R4 R3 R4 + 0x78120005, // 001B JMPF R4 #0022 + 0x88100106, // 001C GETMBR R4 R0 K6 + 0x20100604, // 001D NE R4 R3 R4 + 0x78120002, // 001E JMPF R4 #0022 + 0x8C100107, // 001F GETMET R4 R0 K7 + 0x7C100200, // 0020 CALL R4 1 + 0x90020C03, // 0021 SETMBR R0 K6 R3 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Sensor, + 5, + &be_class_Matter_Plugin_Device, + be_nested_map(22, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) }, + { be_const_key_weak(parse_status, 4), be_const_closure(class_Matter_Plugin_Sensor_parse_status_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_update_virtual_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_configuration_closure) }, + { be_const_key_weak(pressure_unit, -1), be_const_var(4) }, + { be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(filter) }, + { be_const_key_weak(PRESSURE_MMHG, -1), be_nested_str_weak(mmHg) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_init_closure) }, + { be_const_key_weak(TEMP_F, -1), be_nested_str_weak(F) }, + { be_const_key_weak(TEMP_C, -1), be_nested_str_weak(C) }, + { be_const_key_weak(temp_unit, 3), be_const_var(3) }, + { be_const_key_weak(UPDATE_CMD, 16), be_nested_str_weak(Status_X2010) }, + { be_const_key_weak(PRESSURE_HPA, 10), be_nested_str_weak(hPa) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_web_values_prefix_closure) }, + { be_const_key_weak(PRESSURE_INHG, -1), be_nested_str_weak(inHg) }, + { be_const_key_weak(JSON_NAME, 13), be_nested_str_weak() }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_sensors_closure) }, + { be_const_key_weak(filter_name_html, -1), be_const_closure(class_Matter_Plugin_Sensor_filter_name_html_closure) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(shadow_value, 2), be_const_var(2) }, + })), + be_str_weak(Matter_Plugin_Sensor) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Air_Quality.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Air_Quality.h new file mode 100644 index 000000000..8c6b0543c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Air_Quality.h @@ -0,0 +1,840 @@ +/* Solidification of Matter_Plugin_2_Sensor_Air_Quality.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Air_Quality' ktab size: 42, total: 88 (saved 368 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Air_Quality[42] = { + /* K0 */ be_nested_str_weak(parse_configuration), + /* K1 */ be_nested_str_weak(prefix), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(ARG), + /* K4 */ be_nested_str_weak(shadow_co2), + /* K5 */ be_nested_str_weak(_parse_update_virtual), + /* K6 */ be_nested_str_weak(CO2), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(shadow_pm1), + /* K9 */ be_nested_str_weak(PM1), + /* K10 */ be_nested_str_weak(shadow_pm2_5), + /* K11 */ be_nested_str_weak(PM2_X2E5), + /* K12 */ be_nested_str_weak(shadow_pm10), + /* K13 */ be_nested_str_weak(PM10), + /* K14 */ be_nested_str_weak(shadow_tvoc), + /* K15 */ be_nested_str_weak(TVOC), + /* K16 */ be_nested_str_weak(contains), + /* K17 */ be_nested_str_weak(AirQuality), + /* K18 */ be_nested_str_weak(shadow_air_quality), + /* K19 */ be_nested_str_weak(compute_air_quality), + /* K20 */ be_nested_str_weak(update_virtual), + /* K21 */ be_const_int(1), + /* K22 */ be_const_int(2), + /* K23 */ be_const_int(3), + /* K24 */ be_nested_str_weak(attribute_updated), + /* K25 */ be_nested_str_weak(init), + /* K26 */ be_nested_str_weak(add_read_sensors_schedule), + /* K27 */ be_nested_str_weak(UPDATE_TIME), + /* K28 */ be_nested_str_weak(web_values_prefix), + /* K29 */ be_nested_str_weak(Air), + /* K30 */ be_nested_str_weak(NO2), + /* K31 */ be_nested_str_weak(shadow_no2), + /* K32 */ be_nested_str_weak(_parse_sensor_entry), + /* K33 */ be_nested_str_weak(CarbonDioxide), + /* K34 */ be_nested_str_weak(parse_sensors), + /* K35 */ be_nested_str_weak(matter), + /* K36 */ be_nested_str_weak(TLV), + /* K37 */ be_nested_str_weak(cluster), + /* K38 */ be_nested_str_weak(attribute), + /* K39 */ be_nested_str_weak(set_or_nil), + /* K40 */ be_nested_str_weak(U1), + /* K41 */ be_nested_str_weak(read_attribute), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality; + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_configuration, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x60080008, // 0006 GETGBL R2 G8 + 0x8C0C0302, // 0007 GETMET R3 R1 K2 + 0x88140103, // 0008 GETMBR R5 R0 K3 + 0x7C0C0400, // 0009 CALL R3 2 + 0x7C080200, // 000A CALL R2 1 + 0x90020202, // 000B SETMBR R0 K1 R2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_update_virtual, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[68]) { /* code */ + 0x8C080105, // 0000 GETMET R2 R0 K5 + 0x5C100200, // 0001 MOVE R4 R1 + 0x58140006, // 0002 LDCONST R5 K6 + 0x88180104, // 0003 GETMBR R6 R0 K4 + 0x601C0007, // 0004 GETGBL R7 G7 + 0x5422040C, // 0005 LDINT R8 1037 + 0x58240007, // 0006 LDCONST R9 K7 + 0x7C080E00, // 0007 CALL R2 7 + 0x90020802, // 0008 SETMBR R0 K4 R2 + 0x8C080105, // 0009 GETMET R2 R0 K5 + 0x5C100200, // 000A MOVE R4 R1 + 0x58140009, // 000B LDCONST R5 K9 + 0x88180108, // 000C GETMBR R6 R0 K8 + 0x601C0007, // 000D GETGBL R7 G7 + 0x5422042B, // 000E LDINT R8 1068 + 0x58240007, // 000F LDCONST R9 K7 + 0x7C080E00, // 0010 CALL R2 7 + 0x90021002, // 0011 SETMBR R0 K8 R2 + 0x8C080105, // 0012 GETMET R2 R0 K5 + 0x5C100200, // 0013 MOVE R4 R1 + 0x5814000B, // 0014 LDCONST R5 K11 + 0x8818010A, // 0015 GETMBR R6 R0 K10 + 0x601C0007, // 0016 GETGBL R7 G7 + 0x54220429, // 0017 LDINT R8 1066 + 0x58240007, // 0018 LDCONST R9 K7 + 0x7C080E00, // 0019 CALL R2 7 + 0x90021402, // 001A SETMBR R0 K10 R2 + 0x8C080105, // 001B GETMET R2 R0 K5 + 0x5C100200, // 001C MOVE R4 R1 + 0x5814000D, // 001D LDCONST R5 K13 + 0x8818010C, // 001E GETMBR R6 R0 K12 + 0x601C0007, // 001F GETGBL R7 G7 + 0x5422042C, // 0020 LDINT R8 1069 + 0x58240007, // 0021 LDCONST R9 K7 + 0x7C080E00, // 0022 CALL R2 7 + 0x90021802, // 0023 SETMBR R0 K12 R2 + 0x8C080105, // 0024 GETMET R2 R0 K5 + 0x5C100200, // 0025 MOVE R4 R1 + 0x5814000F, // 0026 LDCONST R5 K15 + 0x8818010E, // 0027 GETMBR R6 R0 K14 + 0x601C0007, // 0028 GETGBL R7 G7 + 0x5422042D, // 0029 LDINT R8 1070 + 0x58240007, // 002A LDCONST R9 K7 + 0x7C080E00, // 002B CALL R2 7 + 0x90021C02, // 002C SETMBR R0 K14 R2 + 0x8C080310, // 002D GETMET R2 R1 K16 + 0x58100011, // 002E LDCONST R4 K17 + 0x7C080400, // 002F CALL R2 2 + 0x780A0009, // 0030 JMPF R2 #003B + 0x8C080105, // 0031 GETMET R2 R0 K5 + 0x5C100200, // 0032 MOVE R4 R1 + 0x58140011, // 0033 LDCONST R5 K17 + 0x60180007, // 0034 GETGBL R6 G7 + 0x881C0112, // 0035 GETMBR R7 R0 K18 + 0x5422005A, // 0036 LDINT R8 91 + 0x58240007, // 0037 LDCONST R9 K7 + 0x7C080E00, // 0038 CALL R2 7 + 0x90022402, // 0039 SETMBR R0 K18 R2 + 0x70020001, // 003A JMP #003D + 0x8C080113, // 003B GETMET R2 R0 K19 + 0x7C080200, // 003C CALL R2 1 + 0x60080003, // 003D GETGBL R2 G3 + 0x5C0C0000, // 003E MOVE R3 R0 + 0x7C080200, // 003F CALL R2 1 + 0x8C080514, // 0040 GETMET R2 R2 K20 + 0x5C100200, // 0041 MOVE R4 R1 + 0x7C080400, // 0042 CALL R2 2 + 0x80000000, // 0043 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x540E0009, // 0000 LDINT R3 10 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x8C0C0302, // 0003 GETMET R3 R1 K2 + 0x88140101, // 0004 GETMBR R5 R0 K1 + 0x7C0C0400, // 0005 CALL R3 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_air_quality +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_compute_air_quality, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(compute_air_quality), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x88080104, // 0001 GETMBR R2 R0 K4 + 0x4C0C0000, // 0002 LDNIL R3 + 0x20080403, // 0003 NE R2 R2 R3 + 0x780A001A, // 0004 JMPF R2 #0020 + 0x88080104, // 0005 GETMBR R2 R0 K4 + 0x540E02ED, // 0006 LDINT R3 750 + 0x180C0403, // 0007 LE R3 R2 R3 + 0x780E0001, // 0008 JMPF R3 #000B + 0x58040015, // 0009 LDCONST R1 K21 + 0x70020014, // 000A JMP #0020 + 0x540E03E7, // 000B LDINT R3 1000 + 0x180C0403, // 000C LE R3 R2 R3 + 0x780E0001, // 000D JMPF R3 #0010 + 0x58040016, // 000E LDCONST R1 K22 + 0x7002000F, // 000F JMP #0020 + 0x540E04E1, // 0010 LDINT R3 1250 + 0x180C0403, // 0011 LE R3 R2 R3 + 0x780E0001, // 0012 JMPF R3 #0015 + 0x58040017, // 0013 LDCONST R1 K23 + 0x7002000A, // 0014 JMP #0020 + 0x540E05DB, // 0015 LDINT R3 1500 + 0x180C0403, // 0016 LE R3 R2 R3 + 0x780E0001, // 0017 JMPF R3 #001A + 0x54060003, // 0018 LDINT R1 4 + 0x70020005, // 0019 JMP #0020 + 0x540E06D5, // 001A LDINT R3 1750 + 0x180C0403, // 001B LE R3 R2 R3 + 0x780E0001, // 001C JMPF R3 #001F + 0x54060004, // 001D LDINT R1 5 + 0x70020000, // 001E JMP #0020 + 0x54060005, // 001F LDINT R1 6 + 0x4C080000, // 0020 LDNIL R2 + 0x20080202, // 0021 NE R2 R1 R2 + 0x780A0007, // 0022 JMPF R2 #002B + 0x88080112, // 0023 GETMBR R2 R0 K18 + 0x20080202, // 0024 NE R2 R1 R2 + 0x780A0004, // 0025 JMPF R2 #002B + 0x90022401, // 0026 SETMBR R0 K18 R1 + 0x8C080118, // 0027 GETMET R2 R0 K24 + 0x5412005A, // 0028 LDINT R4 91 + 0x58140007, // 0029 LDCONST R5 K7 + 0x7C080600, // 002A CALL R2 3 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100919, // 0003 GETMET R4 R4 K25 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x90022507, // 0008 SETMBR R0 K18 K7 + 0x8C10031A, // 0009 GETMET R4 R1 K26 + 0x8818011B, // 000A GETMBR R6 R0 K27 + 0x7C100400, // 000B CALL R4 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(content_send), + /* K2 */ be_nested_str_weak(_X25s_X3A_X25i_X20), + }), + be_str_weak(web_values_single), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0007, // 0002 JMPF R2 #000B + 0xA40A0000, // 0003 IMPORT R2 K0 + 0x8C0C0501, // 0004 GETMET R3 R2 K1 + 0x60140018, // 0005 GETGBL R5 G24 + 0x58180002, // 0006 LDCONST R6 K2 + 0x5C1C0000, // 0007 MOVE R7 R0 + 0x5C200200, // 0008 MOVE R8 R1 + 0x7C140600, // 0009 CALL R5 3 + 0x7C0C0400, // 000A CALL R3 2 + 0x80000000, // 000B RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x84040000, // 0000 CLOSURE R1 P0 + 0x8C08011C, // 0001 GETMET R2 R0 K28 + 0x7C080200, // 0002 CALL R2 1 + 0x5C080200, // 0003 MOVE R2 R1 + 0x580C001D, // 0004 LDCONST R3 K29 + 0x88100112, // 0005 GETMBR R4 R0 K18 + 0x7C080400, // 0006 CALL R2 2 + 0x5C080200, // 0007 MOVE R2 R1 + 0x580C0009, // 0008 LDCONST R3 K9 + 0x88100108, // 0009 GETMBR R4 R0 K8 + 0x7C080400, // 000A CALL R2 2 + 0x5C080200, // 000B MOVE R2 R1 + 0x580C000B, // 000C LDCONST R3 K11 + 0x8810010A, // 000D GETMBR R4 R0 K10 + 0x7C080400, // 000E CALL R2 2 + 0x5C080200, // 000F MOVE R2 R1 + 0x580C000D, // 0010 LDCONST R3 K13 + 0x8810010C, // 0011 GETMBR R4 R0 K12 + 0x7C080400, // 0012 CALL R2 2 + 0x5C080200, // 0013 MOVE R2 R1 + 0x580C0006, // 0014 LDCONST R3 K6 + 0x88100104, // 0015 GETMBR R4 R0 K4 + 0x7C080400, // 0016 CALL R2 2 + 0x5C080200, // 0017 MOVE R2 R1 + 0x580C001E, // 0018 LDCONST R3 K30 + 0x8810011F, // 0019 GETMBR R4 R0 K31 + 0x7C080400, // 001A CALL R2 2 + 0x5C080200, // 001B MOVE R2 R1 + 0x580C000F, // 001C LDCONST R3 K15 + 0x8810010E, // 001D GETMBR R4 R0 K14 + 0x7C080400, // 001E CALL R2 2 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_sensors +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_sensors, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(parse_sensors), + &be_const_str_solidified, + ( &(const binstruction[83]) { /* code */ + 0x8C080302, // 0000 GETMET R2 R1 K2 + 0x88100101, // 0001 GETMBR R4 R0 K1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0045, // 0005 JMPF R3 #004C + 0x8C0C0120, // 0006 GETMET R3 R0 K32 + 0x5C140400, // 0007 MOVE R5 R2 + 0x58180021, // 0008 LDCONST R6 K33 + 0x881C0104, // 0009 GETMBR R7 R0 K4 + 0x60200007, // 000A GETGBL R8 G7 + 0x5426040C, // 000B LDINT R9 1037 + 0x58280007, // 000C LDCONST R10 K7 + 0x7C0C0E00, // 000D CALL R3 7 + 0x90020803, // 000E SETMBR R0 K4 R3 + 0x8C0C0120, // 000F GETMET R3 R0 K32 + 0x5C140400, // 0010 MOVE R5 R2 + 0x58180009, // 0011 LDCONST R6 K9 + 0x881C0108, // 0012 GETMBR R7 R0 K8 + 0x60200007, // 0013 GETGBL R8 G7 + 0x5426042B, // 0014 LDINT R9 1068 + 0x58280007, // 0015 LDCONST R10 K7 + 0x7C0C0E00, // 0016 CALL R3 7 + 0x90021003, // 0017 SETMBR R0 K8 R3 + 0x8C0C0120, // 0018 GETMET R3 R0 K32 + 0x5C140400, // 0019 MOVE R5 R2 + 0x5818000B, // 001A LDCONST R6 K11 + 0x881C010A, // 001B GETMBR R7 R0 K10 + 0x60200007, // 001C GETGBL R8 G7 + 0x54260429, // 001D LDINT R9 1066 + 0x58280007, // 001E LDCONST R10 K7 + 0x7C0C0E00, // 001F CALL R3 7 + 0x90021403, // 0020 SETMBR R0 K10 R3 + 0x8C0C0120, // 0021 GETMET R3 R0 K32 + 0x5C140400, // 0022 MOVE R5 R2 + 0x5818000D, // 0023 LDCONST R6 K13 + 0x881C010C, // 0024 GETMBR R7 R0 K12 + 0x60200007, // 0025 GETGBL R8 G7 + 0x5426042C, // 0026 LDINT R9 1069 + 0x58280007, // 0027 LDCONST R10 K7 + 0x7C0C0E00, // 0028 CALL R3 7 + 0x90021803, // 0029 SETMBR R0 K12 R3 + 0x8C0C0120, // 002A GETMET R3 R0 K32 + 0x5C140400, // 002B MOVE R5 R2 + 0x5818000F, // 002C LDCONST R6 K15 + 0x881C010E, // 002D GETMBR R7 R0 K14 + 0x60200007, // 002E GETGBL R8 G7 + 0x5426042D, // 002F LDINT R9 1070 + 0x58280007, // 0030 LDCONST R10 K7 + 0x7C0C0E00, // 0031 CALL R3 7 + 0x90021C03, // 0032 SETMBR R0 K14 R3 + 0x8C0C0120, // 0033 GETMET R3 R0 K32 + 0x5C140400, // 0034 MOVE R5 R2 + 0x5818001E, // 0035 LDCONST R6 K30 + 0x881C011F, // 0036 GETMBR R7 R0 K31 + 0x60200007, // 0037 GETGBL R8 G7 + 0x54260412, // 0038 LDINT R9 1043 + 0x58280007, // 0039 LDCONST R10 K7 + 0x7C0C0E00, // 003A CALL R3 7 + 0x90023E03, // 003B SETMBR R0 K31 R3 + 0x8C0C0510, // 003C GETMET R3 R2 K16 + 0x58140011, // 003D LDCONST R5 K17 + 0x7C0C0400, // 003E CALL R3 2 + 0x780E0009, // 003F JMPF R3 #004A + 0x8C0C0120, // 0040 GETMET R3 R0 K32 + 0x5C140400, // 0041 MOVE R5 R2 + 0x58180011, // 0042 LDCONST R6 K17 + 0x881C0112, // 0043 GETMBR R7 R0 K18 + 0x60200007, // 0044 GETGBL R8 G7 + 0x5426005A, // 0045 LDINT R9 91 + 0x58280007, // 0046 LDCONST R10 K7 + 0x7C0C0E00, // 0047 CALL R3 7 + 0x90022403, // 0048 SETMBR R0 K18 R3 + 0x70020001, // 0049 JMP #004C + 0x8C0C0113, // 004A GETMET R3 R0 K19 + 0x7C0C0200, // 004B CALL R3 1 + 0x600C0003, // 004C GETGBL R3 G3 + 0x5C100000, // 004D MOVE R4 R0 + 0x7C0C0200, // 004E CALL R3 1 + 0x8C0C0722, // 004F GETMET R3 R3 K34 + 0x5C140200, // 0050 MOVE R5 R1 + 0x7C0C0400, // 0051 CALL R3 2 + 0x80000000, // 0052 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _parse_sensor_entry +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry, /* name */ + be_nested_proto( + 12, /* nstack */ + 7, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(_parse_sensor_entry), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8C1C0302, // 0000 GETMET R7 R1 K2 + 0x5C240400, // 0001 MOVE R9 R2 + 0x7C1C0400, // 0002 CALL R7 2 + 0x4C200000, // 0003 LDNIL R8 + 0x20200E08, // 0004 NE R8 R7 R8 + 0x7822000D, // 0005 JMPF R8 #0014 + 0x5C200800, // 0006 MOVE R8 R4 + 0x5C240E00, // 0007 MOVE R9 R7 + 0x7C200200, // 0008 CALL R8 1 + 0x5C1C1000, // 0009 MOVE R7 R8 + 0x4C200000, // 000A LDNIL R8 + 0x20200E08, // 000B NE R8 R7 R8 + 0x78220005, // 000C JMPF R8 #0013 + 0x20200E03, // 000D NE R8 R7 R3 + 0x78220003, // 000E JMPF R8 #0013 + 0x8C200118, // 000F GETMET R8 R0 K24 + 0x5C280A00, // 0010 MOVE R10 R5 + 0x5C2C0C00, // 0011 MOVE R11 R6 + 0x7C200600, // 0012 CALL R8 3 + 0x80040E00, // 0013 RET 1 R7 + 0x80040600, // 0014 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* name */ + be_nested_proto( + 14, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 3]) { /* upvals */ + be_local_const_upval(1, 6), + be_local_const_upval(1, 3), + be_local_const_upval(1, 4), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(set_or_nil), + /* K2 */ be_nested_str_weak(FLOAT), + /* K3 */ be_const_int(1), + /* K4 */ be_nested_str_weak(set), + /* K5 */ be_nested_str_weak(NULL), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(U1), + /* K8 */ be_nested_str_weak(U4), + }), + be_str_weak(handle_value), + &be_const_str_solidified, + ( &(const binstruction[74]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x58040000, // 0003 LDCONST R1 K0 + 0x68080000, // 0004 GETUPV R2 U0 + 0x1C080500, // 0005 EQ R2 R2 K0 + 0x780A0007, // 0006 JMPF R2 #000F + 0x68080001, // 0007 GETUPV R2 U1 + 0x8C080501, // 0008 GETMET R2 R2 K1 + 0x68100002, // 0009 GETUPV R4 U2 + 0x88100902, // 000A GETMBR R4 R4 K2 + 0x5C140000, // 000B MOVE R5 R0 + 0x7C080600, // 000C CALL R2 3 + 0x80040400, // 000D RET 1 R2 + 0x70020038, // 000E JMP #0048 + 0x68080000, // 000F GETUPV R2 U0 + 0x1C080503, // 0010 EQ R2 R2 K3 + 0x780A0007, // 0011 JMPF R2 #001A + 0x68080001, // 0012 GETUPV R2 U1 + 0x8C080504, // 0013 GETMET R2 R2 K4 + 0x68100002, // 0014 GETUPV R4 U2 + 0x88100905, // 0015 GETMBR R4 R4 K5 + 0x4C140000, // 0016 LDNIL R5 + 0x7C080600, // 0017 CALL R2 3 + 0x80040400, // 0018 RET 1 R2 + 0x7002002D, // 0019 JMP #0048 + 0x68080000, // 001A GETUPV R2 U0 + 0x1C080506, // 001B EQ R2 R2 K6 + 0x780A0007, // 001C JMPF R2 #0025 + 0x68080001, // 001D GETUPV R2 U1 + 0x8C080504, // 001E GETMET R2 R2 K4 + 0x68100002, // 001F GETUPV R4 U2 + 0x88100905, // 0020 GETMBR R4 R4 K5 + 0x4C140000, // 0021 LDNIL R5 + 0x7C080600, // 0022 CALL R2 3 + 0x80040400, // 0023 RET 1 R2 + 0x70020022, // 0024 JMP #0048 + 0x68080000, // 0025 GETUPV R2 U0 + 0x540E0007, // 0026 LDINT R3 8 + 0x1C080403, // 0027 EQ R2 R2 R3 + 0x780A0007, // 0028 JMPF R2 #0031 + 0x68080001, // 0029 GETUPV R2 U1 + 0x8C080504, // 002A GETMET R2 R2 K4 + 0x68100002, // 002B GETUPV R4 U2 + 0x88100907, // 002C GETMBR R4 R4 K7 + 0x5C140200, // 002D MOVE R5 R1 + 0x7C080600, // 002E CALL R2 3 + 0x80040400, // 002F RET 1 R2 + 0x70020016, // 0030 JMP #0048 + 0x68080000, // 0031 GETUPV R2 U0 + 0x540E0008, // 0032 LDINT R3 9 + 0x1C080403, // 0033 EQ R2 R2 R3 + 0x780A0007, // 0034 JMPF R2 #003D + 0x68080001, // 0035 GETUPV R2 U1 + 0x8C080504, // 0036 GETMET R2 R2 K4 + 0x68100002, // 0037 GETUPV R4 U2 + 0x88100907, // 0038 GETMBR R4 R4 K7 + 0x58140000, // 0039 LDCONST R5 K0 + 0x7C080600, // 003A CALL R2 3 + 0x80040400, // 003B RET 1 R2 + 0x7002000A, // 003C JMP #0048 + 0x68080000, // 003D GETUPV R2 U0 + 0x540EFFFB, // 003E LDINT R3 65532 + 0x1C080403, // 003F EQ R2 R2 R3 + 0x780A0006, // 0040 JMPF R2 #0048 + 0x68080001, // 0041 GETUPV R2 U1 + 0x8C080504, // 0042 GETMET R2 R2 K4 + 0x68100002, // 0043 GETUPV R4 U2 + 0x88100908, // 0044 GETMBR R4 R4 K8 + 0x58140003, // 0045 LDCONST R5 K3 + 0x7C080600, // 0046 CALL R2 3 + 0x80040400, // 0047 RET 1 R2 + 0x4C080000, // 0048 LDNIL R2 + 0x80040400, // 0049 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[93]) { /* code */ + 0xB8124600, // 0000 GETNGBL R4 K35 + 0x88100924, // 0001 GETMBR R4 R4 K36 + 0x88140525, // 0002 GETMBR R5 R2 K37 + 0x88180526, // 0003 GETMBR R6 R2 K38 + 0x4C1C0000, // 0004 LDNIL R7 + 0x84200000, // 0005 CLOSURE R8 P0 + 0x5426005A, // 0006 LDINT R9 91 + 0x1C240A09, // 0007 EQ R9 R5 R9 + 0x78260008, // 0008 JMPF R9 #0012 + 0x1C240D07, // 0009 EQ R9 R6 K7 + 0x78260005, // 000A JMPF R9 #0011 + 0x8C240727, // 000B GETMET R9 R3 K39 + 0x882C0928, // 000C GETMBR R11 R4 K40 + 0x88300112, // 000D GETMBR R12 R0 K18 + 0x7C240600, // 000E CALL R9 3 + 0xA0000000, // 000F CLOSE R0 + 0x80041200, // 0010 RET 1 R9 + 0x70020040, // 0011 JMP #0053 + 0x5426040C, // 0012 LDINT R9 1037 + 0x1C240A09, // 0013 EQ R9 R5 R9 + 0x78260007, // 0014 JMPF R9 #001D + 0x5C241000, // 0015 MOVE R9 R8 + 0x88280104, // 0016 GETMBR R10 R0 K4 + 0x7C240200, // 0017 CALL R9 1 + 0x5C1C1200, // 0018 MOVE R7 R9 + 0x78260001, // 0019 JMPF R9 #001C + 0xA0000000, // 001A CLOSE R0 + 0x80040E00, // 001B RET 1 R7 + 0x70020035, // 001C JMP #0053 + 0x5426042B, // 001D LDINT R9 1068 + 0x1C240A09, // 001E EQ R9 R5 R9 + 0x78260007, // 001F JMPF R9 #0028 + 0x5C241000, // 0020 MOVE R9 R8 + 0x88280108, // 0021 GETMBR R10 R0 K8 + 0x7C240200, // 0022 CALL R9 1 + 0x5C1C1200, // 0023 MOVE R7 R9 + 0x78260001, // 0024 JMPF R9 #0027 + 0xA0000000, // 0025 CLOSE R0 + 0x80040E00, // 0026 RET 1 R7 + 0x7002002A, // 0027 JMP #0053 + 0x54260429, // 0028 LDINT R9 1066 + 0x1C240A09, // 0029 EQ R9 R5 R9 + 0x78260007, // 002A JMPF R9 #0033 + 0x5C241000, // 002B MOVE R9 R8 + 0x8828010A, // 002C GETMBR R10 R0 K10 + 0x7C240200, // 002D CALL R9 1 + 0x5C1C1200, // 002E MOVE R7 R9 + 0x78260001, // 002F JMPF R9 #0032 + 0xA0000000, // 0030 CLOSE R0 + 0x80040E00, // 0031 RET 1 R7 + 0x7002001F, // 0032 JMP #0053 + 0x5426042C, // 0033 LDINT R9 1069 + 0x1C240A09, // 0034 EQ R9 R5 R9 + 0x78260007, // 0035 JMPF R9 #003E + 0x5C241000, // 0036 MOVE R9 R8 + 0x8828010C, // 0037 GETMBR R10 R0 K12 + 0x7C240200, // 0038 CALL R9 1 + 0x5C1C1200, // 0039 MOVE R7 R9 + 0x78260001, // 003A JMPF R9 #003D + 0xA0000000, // 003B CLOSE R0 + 0x80040E00, // 003C RET 1 R7 + 0x70020014, // 003D JMP #0053 + 0x5426042D, // 003E LDINT R9 1070 + 0x1C240A09, // 003F EQ R9 R5 R9 + 0x78260007, // 0040 JMPF R9 #0049 + 0x5C241000, // 0041 MOVE R9 R8 + 0x8828010E, // 0042 GETMBR R10 R0 K14 + 0x7C240200, // 0043 CALL R9 1 + 0x5C1C1200, // 0044 MOVE R7 R9 + 0x78260001, // 0045 JMPF R9 #0048 + 0xA0000000, // 0046 CLOSE R0 + 0x80040E00, // 0047 RET 1 R7 + 0x70020009, // 0048 JMP #0053 + 0x54260412, // 0049 LDINT R9 1043 + 0x1C240A09, // 004A EQ R9 R5 R9 + 0x78260006, // 004B JMPF R9 #0053 + 0x5C241000, // 004C MOVE R9 R8 + 0x8828011F, // 004D GETMBR R10 R0 K31 + 0x7C240200, // 004E CALL R9 1 + 0x5C1C1200, // 004F MOVE R7 R9 + 0x78260001, // 0050 JMPF R9 #0053 + 0xA0000000, // 0051 CLOSE R0 + 0x80040E00, // 0052 RET 1 R7 + 0x60240003, // 0053 GETGBL R9 G3 + 0x5C280000, // 0054 MOVE R10 R0 + 0x7C240200, // 0055 CALL R9 1 + 0x8C241329, // 0056 GETMET R9 R9 K41 + 0x5C2C0200, // 0057 MOVE R11 R1 + 0x5C300400, // 0058 MOVE R12 R2 + 0x5C340600, // 0059 MOVE R13 R3 + 0x7C240800, // 005A CALL R9 4 + 0xA0000000, // 005B CLOSE R0 + 0x80041200, // 005C RET 1 R9 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Air_Quality +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Sensor_Air_Quality, + 8, + &be_class_Matter_Plugin_Device, + be_nested_map(26, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(shadow_pm2_5, -1), be_const_var(3) }, + { be_const_key_weak(prefix, -1), be_const_var(0) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_update_virtual_closure) }, + { be_const_key_weak(shadow_no2, 5), be_const_var(6) }, + { be_const_key_weak(read_attribute, 8), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute_closure) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Device_X20key_X20_X28ex_X3A_X20SCD40_X29) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_sensors_closure) }, + { be_const_key_weak(parse_configuration, 23), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_configuration_closure) }, + { be_const_key_weak(shadow_air_quality, 17), be_const_var(1) }, + { be_const_key_weak(compute_air_quality, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_compute_air_quality_closure) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(1068, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1069, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1070, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, 8), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1037, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(91, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 6), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1066, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1043, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(7, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(AirQuality), + be_nested_str_weak(CO2), + be_nested_str_weak(PM1), + be_nested_str_weak(PM2_X2E5), + be_nested_str_weak(PM10), + be_nested_str_weak(TVOC), + be_nested_str_weak(NO2), + })) ) } )) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(44, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(airquality) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(airquality) }, + { be_const_key_weak(DISPLAY_NAME, 22), be_nested_str_weak(Air_X20Quality) }, + { be_const_key_weak(UPDATE_TIME, 21), be_const_int(10000) }, + { be_const_key_weak(shadow_pm10, 6), be_const_var(4) }, + { be_const_key_weak(JSON_NAME, 16), be_nested_str_weak(AirQuality) }, + { be_const_key_weak(shadow_co2, 14), be_const_var(5) }, + { be_const_key_weak(shadow_tvoc, -1), be_const_var(7) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_init_closure) }, + { be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_status_closure) }, + { be_const_key_weak(shadow_pm1, 4), be_const_var(2) }, + { be_const_key_weak(_parse_sensor_entry, 0), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry_closure) }, + })), + be_str_weak(Matter_Plugin_Sensor_Air_Quality) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Boolean.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Boolean.h new file mode 100644 index 000000000..d0d0585ff --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_Boolean.h @@ -0,0 +1,339 @@ +/* Solidification of Matter_Plugin_2_Sensor_Boolean.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Boolean' ktab size: 21, total: 32 (saved 88 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Boolean[21] = { + /* K0 */ be_nested_str_weak(update_shadow), + /* K1 */ be_nested_str_weak(VIRTUAL), + /* K2 */ be_nested_str_weak(Switch), + /* K3 */ be_nested_str_weak(tasmota_switch_index), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(cmd), + /* K6 */ be_nested_str_weak(Status_X2010), + /* K7 */ be_nested_str_weak(find), + /* K8 */ be_nested_str_weak(StatusSNS), + /* K9 */ be_nested_str_weak(contains), + /* K10 */ be_nested_str_weak(ON), + /* K11 */ be_nested_str_weak(shadow_bool_value), + /* K12 */ be_nested_str_weak(value_updated), + /* K13 */ be_nested_str_weak(init), + /* K14 */ be_nested_str_weak(parse_configuration), + /* K15 */ be_nested_str_weak(ARG), + /* K16 */ be_const_int(1), + /* K17 */ be_const_int(0), + /* K18 */ be_nested_str_weak(_parse_update_virtual), + /* K19 */ be_nested_str_weak(JSON_NAME), + /* K20 */ be_nested_str_weak(update_virtual), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_update_shadow, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x88040101, // 0005 GETMBR R1 R0 K1 + 0x74060020, // 0006 JMPT R1 #0028 + 0x60040008, // 0007 GETGBL R1 G8 + 0x88080103, // 0008 GETMBR R2 R0 K3 + 0x7C040200, // 0009 CALL R1 1 + 0x00060401, // 000A ADD R1 K2 R1 + 0xB80A0800, // 000B GETNGBL R2 K4 + 0x8C080505, // 000C GETMET R2 R2 K5 + 0x58100006, // 000D LDCONST R4 K6 + 0x50140200, // 000E LDBOOL R5 1 0 + 0x7C080600, // 000F CALL R2 3 + 0x4C0C0000, // 0010 LDNIL R3 + 0x200C0403, // 0011 NE R3 R2 R3 + 0x780E0003, // 0012 JMPF R3 #0017 + 0x8C0C0507, // 0013 GETMET R3 R2 K7 + 0x58140008, // 0014 LDCONST R5 K8 + 0x7C0C0400, // 0015 CALL R3 2 + 0x5C080600, // 0016 MOVE R2 R3 + 0x4C0C0000, // 0017 LDNIL R3 + 0x200C0403, // 0018 NE R3 R2 R3 + 0x780E000D, // 0019 JMPF R3 #0028 + 0x8C0C0509, // 001A GETMET R3 R2 K9 + 0x5C140200, // 001B MOVE R5 R1 + 0x7C0C0400, // 001C CALL R3 2 + 0x780E0009, // 001D JMPF R3 #0028 + 0x8C0C0507, // 001E GETMET R3 R2 K7 + 0x5C140200, // 001F MOVE R5 R1 + 0x7C0C0400, // 0020 CALL R3 2 + 0x1C0C070A, // 0021 EQ R3 R3 K10 + 0x8810010B, // 0022 GETMBR R4 R0 K11 + 0x20100803, // 0023 NE R4 R4 R3 + 0x78120001, // 0024 JMPF R4 #0027 + 0x8C10010C, // 0025 GETMET R4 R0 K12 + 0x7C100200, // 0026 CALL R4 1 + 0x90021603, // 0027 SETMBR R0 K11 R3 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_value_updated, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C10090D, // 0003 GETMET R4 R4 K13 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x50100000, // 0008 LDBOOL R4 0 0 + 0x90021604, // 0009 SETMBR R0 K11 R4 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_configuration, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08050E, // 0003 GETMET R2 R2 K14 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x60080009, // 0006 GETGBL R2 G9 + 0x8C0C0307, // 0007 GETMET R3 R1 K7 + 0x8814010F, // 0008 GETMBR R5 R0 K15 + 0x58180010, // 0009 LDCONST R6 K16 + 0x7C0C0600, // 000A CALL R3 3 + 0x7C080200, // 000B CALL R2 1 + 0x90020602, // 000C SETMBR R0 K3 R2 + 0x88080103, // 000D GETMBR R2 R0 K3 + 0x18080511, // 000E LE R2 R2 K17 + 0x780A0000, // 000F JMPF R2 #0011 + 0x90020710, // 0010 SETMBR R0 K3 K16 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_update_virtual, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8C080112, // 0000 GETMET R2 R0 K18 + 0x5C100200, // 0001 MOVE R4 R1 + 0x88140113, // 0002 GETMBR R5 R0 K19 + 0x8818010B, // 0003 GETMBR R6 R0 K11 + 0x601C0017, // 0004 GETGBL R7 G23 + 0x4C200000, // 0005 LDNIL R8 + 0x4C240000, // 0006 LDNIL R9 + 0x7C080E00, // 0007 CALL R2 7 + 0x90021602, // 0008 SETMBR R0 K11 R2 + 0x8C08010C, // 0009 GETMET R2 R0 K12 + 0x7C080200, // 000A CALL R2 1 + 0x60080003, // 000B GETGBL R2 G3 + 0x5C0C0000, // 000C MOVE R3 R0 + 0x7C080200, // 000D CALL R2 1 + 0x8C080514, // 000E GETMET R2 R2 K20 + 0x5C100200, // 000F MOVE R4 R1 + 0x7C080400, // 0010 CALL R2 2 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_status, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x540E0009, // 0000 LDINT R3 10 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0015, // 0002 JMPF R3 #0019 + 0x500C0000, // 0003 LDBOOL R3 0 0 + 0x8C100307, // 0004 GETMET R4 R1 K7 + 0x60180008, // 0005 GETGBL R6 G8 + 0x881C0103, // 0006 GETMBR R7 R0 K3 + 0x7C180200, // 0007 CALL R6 1 + 0x001A0406, // 0008 ADD R6 K2 R6 + 0x7C100400, // 0009 CALL R4 2 + 0x1C10090A, // 000A EQ R4 R4 K10 + 0x5C0C0800, // 000B MOVE R3 R4 + 0x8810010B, // 000C GETMBR R4 R0 K11 + 0x4C140000, // 000D LDNIL R5 + 0x20100805, // 000E NE R4 R4 R5 + 0x78120007, // 000F JMPF R4 #0018 + 0x8810010B, // 0010 GETMBR R4 R0 K11 + 0x60140017, // 0011 GETGBL R5 G23 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C140200, // 0013 CALL R5 1 + 0x20100805, // 0014 NE R4 R4 R5 + 0x78120001, // 0015 JMPF R4 #0018 + 0x8C10010C, // 0016 GETMET R4 R0 K12 + 0x7C100200, // 0017 CALL R4 1 + 0x90021603, // 0018 SETMBR R0 K11 R3 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Boolean +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Sensor_Boolean, + 2, + &be_class_Matter_Plugin_Device, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) }, + { be_const_key_weak(update_shadow, 6), be_const_closure(class_Matter_Plugin_Sensor_Boolean_update_shadow_closure) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_value_updated_closure) }, + { be_const_key_weak(init, 5), be_const_closure(class_Matter_Plugin_Sensor_Boolean_init_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Sensor_Boolean__X3Clambda_X3E_closure) }, + { be_const_key_weak(parse_status, 11), be_const_closure(class_Matter_Plugin_Sensor_Boolean_parse_status_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_parse_configuration_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_update_virtual_closure) }, + { be_const_key_weak(shadow_bool_value, 7), be_const_var(1) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, + })), + be_str_weak(Matter_Plugin_Sensor_Boolean) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_GenericSwitch_Btn.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_GenericSwitch_Btn.h new file mode 100644 index 000000000..36cabbced --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Sensor_GenericSwitch_Btn.h @@ -0,0 +1,407 @@ +/* Solidification of Matter_Plugin_2_Sensor_GenericSwitch_Btn.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_GenericSwitch_Btn' ktab size: 25, total: 36 (saved 88 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn[25] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(set), + /* K6 */ be_nested_str_weak(U1), + /* K7 */ be_const_int(2), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(set_or_nil), + /* K10 */ be_nested_str_weak(shadow_position), + /* K11 */ be_nested_str_weak(U4), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(attribute_updated), + /* K14 */ be_nested_str_weak(parse_configuration), + /* K15 */ be_nested_str_weak(tasmota_switch_index), + /* K16 */ be_nested_str_weak(find), + /* K17 */ be_nested_str_weak(ARG), + /* K18 */ be_nested_str_weak(_X2C_X22Switch_X22_X3A_X25s), + /* K19 */ be_nested_str_weak(shadow_onoff), + /* K20 */ be_nested_str_weak(set_position), + /* K21 */ be_nested_str_weak(publish_event), + /* K22 */ be_nested_str_weak(EVENT_INFO), + /* K23 */ be_nested_str_weak(Matter_TLV_item), + /* K24 */ be_const_int(3), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_GenericSwitch_Btn; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E003A, // 0004 LDINT R7 59 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E001F, // 0006 JMPF R7 #0027 + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E0005, // 0008 JMPF R7 #000F + 0x8C1C0705, // 0009 GETMET R7 R3 K5 + 0x88240906, // 000A GETMBR R9 R4 K6 + 0x58280007, // 000B LDCONST R10 K7 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x70020017, // 000E JMP #0027 + 0x1C1C0D08, // 000F EQ R7 R6 K8 + 0x781E0005, // 0010 JMPF R7 #0017 + 0x8C1C0709, // 0011 GETMET R7 R3 K9 + 0x88240906, // 0012 GETMBR R9 R4 K6 + 0x8828010A, // 0013 GETMBR R10 R0 K10 + 0x7C1C0600, // 0014 CALL R7 3 + 0x80040E00, // 0015 RET 1 R7 + 0x7002000F, // 0016 JMP #0027 + 0x1C1C0D07, // 0017 EQ R7 R6 K7 + 0x781E0005, // 0018 JMPF R7 #001F + 0x8C1C0705, // 0019 GETMET R7 R3 K5 + 0x88240906, // 001A GETMBR R9 R4 K6 + 0x542A0004, // 001B LDINT R10 5 + 0x7C1C0600, // 001C CALL R7 3 + 0x80040E00, // 001D RET 1 R7 + 0x70020007, // 001E JMP #0027 + 0x541EFFFB, // 001F LDINT R7 65532 + 0x1C1C0C07, // 0020 EQ R7 R6 R7 + 0x781E0004, // 0021 JMPF R7 #0027 + 0x8C1C0705, // 0022 GETMET R7 R3 K5 + 0x8824090B, // 0023 GETMBR R9 R4 K11 + 0x542A0015, // 0024 LDINT R10 22 + 0x7C1C0600, // 0025 CALL R7 3 + 0x80040E00, // 0026 RET 1 R7 + 0x601C0003, // 0027 GETGBL R7 G3 + 0x5C200000, // 0028 MOVE R8 R0 + 0x7C1C0200, // 0029 CALL R7 1 + 0x8C1C0F0C, // 002A GETMET R7 R7 K12 + 0x5C240200, // 002B MOVE R9 R1 + 0x5C280400, // 002C MOVE R10 R2 + 0x5C2C0600, // 002D MOVE R11 R3 + 0x7C1C0800, // 002E CALL R7 4 + 0x80040E00, // 002F RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_position +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_set_position, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(set_position), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8808010A, // 0000 GETMBR R2 R0 K10 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0004, // 0002 JMPF R2 #0008 + 0x8C08010D, // 0003 GETMET R2 R0 K13 + 0x5412003A, // 0004 LDINT R4 59 + 0x58140008, // 0005 LDCONST R5 K8 + 0x7C080600, // 0006 CALL R2 3 + 0x90021401, // 0007 SETMBR R0 K10 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_parse_configuration, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08050E, // 0003 GETMET R2 R2 K14 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x60080009, // 0006 GETGBL R2 G9 + 0x8C0C0310, // 0007 GETMET R3 R1 K16 + 0x88140111, // 0008 GETMBR R5 R0 K17 + 0x58180008, // 0009 LDCONST R6 K8 + 0x7C0C0600, // 000A CALL R3 3 + 0x7C080200, // 000B CALL R2 1 + 0x90021E02, // 000C SETMBR R0 K15 R2 + 0x8808010F, // 000D GETMBR R2 R0 K15 + 0x18080504, // 000E LE R2 R2 K4 + 0x780A0000, // 000F JMPF R2 #0011 + 0x90021F08, // 0010 SETMBR R0 K15 K8 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: append_state_json +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_append_state_json, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(append_state_json), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60040018, // 0000 GETGBL R1 G24 + 0x58080012, // 0001 LDCONST R2 K18 + 0x600C0009, // 0002 GETGBL R3 G9 + 0x88100113, // 0003 GETMBR R4 R0 K19 + 0x7C0C0200, // 0004 CALL R3 1 + 0x7C040400, // 0005 CALL R1 2 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: button_handler +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_button_handler, /* name */ + be_nested_proto( + 15, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */ + be_str_weak(button_handler), + &be_const_str_solidified, + ( &(const binstruction[105]) { /* code */ + 0x1C140504, // 0000 EQ R5 R2 K4 + 0x74160001, // 0001 JMPT R5 #0004 + 0x1C140508, // 0002 EQ R5 R2 K8 + 0x78160002, // 0003 JMPF R5 #0007 + 0x8C140114, // 0004 GETMET R5 R0 K20 + 0x5C1C0600, // 0005 MOVE R7 R3 + 0x7C140400, // 0006 CALL R5 2 + 0x1C140508, // 0007 EQ R5 R2 K8 + 0x78160040, // 0008 JMPF R5 #004A + 0x780E0010, // 0009 JMPF R3 #001B + 0x8C140115, // 000A GETMET R5 R0 K21 + 0x541E003A, // 000B LDINT R7 59 + 0x58200008, // 000C LDCONST R8 K8 + 0xB8260000, // 000D GETNGBL R9 K0 + 0x88241316, // 000E GETMBR R9 R9 K22 + 0xB82A0000, // 000F GETNGBL R10 K0 + 0x88281501, // 0010 GETMBR R10 R10 K1 + 0x8C281517, // 0011 GETMET R10 R10 K23 + 0x7C280200, // 0012 CALL R10 1 + 0x8C281505, // 0013 GETMET R10 R10 K5 + 0xB8320000, // 0014 GETNGBL R12 K0 + 0x88301901, // 0015 GETMBR R12 R12 K1 + 0x88301906, // 0016 GETMBR R12 R12 K6 + 0x58340008, // 0017 LDCONST R13 K8 + 0x7C280600, // 0018 CALL R10 3 + 0x7C140A00, // 0019 CALL R5 5 + 0x7002000F, // 001A JMP #002B + 0x8C140115, // 001B GETMET R5 R0 K21 + 0x541E003A, // 001C LDINT R7 59 + 0x58200018, // 001D LDCONST R8 K24 + 0xB8260000, // 001E GETNGBL R9 K0 + 0x88241316, // 001F GETMBR R9 R9 K22 + 0xB82A0000, // 0020 GETNGBL R10 K0 + 0x88281501, // 0021 GETMBR R10 R10 K1 + 0x8C281517, // 0022 GETMET R10 R10 K23 + 0x7C280200, // 0023 CALL R10 1 + 0x8C281505, // 0024 GETMET R10 R10 K5 + 0xB8320000, // 0025 GETNGBL R12 K0 + 0x88301901, // 0026 GETMBR R12 R12 K1 + 0x88301906, // 0027 GETMBR R12 R12 K6 + 0x58340008, // 0028 LDCONST R13 K8 + 0x7C280600, // 0029 CALL R10 3 + 0x7C140A00, // 002A CALL R5 5 + 0x1C140708, // 002B EQ R5 R3 K8 + 0x7816001B, // 002C JMPF R5 #0049 + 0x24140904, // 002D GT R5 R4 K4 + 0x78160019, // 002E JMPF R5 #0049 + 0x8C140115, // 002F GETMET R5 R0 K21 + 0x541E003A, // 0030 LDINT R7 59 + 0x54220004, // 0031 LDINT R8 5 + 0xB8260000, // 0032 GETNGBL R9 K0 + 0x88241316, // 0033 GETMBR R9 R9 K22 + 0xB82A0000, // 0034 GETNGBL R10 K0 + 0x88281501, // 0035 GETMBR R10 R10 K1 + 0x8C281517, // 0036 GETMET R10 R10 K23 + 0x7C280200, // 0037 CALL R10 1 + 0x8C281505, // 0038 GETMET R10 R10 K5 + 0xB8320000, // 0039 GETNGBL R12 K0 + 0x88301901, // 003A GETMBR R12 R12 K1 + 0x88301906, // 003B GETMBR R12 R12 K6 + 0x58340008, // 003C LDCONST R13 K8 + 0x7C280600, // 003D CALL R10 3 + 0xB82E0000, // 003E GETNGBL R11 K0 + 0x882C1701, // 003F GETMBR R11 R11 K1 + 0x8C2C1717, // 0040 GETMET R11 R11 K23 + 0x7C2C0200, // 0041 CALL R11 1 + 0x8C2C1705, // 0042 GETMET R11 R11 K5 + 0xB8360000, // 0043 GETNGBL R13 K0 + 0x88341B01, // 0044 GETMBR R13 R13 K1 + 0x88341B06, // 0045 GETMBR R13 R13 K6 + 0x00380908, // 0046 ADD R14 R4 K8 + 0x7C2C0600, // 0047 CALL R11 3 + 0x7C140C00, // 0048 CALL R5 6 + 0x7002001D, // 0049 JMP #0068 + 0x1C140507, // 004A EQ R5 R2 K7 + 0x7816001B, // 004B JMPF R5 #0068 + 0x24140904, // 004C GT R5 R4 K4 + 0x78160019, // 004D JMPF R5 #0068 + 0x8C140115, // 004E GETMET R5 R0 K21 + 0x541E003A, // 004F LDINT R7 59 + 0x54220005, // 0050 LDINT R8 6 + 0xB8260000, // 0051 GETNGBL R9 K0 + 0x88241316, // 0052 GETMBR R9 R9 K22 + 0xB82A0000, // 0053 GETNGBL R10 K0 + 0x88281501, // 0054 GETMBR R10 R10 K1 + 0x8C281517, // 0055 GETMET R10 R10 K23 + 0x7C280200, // 0056 CALL R10 1 + 0x8C281505, // 0057 GETMET R10 R10 K5 + 0xB8320000, // 0058 GETNGBL R12 K0 + 0x88301901, // 0059 GETMBR R12 R12 K1 + 0x88301906, // 005A GETMBR R12 R12 K6 + 0x58340008, // 005B LDCONST R13 K8 + 0x7C280600, // 005C CALL R10 3 + 0xB82E0000, // 005D GETNGBL R11 K0 + 0x882C1701, // 005E GETMBR R11 R11 K1 + 0x8C2C1717, // 005F GETMET R11 R11 K23 + 0x7C2C0200, // 0060 CALL R11 1 + 0x8C2C1705, // 0061 GETMET R11 R11 K5 + 0xB8360000, // 0062 GETNGBL R13 K0 + 0x88341B01, // 0063 GETMBR R13 R13 K1 + 0x88341B06, // 0064 GETMBR R13 R13 K6 + 0x5C380800, // 0065 MOVE R14 R4 + 0x7C2C0600, // 0066 CALL R11 3 + 0x7C140C00, // 0067 CALL R5 6 + 0x80000000, // 0068 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_GenericSwitch_Btn +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Sensor_GenericSwitch_Btn, + 2, + &be_class_Matter_Plugin_Device, + be_nested_map(14, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(read_attribute, 4), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute_closure) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(button) }, + { be_const_key_weak(ARG_TYPE, 6), be_const_static_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn__X3Clambda_X3E_closure) }, + { be_const_key_weak(TYPE, 9), be_nested_str_weak(gensw_btn) }, + { be_const_key_weak(button_handler, 13), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_button_handler_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Generic_X20Switch_X2FButton) }, + { be_const_key_weak(append_state_json, 12), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_append_state_json_closure) }, + { be_const_key_weak(set_position, -1), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_set_position_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_parse_configuration_closure) }, + { be_const_key_weak(shadow_position, -1), be_const_var(1) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(15, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(ARG_HINT, 8), be_nested_str_weak(Button_X3Cx_X3E_X20number) }, + { be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, 1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(59, 0), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + })), + be_str_weak(Matter_Plugin_Sensor_GenericSwitch_Btn) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Shutter.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Shutter.h new file mode 100644 index 000000000..7f968fc68 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_2_Shutter.h @@ -0,0 +1,662 @@ +/* Solidification of Matter_Plugin_2_Shutter.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Shutter' ktab size: 49, total: 80 (saved 248 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Shutter[49] = { + /* K0 */ be_nested_str_weak(parse_configuration), + /* K1 */ be_nested_str_weak(tasmota_shutter_index), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(ARG), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(shadow_shutter_inverted), + /* K6 */ be_nested_str_weak(light), + /* K7 */ be_nested_str_weak(matter), + /* K8 */ be_nested_str_weak(TLV), + /* K9 */ be_nested_str_weak(cluster), + /* K10 */ be_nested_str_weak(command), + /* K11 */ be_nested_str_weak(update_shadow_lazy), + /* K12 */ be_nested_str_weak(tasmota), + /* K13 */ be_nested_str_weak(cmd), + /* K14 */ be_nested_str_weak(ShutterStopOpen), + /* K15 */ be_const_int(1), + /* K16 */ be_nested_str_weak(update_shadow), + /* K17 */ be_nested_str_weak(ShutterStopClose), + /* K18 */ be_const_int(2), + /* K19 */ be_nested_str_weak(ShutterStop), + /* K20 */ be_nested_str_weak(log), + /* K21 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20), + /* K22 */ be_nested_str_weak(findsubval), + /* K23 */ be_nested_str_weak(ShutterPosition), + /* K24 */ be_nested_str_weak(_X20), + /* K25 */ be_nested_str_weak(pos_X25_X3A), + /* K26 */ be_nested_str_weak(invoke_request), + /* K27 */ be_nested_str_weak(attribute), + /* K28 */ be_nested_str_weak(update_inverted), + /* K29 */ be_nested_str_weak(set), + /* K30 */ be_nested_str_weak(U1), + /* K31 */ be_nested_str_weak(U2), + /* K32 */ be_nested_str_weak(shadow_shutter_pos), + /* K33 */ be_nested_str_weak(set_or_nil), + /* K34 */ be_nested_str_weak(shadow_shutter_direction), + /* K35 */ be_nested_str_weak(shadow_shutter_target), + /* K36 */ be_nested_str_weak(read_attribute), + /* K37 */ be_nested_str_weak(Shutter), + /* K38 */ be_nested_str_weak(contains), + /* K39 */ be_nested_str_weak(Position), + /* K40 */ be_nested_str_weak(attribute_updated), + /* K41 */ be_nested_str_weak(Direction), + /* K42 */ be_nested_str_weak(Target), + /* K43 */ be_nested_str_weak(Status_X2013), + /* K44 */ be_nested_str_weak(StatusSHT), + /* K45 */ be_nested_str_weak(SHT), + /* K46 */ be_nested_str_weak(Opt), + /* K47 */ be_nested_str_weak(VIRTUAL), + /* K48 */ be_nested_str_weak(parse_sensors), +}; + + +extern const bclass be_class_Matter_Plugin_Shutter; + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_parse_configuration, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080302, // 0006 GETMET R2 R1 K2 + 0x88100103, // 0007 GETMBR R4 R0 K3 + 0x7C080400, // 0008 CALL R2 2 + 0x90020202, // 0009 SETMBR R0 K1 R2 + 0x88080101, // 000A GETMBR R2 R0 K1 + 0x4C0C0000, // 000B LDNIL R3 + 0x1C080403, // 000C EQ R2 R2 R3 + 0x780A0000, // 000D JMPF R2 #000F + 0x90020304, // 000E SETMBR R0 K1 K4 + 0x5409FFFE, // 000F LDINT R2 -1 + 0x90020A02, // 0010 SETMBR R0 K5 R2 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */ + be_nested_proto( + 14, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0xA4120C00, // 0000 IMPORT R4 K6 + 0xB8160E00, // 0001 GETNGBL R5 K7 + 0x88140B08, // 0002 GETMBR R5 R5 K8 + 0x88180709, // 0003 GETMBR R6 R3 K9 + 0x881C070A, // 0004 GETMBR R7 R3 K10 + 0x54220101, // 0005 LDINT R8 258 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x78220060, // 0007 JMPF R8 #0069 + 0x8C20010B, // 0008 GETMET R8 R0 K11 + 0x7C200200, // 0009 CALL R8 1 + 0x1C200F04, // 000A EQ R8 R7 K4 + 0x7822000D, // 000B JMPF R8 #001A + 0xB8221800, // 000C GETNGBL R8 K12 + 0x8C20110D, // 000D GETMET R8 R8 K13 + 0x60280008, // 000E GETGBL R10 G8 + 0x882C0101, // 000F GETMBR R11 R0 K1 + 0x002C170F, // 0010 ADD R11 R11 K15 + 0x7C280200, // 0011 CALL R10 1 + 0x002A1C0A, // 0012 ADD R10 K14 R10 + 0x502C0200, // 0013 LDBOOL R11 1 0 + 0x7C200600, // 0014 CALL R8 3 + 0x8C200110, // 0015 GETMET R8 R0 K16 + 0x7C200200, // 0016 CALL R8 1 + 0x50200200, // 0017 LDBOOL R8 1 0 + 0x80041000, // 0018 RET 1 R8 + 0x7002004D, // 0019 JMP #0068 + 0x1C200F0F, // 001A EQ R8 R7 K15 + 0x7822000D, // 001B JMPF R8 #002A + 0xB8221800, // 001C GETNGBL R8 K12 + 0x8C20110D, // 001D GETMET R8 R8 K13 + 0x60280008, // 001E GETGBL R10 G8 + 0x882C0101, // 001F GETMBR R11 R0 K1 + 0x002C170F, // 0020 ADD R11 R11 K15 + 0x7C280200, // 0021 CALL R10 1 + 0x002A220A, // 0022 ADD R10 K17 R10 + 0x502C0200, // 0023 LDBOOL R11 1 0 + 0x7C200600, // 0024 CALL R8 3 + 0x8C200110, // 0025 GETMET R8 R0 K16 + 0x7C200200, // 0026 CALL R8 1 + 0x50200200, // 0027 LDBOOL R8 1 0 + 0x80041000, // 0028 RET 1 R8 + 0x7002003D, // 0029 JMP #0068 + 0x1C200F12, // 002A EQ R8 R7 K18 + 0x7822000D, // 002B JMPF R8 #003A + 0xB8221800, // 002C GETNGBL R8 K12 + 0x8C20110D, // 002D GETMET R8 R8 K13 + 0x60280008, // 002E GETGBL R10 G8 + 0x882C0101, // 002F GETMBR R11 R0 K1 + 0x002C170F, // 0030 ADD R11 R11 K15 + 0x7C280200, // 0031 CALL R10 1 + 0x002A260A, // 0032 ADD R10 K19 R10 + 0x502C0200, // 0033 LDBOOL R11 1 0 + 0x7C200600, // 0034 CALL R8 3 + 0x8C200110, // 0035 GETMET R8 R0 K16 + 0x7C200200, // 0036 CALL R8 1 + 0x50200200, // 0037 LDBOOL R8 1 0 + 0x80041000, // 0038 RET 1 R8 + 0x7002002D, // 0039 JMP #0068 + 0x54220004, // 003A LDINT R8 5 + 0x1C200E08, // 003B EQ R8 R7 R8 + 0x7822002A, // 003C JMPF R8 #0068 + 0xB8222800, // 003D GETNGBL R8 K20 + 0x60240008, // 003E GETGBL R9 G8 + 0x5C280400, // 003F MOVE R10 R2 + 0x7C240200, // 0040 CALL R9 1 + 0x00262A09, // 0041 ADD R9 K21 R9 + 0x58280012, // 0042 LDCONST R10 K18 + 0x7C200400, // 0043 CALL R8 2 + 0x8C200516, // 0044 GETMET R8 R2 K22 + 0x58280004, // 0045 LDCONST R10 K4 + 0x7C200400, // 0046 CALL R8 2 + 0x4C240000, // 0047 LDNIL R9 + 0x20241009, // 0048 NE R9 R8 R9 + 0x7826001B, // 0049 JMPF R9 #0066 + 0x54260063, // 004A LDINT R9 100 + 0x0C201009, // 004B DIV R8 R8 R9 + 0x88240105, // 004C GETMBR R9 R0 K5 + 0x1C241304, // 004D EQ R9 R9 K4 + 0x78260001, // 004E JMPF R9 #0051 + 0x54260063, // 004F LDINT R9 100 + 0x04201208, // 0050 SUB R8 R9 R8 + 0xB8261800, // 0051 GETNGBL R9 K12 + 0x8C24130D, // 0052 GETMET R9 R9 K13 + 0x602C0008, // 0053 GETGBL R11 G8 + 0x88300101, // 0054 GETMBR R12 R0 K1 + 0x0030190F, // 0055 ADD R12 R12 K15 + 0x7C2C0200, // 0056 CALL R11 1 + 0x002E2E0B, // 0057 ADD R11 K23 R11 + 0x002C1718, // 0058 ADD R11 R11 K24 + 0x60300008, // 0059 GETGBL R12 G8 + 0x5C341000, // 005A MOVE R13 R8 + 0x7C300200, // 005B CALL R12 1 + 0x002C160C, // 005C ADD R11 R11 R12 + 0x50300200, // 005D LDBOOL R12 1 0 + 0x7C240600, // 005E CALL R9 3 + 0x60240008, // 005F GETGBL R9 G8 + 0x5C281000, // 0060 MOVE R10 R8 + 0x7C240200, // 0061 CALL R9 1 + 0x00263209, // 0062 ADD R9 K25 R9 + 0x900E2809, // 0063 SETMBR R3 K20 R9 + 0x8C240110, // 0064 GETMET R9 R0 K16 + 0x7C240200, // 0065 CALL R9 1 + 0x50240200, // 0066 LDBOOL R9 1 0 + 0x80041200, // 0067 RET 1 R9 + 0x70020008, // 0068 JMP #0072 + 0x60200003, // 0069 GETGBL R8 G3 + 0x5C240000, // 006A MOVE R9 R0 + 0x7C200200, // 006B CALL R8 1 + 0x8C20111A, // 006C GETMET R8 R8 K26 + 0x5C280200, // 006D MOVE R10 R1 + 0x5C2C0400, // 006E MOVE R11 R2 + 0x5C300600, // 006F MOVE R12 R3 + 0x7C200800, // 0070 CALL R8 4 + 0x80041000, // 0071 RET 1 R8 + 0x80000000, // 0072 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[145]) { /* code */ + 0xB8120E00, // 0000 GETNGBL R4 K7 + 0x88100908, // 0001 GETMBR R4 R4 K8 + 0x88140509, // 0002 GETMBR R5 R2 K9 + 0x8818051B, // 0003 GETMBR R6 R2 K27 + 0x4C1C0000, // 0004 LDNIL R7 + 0x54220101, // 0005 LDINT R8 258 + 0x1C200A08, // 0006 EQ R8 R5 R8 + 0x7822007F, // 0007 JMPF R8 #0088 + 0x8C20010B, // 0008 GETMET R8 R0 K11 + 0x7C200200, // 0009 CALL R8 1 + 0x8C20011C, // 000A GETMET R8 R0 K28 + 0x7C200200, // 000B CALL R8 1 + 0x1C200D04, // 000C EQ R8 R6 K4 + 0x78220005, // 000D JMPF R8 #0014 + 0x8C20071D, // 000E GETMET R8 R3 K29 + 0x8828091E, // 000F GETMBR R10 R4 K30 + 0x542E00FE, // 0010 LDINT R11 255 + 0x7C200600, // 0011 CALL R8 3 + 0x80041000, // 0012 RET 1 R8 + 0x70020073, // 0013 JMP #0088 + 0x54220004, // 0014 LDINT R8 5 + 0x1C200C08, // 0015 EQ R8 R6 R8 + 0x78220005, // 0016 JMPF R8 #001D + 0x8C20071D, // 0017 GETMET R8 R3 K29 + 0x8828091F, // 0018 GETMBR R10 R4 K31 + 0x582C0004, // 0019 LDCONST R11 K4 + 0x7C200600, // 001A CALL R8 3 + 0x80041000, // 001B RET 1 R8 + 0x7002006A, // 001C JMP #0088 + 0x54220006, // 001D LDINT R8 7 + 0x1C200C08, // 001E EQ R8 R6 R8 + 0x78220006, // 001F JMPF R8 #0027 + 0x8C20071D, // 0020 GETMET R8 R3 K29 + 0x8828091E, // 0021 GETMBR R10 R4 K30 + 0x542E0007, // 0022 LDINT R11 8 + 0x002E1E0B, // 0023 ADD R11 K15 R11 + 0x7C200600, // 0024 CALL R8 3 + 0x80041000, // 0025 RET 1 R8 + 0x70020060, // 0026 JMP #0088 + 0x5422000C, // 0027 LDINT R8 13 + 0x1C200C08, // 0028 EQ R8 R6 R8 + 0x78220005, // 0029 JMPF R8 #0030 + 0x8C20071D, // 002A GETMET R8 R3 K29 + 0x8828091E, // 002B GETMBR R10 R4 K30 + 0x542E00FE, // 002C LDINT R11 255 + 0x7C200600, // 002D CALL R8 3 + 0x80041000, // 002E RET 1 R8 + 0x70020057, // 002F JMP #0088 + 0x5422000D, // 0030 LDINT R8 14 + 0x1C200C08, // 0031 EQ R8 R6 R8 + 0x78220017, // 0032 JMPF R8 #004B + 0x88200120, // 0033 GETMBR R8 R0 K32 + 0x4C240000, // 0034 LDNIL R9 + 0x20201009, // 0035 NE R8 R8 R9 + 0x7822000D, // 0036 JMPF R8 #0045 + 0x88200105, // 0037 GETMBR R8 R0 K5 + 0x1C201104, // 0038 EQ R8 R8 K4 + 0x78220006, // 0039 JMPF R8 #0041 + 0x54220063, // 003A LDINT R8 100 + 0x88240120, // 003B GETMBR R9 R0 K32 + 0x04201009, // 003C SUB R8 R8 R9 + 0x54260063, // 003D LDINT R9 100 + 0x08201009, // 003E MUL R8 R8 R9 + 0x5C1C1000, // 003F MOVE R7 R8 + 0x70020003, // 0040 JMP #0045 + 0x88200120, // 0041 GETMBR R8 R0 K32 + 0x54260063, // 0042 LDINT R9 100 + 0x08201009, // 0043 MUL R8 R8 R9 + 0x5C1C1000, // 0044 MOVE R7 R8 + 0x8C200721, // 0045 GETMET R8 R3 K33 + 0x8828091F, // 0046 GETMBR R10 R4 K31 + 0x5C2C0E00, // 0047 MOVE R11 R7 + 0x7C200600, // 0048 CALL R8 3 + 0x80041000, // 0049 RET 1 R8 + 0x7002003C, // 004A JMP #0088 + 0x54220009, // 004B LDINT R8 10 + 0x1C200C08, // 004C EQ R8 R6 R8 + 0x78220016, // 004D JMPF R8 #0065 + 0x4C200000, // 004E LDNIL R8 + 0x88240122, // 004F GETMBR R9 R0 K34 + 0x4C280000, // 0050 LDNIL R10 + 0x2024120A, // 0051 NE R9 R9 R10 + 0x7826000B, // 0052 JMPF R9 #005F + 0x88240122, // 0053 GETMBR R9 R0 K34 + 0x1C241304, // 0054 EQ R9 R9 K4 + 0x78260001, // 0055 JMPF R9 #0058 + 0x58240004, // 0056 LDCONST R9 K4 + 0x70020005, // 0057 JMP #005E + 0x88240122, // 0058 GETMBR R9 R0 K34 + 0x24241304, // 0059 GT R9 R9 K4 + 0x78260001, // 005A JMPF R9 #005D + 0x5824000F, // 005B LDCONST R9 K15 + 0x70020000, // 005C JMP #005E + 0x58240012, // 005D LDCONST R9 K18 + 0x5C201200, // 005E MOVE R8 R9 + 0x8C240721, // 005F GETMET R9 R3 K33 + 0x882C091E, // 0060 GETMBR R11 R4 K30 + 0x5C301000, // 0061 MOVE R12 R8 + 0x7C240600, // 0062 CALL R9 3 + 0x80041200, // 0063 RET 1 R9 + 0x70020022, // 0064 JMP #0088 + 0x5422000A, // 0065 LDINT R8 11 + 0x1C200C08, // 0066 EQ R8 R6 R8 + 0x78220017, // 0067 JMPF R8 #0080 + 0x88200123, // 0068 GETMBR R8 R0 K35 + 0x4C240000, // 0069 LDNIL R9 + 0x20201009, // 006A NE R8 R8 R9 + 0x7822000D, // 006B JMPF R8 #007A + 0x88200105, // 006C GETMBR R8 R0 K5 + 0x1C201104, // 006D EQ R8 R8 K4 + 0x78220006, // 006E JMPF R8 #0076 + 0x54220063, // 006F LDINT R8 100 + 0x88240123, // 0070 GETMBR R9 R0 K35 + 0x04201009, // 0071 SUB R8 R8 R9 + 0x54260063, // 0072 LDINT R9 100 + 0x08201009, // 0073 MUL R8 R8 R9 + 0x5C1C1000, // 0074 MOVE R7 R8 + 0x70020003, // 0075 JMP #007A + 0x88200123, // 0076 GETMBR R8 R0 K35 + 0x54260063, // 0077 LDINT R9 100 + 0x08201009, // 0078 MUL R8 R8 R9 + 0x5C1C1000, // 0079 MOVE R7 R8 + 0x8C200721, // 007A GETMET R8 R3 K33 + 0x8828091F, // 007B GETMBR R10 R4 K31 + 0x5C2C0E00, // 007C MOVE R11 R7 + 0x7C200600, // 007D CALL R8 3 + 0x80041000, // 007E RET 1 R8 + 0x70020007, // 007F JMP #0088 + 0x54220016, // 0080 LDINT R8 23 + 0x1C200C08, // 0081 EQ R8 R6 R8 + 0x78220004, // 0082 JMPF R8 #0088 + 0x8C20071D, // 0083 GETMET R8 R3 K29 + 0x8828091E, // 0084 GETMBR R10 R4 K30 + 0x582C0004, // 0085 LDCONST R11 K4 + 0x7C200600, // 0086 CALL R8 3 + 0x80041000, // 0087 RET 1 R8 + 0x60200003, // 0088 GETGBL R8 G3 + 0x5C240000, // 0089 MOVE R9 R0 + 0x7C200200, // 008A CALL R8 1 + 0x8C201124, // 008B GETMET R8 R8 K36 + 0x5C280200, // 008C MOVE R10 R1 + 0x5C2C0400, // 008D MOVE R11 R2 + 0x5C300600, // 008E MOVE R12 R3 + 0x7C200800, // 008F CALL R8 4 + 0x80041000, // 0090 RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_sensors +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_parse_sensors, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(parse_sensors), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x000C070F, // 0002 ADD R3 R3 K15 + 0x7C080200, // 0003 CALL R2 1 + 0x000A4A02, // 0004 ADD R2 K37 R2 + 0x8C0C0326, // 0005 GETMET R3 R1 K38 + 0x5C140400, // 0006 MOVE R5 R2 + 0x7C0C0400, // 0007 CALL R3 2 + 0x780E002A, // 0008 JMPF R3 #0034 + 0x940C0202, // 0009 GETIDX R3 R1 R2 + 0x8C100702, // 000A GETMET R4 R3 K2 + 0x58180027, // 000B LDCONST R6 K39 + 0x7C100400, // 000C CALL R4 2 + 0x4C140000, // 000D LDNIL R5 + 0x20140805, // 000E NE R5 R4 R5 + 0x78160007, // 000F JMPF R5 #0018 + 0x88140120, // 0010 GETMBR R5 R0 K32 + 0x20140805, // 0011 NE R5 R4 R5 + 0x78160003, // 0012 JMPF R5 #0017 + 0x8C140128, // 0013 GETMET R5 R0 K40 + 0x541E0101, // 0014 LDINT R7 258 + 0x5422000D, // 0015 LDINT R8 14 + 0x7C140600, // 0016 CALL R5 3 + 0x90024004, // 0017 SETMBR R0 K32 R4 + 0x8C140702, // 0018 GETMET R5 R3 K2 + 0x581C0029, // 0019 LDCONST R7 K41 + 0x7C140400, // 001A CALL R5 2 + 0x4C180000, // 001B LDNIL R6 + 0x20180A06, // 001C NE R6 R5 R6 + 0x781A0007, // 001D JMPF R6 #0026 + 0x88180122, // 001E GETMBR R6 R0 K34 + 0x20180A06, // 001F NE R6 R5 R6 + 0x781A0003, // 0020 JMPF R6 #0025 + 0x8C180128, // 0021 GETMET R6 R0 K40 + 0x54220101, // 0022 LDINT R8 258 + 0x54260009, // 0023 LDINT R9 10 + 0x7C180600, // 0024 CALL R6 3 + 0x90024405, // 0025 SETMBR R0 K34 R5 + 0x8C180702, // 0026 GETMET R6 R3 K2 + 0x5820002A, // 0027 LDCONST R8 K42 + 0x7C180400, // 0028 CALL R6 2 + 0x4C1C0000, // 0029 LDNIL R7 + 0x201C0C07, // 002A NE R7 R6 R7 + 0x781E0007, // 002B JMPF R7 #0034 + 0x881C0123, // 002C GETMBR R7 R0 K35 + 0x201C0C07, // 002D NE R7 R6 R7 + 0x781E0003, // 002E JMPF R7 #0033 + 0x8C1C0128, // 002F GETMET R7 R0 K40 + 0x54260101, // 0030 LDINT R9 258 + 0x542A000A, // 0031 LDINT R10 11 + 0x7C1C0600, // 0032 CALL R7 3 + 0x90024606, // 0033 SETMBR R0 K35 R6 + 0x80000000, // 0034 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_inverted +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_update_inverted, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(update_inverted), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x88040105, // 0000 GETMBR R1 R0 K5 + 0x5409FFFE, // 0001 LDINT R2 -1 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x7806001F, // 0003 JMPF R1 #0024 + 0xB8061800, // 0004 GETNGBL R1 K12 + 0x8C04030D, // 0005 GETMET R1 R1 K13 + 0x580C002B, // 0006 LDCONST R3 K43 + 0x50100200, // 0007 LDBOOL R4 1 0 + 0x7C040600, // 0008 CALL R1 3 + 0x8C080326, // 0009 GETMET R2 R1 K38 + 0x5810002C, // 000A LDCONST R4 K44 + 0x7C080400, // 000B CALL R2 2 + 0x780A0016, // 000C JMPF R2 #0024 + 0x9404032C, // 000D GETIDX R1 R1 K44 + 0x8C080302, // 000E GETMET R2 R1 K2 + 0x60100008, // 000F GETGBL R4 G8 + 0x88140101, // 0010 GETMBR R5 R0 K1 + 0x7C100200, // 0011 CALL R4 1 + 0x00125A04, // 0012 ADD R4 K45 R4 + 0x60140013, // 0013 GETGBL R5 G19 + 0x7C140000, // 0014 CALL R5 0 + 0x7C080600, // 0015 CALL R2 3 + 0x8C080502, // 0016 GETMET R2 R2 K2 + 0x5810002E, // 0017 LDCONST R4 K46 + 0x7C080400, // 0018 CALL R2 2 + 0x4C0C0000, // 0019 LDNIL R3 + 0x200C0403, // 001A NE R3 R2 R3 + 0x780E0007, // 001B JMPF R3 #0024 + 0x600C0009, // 001C GETGBL R3 G9 + 0x6010000C, // 001D GETGBL R4 G12 + 0x5C140400, // 001E MOVE R5 R2 + 0x7C100200, // 001F CALL R4 1 + 0x0410090F, // 0020 SUB R4 R4 K15 + 0x94100404, // 0021 GETIDX R4 R2 R4 + 0x7C0C0200, // 0022 CALL R3 1 + 0x90020A03, // 0023 SETMBR R0 K5 R3 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Shutter_update_shadow, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Shutter, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8804012F, // 0000 GETMBR R1 R0 K47 + 0x7406000E, // 0001 JMPT R1 #0011 + 0x8C04011C, // 0002 GETMET R1 R0 K28 + 0x7C040200, // 0003 CALL R1 1 + 0xB8061800, // 0004 GETNGBL R1 K12 + 0x8C04030D, // 0005 GETMET R1 R1 K13 + 0x600C0008, // 0006 GETGBL R3 G8 + 0x88100101, // 0007 GETMBR R4 R0 K1 + 0x0010090F, // 0008 ADD R4 R4 K15 + 0x7C0C0200, // 0009 CALL R3 1 + 0x000E2E03, // 000A ADD R3 K23 R3 + 0x50100200, // 000B LDBOOL R4 1 0 + 0x7C040600, // 000C CALL R1 3 + 0x78060002, // 000D JMPF R1 #0011 + 0x8C080130, // 000E GETMET R2 R0 K48 + 0x5C100200, // 000F MOVE R4 R1 + 0x7C080400, // 0010 CALL R2 2 + 0x60040003, // 0011 GETGBL R1 G3 + 0x5C080000, // 0012 MOVE R2 R0 + 0x7C040200, // 0013 CALL R1 1 + 0x8C040310, // 0014 GETMET R1 R1 K16 + 0x7C040200, // 0015 CALL R1 1 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Shutter +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Shutter, + 5, + &be_class_Matter_Plugin_Device, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(shadow_shutter_inverted, -1), be_const_var(4) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(514, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(shadow_shutter_target, -1), be_const_var(2) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(258, -1), be_const_bytes_instance(000000050007000A000B000D000E0017FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(invoke_request, 3), be_const_closure(class_Matter_Plugin_Shutter_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 11), be_const_closure(class_Matter_Plugin_Shutter_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, 14), be_const_closure(class_Matter_Plugin_Shutter_parse_configuration_closure) }, + { be_const_key_weak(shadow_shutter_pos, -1), be_const_var(1) }, + { be_const_key_weak(ARG, 13), be_nested_str_weak(shutter) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E_closure) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Shutter_parse_sensors_closure) }, + { be_const_key_weak(update_inverted, -1), be_const_closure(class_Matter_Plugin_Shutter_update_inverted_closure) }, + { be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(update_shadow, 0), be_const_closure(class_Matter_Plugin_Shutter_update_shadow_closure) }, + { be_const_key_weak(tasmota_shutter_index, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter) }, + { be_const_key_weak(shadow_shutter_direction, -1), be_const_var(3) }, + })), + be_str_weak(Matter_Plugin_Shutter) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Light1.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Light1.h new file mode 100644 index 000000000..1a5eea0e6 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Light1.h @@ -0,0 +1,830 @@ +/* Solidification of Matter_Plugin_3_Light1.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Light1' ktab size: 55, total: 109 (saved 432 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Light1[55] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(BRIDGE), + /* K2 */ be_nested_str_weak(tasmota), + /* K3 */ be_nested_str_weak(scale_uint), + /* K4 */ be_nested_str_weak(call_remote_sync), + /* K5 */ be_nested_str_weak(Dimmer), + /* K6 */ be_nested_str_weak(parse_status), + /* K7 */ be_nested_str_weak(VIRTUAL), + /* K8 */ be_nested_str_weak(shadow_onoff), + /* K9 */ be_nested_str_weak(attribute_updated), + /* K10 */ be_nested_str_weak(shadow_bri), + /* K11 */ be_nested_str_weak(light), + /* K12 */ be_nested_str_weak(set), + /* K13 */ be_nested_str_weak(bri), + /* K14 */ be_nested_str_weak(light_index), + /* K15 */ be_nested_str_weak(power), + /* K16 */ be_nested_str_weak(update_shadow), + /* K17 */ be_nested_str_weak(), + /* K18 */ be_nested_str_weak(_X25i_X25_X25), + /* K19 */ be_nested_str_weak(_X26_X23128261_X3B_X20), + /* K20 */ be_nested_str_weak(matter), + /* K21 */ be_nested_str_weak(TLV), + /* K22 */ be_nested_str_weak(cluster), + /* K23 */ be_nested_str_weak(command), + /* K24 */ be_nested_str_weak(update_shadow_lazy), + /* K25 */ be_nested_str_weak(findsubval), + /* K26 */ be_nested_str_weak(set_bri), + /* K27 */ be_nested_str_weak(log), + /* K28 */ be_nested_str_weak(bri_X3A), + /* K29 */ be_nested_str_weak(publish_command), + /* K30 */ be_nested_str_weak(Bri), + /* K31 */ be_const_int(1), + /* K32 */ be_const_int(2), + /* K33 */ be_const_int(3), + /* K34 */ be_nested_str_weak(Power), + /* K35 */ be_nested_str_weak(invoke_request), + /* K36 */ be_nested_str_weak(attribute), + /* K37 */ be_nested_str_weak(U1), + /* K38 */ be_nested_str_weak(read_attribute), + /* K39 */ be_nested_str_weak(parse_configuration), + /* K40 */ be_nested_str_weak(tasmota_relay_index), + /* K41 */ be_nested_str_weak(find), + /* K42 */ be_nested_str_weak(ARG), + /* K43 */ be_nested_str_weak(TYPE), + /* K44 */ be_nested_str_weak(light1), + /* K45 */ be_nested_str_weak(get_option), + /* K46 */ be_nested_str_weak(get), + /* K47 */ be_nested_str_weak(update_virtual), + /* K48 */ be_nested_str_weak(init), + /* K49 */ be_nested_str_weak(webserver), + /* K50 */ be_nested_str_weak(web_values_prefix), + /* K51 */ be_nested_str_weak(content_send), + /* K52 */ be_nested_str_weak(_X25s_X20_X25s), + /* K53 */ be_nested_str_weak(web_value_onoff), + /* K54 */ be_nested_str_weak(web_value_dimmer), +}; + + +extern const bclass be_class_Matter_Plugin_Light1; + +/******************************************************************** +** Solidified function: set_bri +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_set_bri, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(set_bri), + &be_const_str_solidified, + ( &(const binstruction[91]) { /* code */ + 0x140C0300, // 0000 LT R3 R1 K0 + 0x780E0000, // 0001 JMPF R3 #0003 + 0x58040000, // 0002 LDCONST R1 K0 + 0x540E00FD, // 0003 LDINT R3 254 + 0x240C0203, // 0004 GT R3 R1 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x540600FD, // 0006 LDINT R1 254 + 0x4C0C0000, // 0007 LDNIL R3 + 0x200C0403, // 0008 NE R3 R2 R3 + 0x780E0003, // 0009 JMPF R3 #000E + 0x600C0017, // 000A GETGBL R3 G23 + 0x5C100400, // 000B MOVE R4 R2 + 0x7C0C0200, // 000C CALL R3 1 + 0x70020000, // 000D JMP #000F + 0x4C0C0000, // 000E LDNIL R3 + 0x5C080600, // 000F MOVE R2 R3 + 0x880C0101, // 0010 GETMBR R3 R0 K1 + 0x780E0015, // 0011 JMPF R3 #0028 + 0xB80E0400, // 0012 GETNGBL R3 K2 + 0x8C0C0703, // 0013 GETMET R3 R3 K3 + 0x5C140200, // 0014 MOVE R5 R1 + 0x58180000, // 0015 LDCONST R6 K0 + 0x541E00FD, // 0016 LDINT R7 254 + 0x58200000, // 0017 LDCONST R8 K0 + 0x54260063, // 0018 LDINT R9 100 + 0x7C0C0C00, // 0019 CALL R3 6 + 0x8C100104, // 001A GETMET R4 R0 K4 + 0x58180005, // 001B LDCONST R6 K5 + 0x601C0008, // 001C GETGBL R7 G8 + 0x5C200600, // 001D MOVE R8 R3 + 0x7C1C0200, // 001E CALL R7 1 + 0x7C100600, // 001F CALL R4 3 + 0x4C140000, // 0020 LDNIL R5 + 0x20140805, // 0021 NE R5 R4 R5 + 0x78160003, // 0022 JMPF R5 #0027 + 0x8C140106, // 0023 GETMET R5 R0 K6 + 0x5C1C0800, // 0024 MOVE R7 R4 + 0x5422000A, // 0025 LDINT R8 11 + 0x7C140600, // 0026 CALL R5 3 + 0x70020031, // 0027 JMP #005A + 0x880C0107, // 0028 GETMBR R3 R0 K7 + 0x780E0013, // 0029 JMPF R3 #003E + 0x4C0C0000, // 002A LDNIL R3 + 0x200C0403, // 002B NE R3 R2 R3 + 0x780E0007, // 002C JMPF R3 #0035 + 0x880C0108, // 002D GETMBR R3 R0 K8 + 0x200C0403, // 002E NE R3 R2 R3 + 0x780E0004, // 002F JMPF R3 #0035 + 0x8C0C0109, // 0030 GETMET R3 R0 K9 + 0x54160005, // 0031 LDINT R5 6 + 0x58180000, // 0032 LDCONST R6 K0 + 0x7C0C0600, // 0033 CALL R3 3 + 0x90021002, // 0034 SETMBR R0 K8 R2 + 0x880C010A, // 0035 GETMBR R3 R0 K10 + 0x200C0203, // 0036 NE R3 R1 R3 + 0x780E0004, // 0037 JMPF R3 #003D + 0x8C0C0109, // 0038 GETMET R3 R0 K9 + 0x54160007, // 0039 LDINT R5 8 + 0x58180000, // 003A LDCONST R6 K0 + 0x7C0C0600, // 003B CALL R3 3 + 0x90021401, // 003C SETMBR R0 K10 R1 + 0x7002001B, // 003D JMP #005A + 0xA40E1600, // 003E IMPORT R3 K11 + 0xB8120400, // 003F GETNGBL R4 K2 + 0x8C100903, // 0040 GETMET R4 R4 K3 + 0x5C180200, // 0041 MOVE R6 R1 + 0x581C0000, // 0042 LDCONST R7 K0 + 0x542200FD, // 0043 LDINT R8 254 + 0x58240000, // 0044 LDCONST R9 K0 + 0x542A00FE, // 0045 LDINT R10 255 + 0x7C100C00, // 0046 CALL R4 6 + 0x4C140000, // 0047 LDNIL R5 + 0x1C140405, // 0048 EQ R5 R2 R5 + 0x78160006, // 0049 JMPF R5 #0051 + 0x8C14070C, // 004A GETMET R5 R3 K12 + 0x601C0013, // 004B GETGBL R7 G19 + 0x7C1C0000, // 004C CALL R7 0 + 0x981E1A04, // 004D SETIDX R7 K13 R4 + 0x8820010E, // 004E GETMBR R8 R0 K14 + 0x7C140600, // 004F CALL R5 3 + 0x70020006, // 0050 JMP #0058 + 0x8C14070C, // 0051 GETMET R5 R3 K12 + 0x601C0013, // 0052 GETGBL R7 G19 + 0x7C1C0000, // 0053 CALL R7 0 + 0x981E1A04, // 0054 SETIDX R7 K13 R4 + 0x981E1E02, // 0055 SETIDX R7 K15 R2 + 0x8820010E, // 0056 GETMBR R8 R0 K14 + 0x7C140600, // 0057 CALL R5 3 + 0x8C140110, // 0058 GETMET R5 R0 K16 + 0x7C140200, // 0059 CALL R5 1 + 0x80000000, // 005A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_value_dimmer +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_web_value_dimmer, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(web_value_dimmer), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x58040011, // 0000 LDCONST R1 K17 + 0x8808010A, // 0001 GETMBR R2 R0 K10 + 0x4C0C0000, // 0002 LDNIL R3 + 0x20080403, // 0003 NE R2 R2 R3 + 0x780A000C, // 0004 JMPF R2 #0012 + 0xB80A0400, // 0005 GETNGBL R2 K2 + 0x8C080503, // 0006 GETMET R2 R2 K3 + 0x8810010A, // 0007 GETMBR R4 R0 K10 + 0x58140000, // 0008 LDCONST R5 K0 + 0x541A00FD, // 0009 LDINT R6 254 + 0x581C0000, // 000A LDCONST R7 K0 + 0x54220063, // 000B LDINT R8 100 + 0x7C080C00, // 000C CALL R2 6 + 0x600C0018, // 000D GETGBL R3 G24 + 0x58100012, // 000E LDCONST R4 K18 + 0x5C140400, // 000F MOVE R5 R2 + 0x7C0C0400, // 0010 CALL R3 2 + 0x5C040600, // 0011 MOVE R1 R3 + 0x000A2601, // 0012 ADD R2 K19 R1 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */ + be_nested_proto( + 24, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[119]) { /* code */ + 0xA4121600, // 0000 IMPORT R4 K11 + 0xB8162800, // 0001 GETNGBL R5 K20 + 0x88140B15, // 0002 GETMBR R5 R5 K21 + 0x88180716, // 0003 GETMBR R6 R3 K22 + 0x881C0717, // 0004 GETMBR R7 R3 K23 + 0x54220007, // 0005 LDINT R8 8 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x78220064, // 0007 JMPF R8 #006D + 0x8C200118, // 0008 GETMET R8 R0 K24 + 0x7C200200, // 0009 CALL R8 1 + 0x1C200F00, // 000A EQ R8 R7 K0 + 0x7822001A, // 000B JMPF R8 #0027 + 0x8C200519, // 000C GETMET R8 R2 K25 + 0x58280000, // 000D LDCONST R10 K0 + 0x7C200400, // 000E CALL R8 2 + 0x8C24011A, // 000F GETMET R9 R0 K26 + 0x5C2C1000, // 0010 MOVE R11 R8 + 0x7C240400, // 0011 CALL R9 2 + 0x60240008, // 0012 GETGBL R9 G8 + 0x5C281000, // 0013 MOVE R10 R8 + 0x7C240200, // 0014 CALL R9 1 + 0x00263809, // 0015 ADD R9 K28 R9 + 0x900E3609, // 0016 SETMBR R3 K27 R9 + 0x8C24011D, // 0017 GETMET R9 R0 K29 + 0x582C001E, // 0018 LDCONST R11 K30 + 0x5C301000, // 0019 MOVE R12 R8 + 0x58340005, // 001A LDCONST R13 K5 + 0xB83A0400, // 001B GETNGBL R14 K2 + 0x8C381D03, // 001C GETMET R14 R14 K3 + 0x5C401000, // 001D MOVE R16 R8 + 0x58440000, // 001E LDCONST R17 K0 + 0x544A00FD, // 001F LDINT R18 254 + 0x584C0000, // 0020 LDCONST R19 K0 + 0x54520063, // 0021 LDINT R20 100 + 0x7C380C00, // 0022 CALL R14 6 + 0x7C240A00, // 0023 CALL R9 5 + 0x50240200, // 0024 LDBOOL R9 1 0 + 0x80041200, // 0025 RET 1 R9 + 0x70020044, // 0026 JMP #006C + 0x1C200F1F, // 0027 EQ R8 R7 K31 + 0x78220002, // 0028 JMPF R8 #002C + 0x50200200, // 0029 LDBOOL R8 1 0 + 0x80041000, // 002A RET 1 R8 + 0x7002003F, // 002B JMP #006C + 0x1C200F20, // 002C EQ R8 R7 K32 + 0x78220002, // 002D JMPF R8 #0031 + 0x50200200, // 002E LDBOOL R8 1 0 + 0x80041000, // 002F RET 1 R8 + 0x7002003A, // 0030 JMP #006C + 0x1C200F21, // 0031 EQ R8 R7 K33 + 0x78220002, // 0032 JMPF R8 #0036 + 0x50200200, // 0033 LDBOOL R8 1 0 + 0x80041000, // 0034 RET 1 R8 + 0x70020035, // 0035 JMP #006C + 0x54220003, // 0036 LDINT R8 4 + 0x1C200E08, // 0037 EQ R8 R7 R8 + 0x78220021, // 0038 JMPF R8 #005B + 0x8C200519, // 0039 GETMET R8 R2 K25 + 0x58280000, // 003A LDCONST R10 K0 + 0x7C200400, // 003B CALL R8 2 + 0x24241100, // 003C GT R9 R8 K0 + 0x8C28011A, // 003D GETMET R10 R0 K26 + 0x5C301000, // 003E MOVE R12 R8 + 0x5C341200, // 003F MOVE R13 R9 + 0x7C280600, // 0040 CALL R10 3 + 0x60280008, // 0041 GETGBL R10 G8 + 0x5C2C1000, // 0042 MOVE R11 R8 + 0x7C280200, // 0043 CALL R10 1 + 0x002A380A, // 0044 ADD R10 K28 R10 + 0x900E360A, // 0045 SETMBR R3 K27 R10 + 0x8C28011D, // 0046 GETMET R10 R0 K29 + 0x58300022, // 0047 LDCONST R12 K34 + 0x78260001, // 0048 JMPF R9 #004B + 0x5834001F, // 0049 LDCONST R13 K31 + 0x70020000, // 004A JMP #004C + 0x58340000, // 004B LDCONST R13 K0 + 0x5838001E, // 004C LDCONST R14 K30 + 0x5C3C1000, // 004D MOVE R15 R8 + 0x58400005, // 004E LDCONST R16 K5 + 0xB8460400, // 004F GETNGBL R17 K2 + 0x8C442303, // 0050 GETMET R17 R17 K3 + 0x5C4C1000, // 0051 MOVE R19 R8 + 0x58500000, // 0052 LDCONST R20 K0 + 0x545600FD, // 0053 LDINT R21 254 + 0x58580000, // 0054 LDCONST R22 K0 + 0x545E0063, // 0055 LDINT R23 100 + 0x7C440C00, // 0056 CALL R17 6 + 0x7C280E00, // 0057 CALL R10 7 + 0x50280200, // 0058 LDBOOL R10 1 0 + 0x80041400, // 0059 RET 1 R10 + 0x70020010, // 005A JMP #006C + 0x54220004, // 005B LDINT R8 5 + 0x1C200E08, // 005C EQ R8 R7 R8 + 0x78220002, // 005D JMPF R8 #0061 + 0x50200200, // 005E LDBOOL R8 1 0 + 0x80041000, // 005F RET 1 R8 + 0x7002000A, // 0060 JMP #006C + 0x54220005, // 0061 LDINT R8 6 + 0x1C200E08, // 0062 EQ R8 R7 R8 + 0x78220002, // 0063 JMPF R8 #0067 + 0x50200200, // 0064 LDBOOL R8 1 0 + 0x80041000, // 0065 RET 1 R8 + 0x70020004, // 0066 JMP #006C + 0x54220006, // 0067 LDINT R8 7 + 0x1C200E08, // 0068 EQ R8 R7 R8 + 0x78220001, // 0069 JMPF R8 #006C + 0x50200200, // 006A LDBOOL R8 1 0 + 0x80041000, // 006B RET 1 R8 + 0x70020008, // 006C JMP #0076 + 0x60200003, // 006D GETGBL R8 G3 + 0x5C240000, // 006E MOVE R9 R0 + 0x7C200200, // 006F CALL R8 1 + 0x8C201123, // 0070 GETMET R8 R8 K35 + 0x5C280200, // 0071 MOVE R10 R1 + 0x5C2C0400, // 0072 MOVE R11 R2 + 0x5C300600, // 0073 MOVE R12 R3 + 0x7C200800, // 0074 CALL R8 4 + 0x80041000, // 0075 RET 1 R8 + 0x80000000, // 0076 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0xB8122800, // 0000 GETNGBL R4 K20 + 0x88100915, // 0001 GETMBR R4 R4 K21 + 0x88140516, // 0002 GETMBR R5 R2 K22 + 0x88180524, // 0003 GETMBR R6 R2 K36 + 0x541E0007, // 0004 LDINT R7 8 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E002A, // 0006 JMPF R7 #0032 + 0x8C1C0118, // 0007 GETMET R7 R0 K24 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D00, // 0009 EQ R7 R6 K0 + 0x781E0005, // 000A JMPF R7 #0011 + 0x8C1C070C, // 000B GETMET R7 R3 K12 + 0x88240925, // 000C GETMBR R9 R4 K37 + 0x8828010A, // 000D GETMBR R10 R0 K10 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x70020020, // 0010 JMP #0032 + 0x1C1C0D20, // 0011 EQ R7 R6 K32 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C070C, // 0013 GETMET R7 R3 K12 + 0x88240925, // 0014 GETMBR R9 R4 K37 + 0x58280000, // 0015 LDCONST R10 K0 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x70020018, // 0018 JMP #0032 + 0x1C1C0D21, // 0019 EQ R7 R6 K33 + 0x781E0005, // 001A JMPF R7 #0021 + 0x8C1C070C, // 001B GETMET R7 R3 K12 + 0x88240925, // 001C GETMBR R9 R4 K37 + 0x542A00FD, // 001D LDINT R10 254 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x70020010, // 0020 JMP #0032 + 0x541E000E, // 0021 LDINT R7 15 + 0x1C1C0C07, // 0022 EQ R7 R6 R7 + 0x781E0005, // 0023 JMPF R7 #002A + 0x8C1C070C, // 0024 GETMET R7 R3 K12 + 0x88240925, // 0025 GETMBR R9 R4 K37 + 0x58280000, // 0026 LDCONST R10 K0 + 0x7C1C0600, // 0027 CALL R7 3 + 0x80040E00, // 0028 RET 1 R7 + 0x70020007, // 0029 JMP #0032 + 0x541E0010, // 002A LDINT R7 17 + 0x1C1C0C07, // 002B EQ R7 R6 R7 + 0x781E0004, // 002C JMPF R7 #0032 + 0x8C1C070C, // 002D GETMET R7 R3 K12 + 0x88240925, // 002E GETMBR R9 R4 K37 + 0x8828010A, // 002F GETMBR R10 R0 K10 + 0x7C1C0600, // 0030 CALL R7 3 + 0x80040E00, // 0031 RET 1 R7 + 0x601C0003, // 0032 GETGBL R7 G3 + 0x5C200000, // 0033 MOVE R8 R0 + 0x7C1C0200, // 0034 CALL R7 1 + 0x8C1C0F26, // 0035 GETMET R7 R7 K38 + 0x5C240200, // 0036 MOVE R9 R1 + 0x5C280400, // 0037 MOVE R10 R2 + 0x5C2C0600, // 0038 MOVE R11 R3 + 0x7C1C0800, // 0039 CALL R7 4 + 0x80040E00, // 003A RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_parse_configuration, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080527, // 0003 GETMET R2 R2 K39 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x780A000F, // 0007 JMPF R2 #0018 + 0x60080009, // 0008 GETGBL R2 G9 + 0x8C0C0329, // 0009 GETMET R3 R1 K41 + 0x8814012A, // 000A GETMBR R5 R0 K42 + 0x4C180000, // 000B LDNIL R6 + 0x7C0C0600, // 000C CALL R3 3 + 0x7C080200, // 000D CALL R2 1 + 0x90025002, // 000E SETMBR R0 K40 R2 + 0x88080128, // 000F GETMBR R2 R0 K40 + 0x4C0C0000, // 0010 LDNIL R3 + 0x20080403, // 0011 NE R2 R2 R3 + 0x780A0003, // 0012 JMPF R2 #0017 + 0x88080128, // 0013 GETMBR R2 R0 K40 + 0x18080500, // 0014 LE R2 R2 K0 + 0x780A0000, // 0015 JMPF R2 #0017 + 0x9002511F, // 0016 SETMBR R0 K40 K31 + 0x70020020, // 0017 JMP #0039 + 0x88080128, // 0018 GETMBR R2 R0 K40 + 0x4C0C0000, // 0019 LDNIL R3 + 0x1C080403, // 001A EQ R2 R2 R3 + 0x780A001C, // 001B JMPF R2 #0039 + 0x8808012B, // 001C GETMBR R2 R0 K43 + 0x1C08052C, // 001D EQ R2 R2 K44 + 0x780A0019, // 001E JMPF R2 #0039 + 0x8C080329, // 001F GETMET R2 R1 K41 + 0x8810012A, // 0020 GETMBR R4 R0 K42 + 0x7C080400, // 0021 CALL R2 2 + 0x4C0C0000, // 0022 LDNIL R3 + 0x1C0C0403, // 0023 EQ R3 R2 R3 + 0x780E000E, // 0024 JMPF R3 #0034 + 0xB80E0400, // 0025 GETNGBL R3 K2 + 0x8C0C072D, // 0026 GETMET R3 R3 K45 + 0x54160043, // 0027 LDINT R5 68 + 0x7C0C0400, // 0028 CALL R3 2 + 0x1C0C0700, // 0029 EQ R3 R3 K0 + 0x780E0007, // 002A JMPF R3 #0033 + 0xA40E1600, // 002B IMPORT R3 K11 + 0x8C10072E, // 002C GETMET R4 R3 K46 + 0x5818001F, // 002D LDCONST R6 K31 + 0x7C100400, // 002E CALL R4 2 + 0x4C140000, // 002F LDNIL R5 + 0x20100805, // 0030 NE R4 R4 R5 + 0x78120000, // 0031 JMPF R4 #0033 + 0x90021D1F, // 0032 SETMBR R0 K14 K31 + 0x70020004, // 0033 JMP #0039 + 0x600C0009, // 0034 GETGBL R3 G9 + 0x5C100400, // 0035 MOVE R4 R2 + 0x7C0C0200, // 0036 CALL R3 1 + 0x040C071F, // 0037 SUB R3 R3 K31 + 0x90021C03, // 0038 SETMBR R0 K14 R3 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_update_virtual, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8C080329, // 0000 GETMET R2 R1 K41 + 0x58100022, // 0001 LDCONST R4 K34 + 0x7C080400, // 0002 CALL R2 2 + 0x8C0C0329, // 0003 GETMET R3 R1 K41 + 0x5814001E, // 0004 LDCONST R5 K30 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x20100604, // 0007 NE R4 R3 R4 + 0x78120006, // 0008 JMPF R4 #0010 + 0x8C10011A, // 0009 GETMET R4 R0 K26 + 0x60180009, // 000A GETGBL R6 G9 + 0x5C1C0600, // 000B MOVE R7 R3 + 0x7C180200, // 000C CALL R6 1 + 0x5C1C0400, // 000D MOVE R7 R2 + 0x7C100600, // 000E CALL R4 3 + 0x80000800, // 000F RET 0 + 0x60100003, // 0010 GETGBL R4 G3 + 0x5C140000, // 0011 MOVE R5 R0 + 0x7C100200, // 0012 CALL R4 1 + 0x8C10092F, // 0013 GETMET R4 R4 K47 + 0x5C180200, // 0014 MOVE R6 R1 + 0x7C100400, // 0015 CALL R4 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x90021500, // 0000 SETMBR R0 K10 K0 + 0x60100003, // 0001 GETGBL R4 G3 + 0x5C140000, // 0002 MOVE R5 R0 + 0x7C100200, // 0003 CALL R4 1 + 0x8C100930, // 0004 GETMET R4 R4 K48 + 0x5C180200, // 0005 MOVE R6 R1 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x5C200600, // 0007 MOVE R8 R3 + 0x7C100800, // 0008 CALL R4 4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_web_values, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xA4066200, // 0000 IMPORT R1 K49 + 0x8C080132, // 0001 GETMET R2 R0 K50 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080333, // 0003 GETMET R2 R1 K51 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140034, // 0005 LDCONST R5 K52 + 0x8C180135, // 0006 GETMET R6 R0 K53 + 0x88200108, // 0007 GETMBR R8 R0 K8 + 0x7C180400, // 0008 CALL R6 2 + 0x8C1C0136, // 0009 GETMET R7 R0 K54 + 0x7C1C0200, // 000A CALL R7 1 + 0x7C100600, // 000B CALL R4 3 + 0x7C080400, // 000C CALL R2 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_parse_status, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C0706, // 0003 GETMET R3 R3 K6 + 0x5C140200, // 0004 MOVE R5 R1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x540E000A, // 0007 LDINT R3 11 + 0x1C0C0403, // 0008 EQ R3 R2 R3 + 0x780E0017, // 0009 JMPF R3 #0022 + 0x600C0009, // 000A GETGBL R3 G9 + 0x8C100329, // 000B GETMET R4 R1 K41 + 0x58180005, // 000C LDCONST R6 K5 + 0x7C100400, // 000D CALL R4 2 + 0x7C0C0200, // 000E CALL R3 1 + 0x4C100000, // 000F LDNIL R4 + 0x20100604, // 0010 NE R4 R3 R4 + 0x7812000F, // 0011 JMPF R4 #0022 + 0xB8120400, // 0012 GETNGBL R4 K2 + 0x8C100903, // 0013 GETMET R4 R4 K3 + 0x5C180600, // 0014 MOVE R6 R3 + 0x581C0000, // 0015 LDCONST R7 K0 + 0x54220063, // 0016 LDINT R8 100 + 0x58240000, // 0017 LDCONST R9 K0 + 0x542A00FD, // 0018 LDINT R10 254 + 0x7C100C00, // 0019 CALL R4 6 + 0x8814010A, // 001A GETMBR R5 R0 K10 + 0x20140805, // 001B NE R5 R4 R5 + 0x78160004, // 001C JMPF R5 #0022 + 0x8C140109, // 001D GETMET R5 R0 K9 + 0x541E0007, // 001E LDINT R7 8 + 0x58200000, // 001F LDCONST R8 K0 + 0x7C140600, // 0020 CALL R5 3 + 0x90021404, // 0021 SETMBR R0 K10 R4 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light1_update_shadow, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light1, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x7406002C, // 0001 JMPT R1 #002F + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x7406002A, // 0003 JMPT R1 #002F + 0xA4061600, // 0004 IMPORT R1 K11 + 0x8C08032E, // 0005 GETMET R2 R1 K46 + 0x8810010E, // 0006 GETMBR R4 R0 K14 + 0x7C080400, // 0007 CALL R2 2 + 0x4C0C0000, // 0008 LDNIL R3 + 0x200C0403, // 0009 NE R3 R2 R3 + 0x780E0023, // 000A JMPF R3 #002F + 0x8C0C0529, // 000B GETMET R3 R2 K41 + 0x5814000F, // 000C LDCONST R5 K15 + 0x4C180000, // 000D LDNIL R6 + 0x7C0C0600, // 000E CALL R3 3 + 0x88100108, // 000F GETMBR R4 R0 K8 + 0x20100604, // 0010 NE R4 R3 R4 + 0x78120004, // 0011 JMPF R4 #0017 + 0x8C100109, // 0012 GETMET R4 R0 K9 + 0x541A0005, // 0013 LDINT R6 6 + 0x581C0000, // 0014 LDCONST R7 K0 + 0x7C100600, // 0015 CALL R4 3 + 0x90021003, // 0016 SETMBR R0 K8 R3 + 0x8C100529, // 0017 GETMET R4 R2 K41 + 0x5818000D, // 0018 LDCONST R6 K13 + 0x4C1C0000, // 0019 LDNIL R7 + 0x7C100600, // 001A CALL R4 3 + 0x4C140000, // 001B LDNIL R5 + 0x20140805, // 001C NE R5 R4 R5 + 0x78160010, // 001D JMPF R5 #002F + 0xB8160400, // 001E GETNGBL R5 K2 + 0x8C140B03, // 001F GETMET R5 R5 K3 + 0x5C1C0800, // 0020 MOVE R7 R4 + 0x58200000, // 0021 LDCONST R8 K0 + 0x542600FE, // 0022 LDINT R9 255 + 0x58280000, // 0023 LDCONST R10 K0 + 0x542E00FD, // 0024 LDINT R11 254 + 0x7C140C00, // 0025 CALL R5 6 + 0x5C100A00, // 0026 MOVE R4 R5 + 0x8814010A, // 0027 GETMBR R5 R0 K10 + 0x20140805, // 0028 NE R5 R4 R5 + 0x78160004, // 0029 JMPF R5 #002F + 0x8C140109, // 002A GETMET R5 R0 K9 + 0x541E0007, // 002B LDINT R7 8 + 0x58200000, // 002C LDCONST R8 K0 + 0x7C140600, // 002D CALL R5 3 + 0x90021404, // 002E SETMBR R0 K10 R4 + 0x60040003, // 002F GETGBL R1 G3 + 0x5C080000, // 0030 MOVE R2 R0 + 0x7C040200, // 0031 CALL R1 1 + 0x8C040310, // 0032 GETMET R1 R1 K16 + 0x7C040200, // 0033 CALL R1 1 + 0x80000000, // 0034 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Light1 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light0; +be_local_class(Matter_Plugin_Light1, + 1, + &be_class_Matter_Plugin_Light0, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(_X28opt_X29_X20Light_X20number) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(light1) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(257, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(2, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Power), + be_nested_str_weak(Bri), + })) ) } )) }, + { be_const_key_weak(web_value_dimmer, 13), be_const_closure(class_Matter_Plugin_Light1_web_value_dimmer_closure) }, + { be_const_key_weak(set_bri, 17), be_const_closure(class_Matter_Plugin_Light1_set_bri_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light1_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, 10), be_const_closure(class_Matter_Plugin_Light1_parse_configuration_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light1_update_virtual_closure) }, + { be_const_key_weak(DISPLAY_NAME, 0), be_nested_str_weak(Light_X201_X20Dimmer) }, + { be_const_key_weak(update_shadow, 12), be_const_closure(class_Matter_Plugin_Light1_update_shadow_closure) }, + { be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light1_parse_status_closure) }, + { be_const_key_weak(shadow_bri, -1), be_const_var(0) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(29, 2), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(8, 0), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light1_web_values_closure) }, + { be_const_key_weak(init, 11), be_const_closure(class_Matter_Plugin_Light1_init_closure) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(light) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light1_invoke_request_closure) }, + })), + be_str_weak(Matter_Plugin_Light1) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_OnOff.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_OnOff.h new file mode 100644 index 000000000..17b0381a3 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_OnOff.h @@ -0,0 +1,29 @@ +/* Solidification of Matter_Plugin_3_OnOff.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_OnOff; + +/******************************************************************** +** Solidified class: Matter_Plugin_OnOff +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light0; +be_local_class(Matter_Plugin_OnOff, + 0, + &be_class_Matter_Plugin_Light0, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(relay) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(266, -1), be_const_int(2) }, + })) ) } )) }, + })), + be_str_weak(Matter_Plugin_OnOff) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Contact.h new file mode 100644 index 000000000..43058a902 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Contact.h @@ -0,0 +1,229 @@ +/* Solidification of Matter_Plugin_3_Sensor_Contact.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Contact' ktab size: 21, total: 26 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Contact[21] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(set_or_nil), + /* K6 */ be_nested_str_weak(BOOL), + /* K7 */ be_nested_str_weak(shadow_bool_value), + /* K8 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(webserver), + /* K10 */ be_nested_str_weak(web_values_prefix), + /* K11 */ be_nested_str_weak(content_send), + /* K12 */ be_nested_str_weak(Contact_X25i_X20_X25s), + /* K13 */ be_nested_str_weak(tasmota_switch_index), + /* K14 */ be_nested_str_weak(web_value_onoff), + /* K15 */ be_nested_str_weak(get_name), + /* K16 */ be_nested_str_weak(Switch), + /* K17 */ be_nested_str_weak(PREFIX), + /* K18 */ be_nested_str_weak(html_escape), + /* K19 */ be_nested_str_weak(), + /* K20 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Contact; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Contact_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0044, // 0004 LDINT R7 69 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0006, // 0006 JMPF R7 #000E + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E0004, // 0008 JMPF R7 #000E + 0x8C1C0705, // 0009 GETMET R7 R3 K5 + 0x88240906, // 000A GETMBR R9 R4 K6 + 0x88280107, // 000B GETMBR R10 R0 K7 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x601C0003, // 000E GETGBL R7 G3 + 0x5C200000, // 000F MOVE R8 R0 + 0x7C1C0200, // 0010 CALL R7 1 + 0x8C1C0F08, // 0011 GETMET R7 R7 K8 + 0x5C240200, // 0012 MOVE R9 R1 + 0x5C280400, // 0013 MOVE R10 R2 + 0x5C2C0600, // 0014 MOVE R11 R3 + 0x7C1C0800, // 0015 CALL R7 4 + 0x80040E00, // 0016 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010A, // 0001 GETMET R2 R0 K10 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030B, // 0003 GETMET R2 R1 K11 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814000C, // 0005 LDCONST R5 K12 + 0x8818010D, // 0006 GETMBR R6 R0 K13 + 0x8C1C010E, // 0007 GETMET R7 R0 K14 + 0x88240107, // 0008 GETMBR R9 R0 K7 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010F, // 0001 GETMET R2 R0 K15 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x8810010D, // 0006 GETMBR R4 R0 K13 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E2003, // 0008 ADD R3 K16 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C030B, // 000A GETMET R3 R1 K11 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180111, // 000C GETMBR R6 R0 K17 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0312, // 000E GETMET R7 R1 K18 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0013, // 0012 LDCONST R7 K19 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Contact_value_updated, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040114, // 0000 GETMET R1 R0 K20 + 0x540E0044, // 0001 LDINT R3 69 + 0x58100004, // 0002 LDCONST R4 K4 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Contact +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; +be_local_class(Matter_Plugin_Sensor_Contact, + 0, + &be_class_Matter_Plugin_Sensor_Boolean, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(21, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Contact) }, + { be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Contact_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Contact), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Contact) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_web_values_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_web_values_prefix_closure) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_value_updated_closure) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(contact) }, + })), + be_str_weak(Matter_Plugin_Sensor_Contact) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Flow.h new file mode 100644 index 000000000..48f319950 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Flow.h @@ -0,0 +1,230 @@ +/* Solidification of Matter_Plugin_3_Sensor_Flow.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Flow' ktab size: 17, total: 19 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Flow[17] = { + /* K0 */ be_nested_str_weak(attribute_updated), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(set_or_nil), + /* K7 */ be_nested_str_weak(U2), + /* K8 */ be_nested_str_weak(shadow_value), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(set), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(webserver), + /* K14 */ be_nested_str_weak(web_values_prefix), + /* K15 */ be_nested_str_weak(content_send), + /* K16 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20m_X26sup3_X3B_X2Fh), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Flow; + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Flow_value_changed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E0403, // 0001 LDINT R3 1028 + 0x58100001, // 0002 LDCONST R4 K1 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Flow_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E0403, // 0004 LDINT R7 1028 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0018, // 0006 JMPF R7 #0020 + 0x1C1C0D01, // 0007 EQ R7 R6 K1 + 0x781E0007, // 0008 JMPF R7 #0011 + 0x8C1C0706, // 0009 GETMET R7 R3 K6 + 0x88240907, // 000A GETMBR R9 R4 K7 + 0x60280009, // 000B GETGBL R10 G9 + 0x882C0108, // 000C GETMBR R11 R0 K8 + 0x7C280200, // 000D CALL R10 1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x7002000E, // 0010 JMP #0020 + 0x1C1C0D09, // 0011 EQ R7 R6 K9 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C070A, // 0013 GETMET R7 R3 K10 + 0x88240907, // 0014 GETMBR R9 R4 K7 + 0x58280001, // 0015 LDCONST R10 K1 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x70020006, // 0018 JMP #0020 + 0x1C1C0D0B, // 0019 EQ R7 R6 K11 + 0x781E0004, // 001A JMPF R7 #0020 + 0x8C1C070A, // 001B GETMET R7 R3 K10 + 0x88240907, // 001C GETMBR R9 R4 K7 + 0x542AFFFD, // 001D LDINT R10 65534 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x601C0003, // 0020 GETGBL R7 G3 + 0x5C200000, // 0021 MOVE R8 R0 + 0x7C1C0200, // 0022 CALL R7 1 + 0x8C1C0F0C, // 0023 GETMET R7 R7 K12 + 0x5C240200, // 0024 MOVE R9 R1 + 0x5C280400, // 0025 MOVE R10 R2 + 0x5C2C0600, // 0026 MOVE R11 R3 + 0x7C1C0800, // 0027 CALL R7 4 + 0x80040E00, // 0028 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Flow_pre_value, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0004, // 0002 JMPF R2 #0008 + 0x60080009, // 0003 GETGBL R2 G9 + 0x540E0009, // 0004 LDINT R3 10 + 0x080C0203, // 0005 MUL R3 R1 R3 + 0x7C080200, // 0006 CALL R2 1 + 0x70020000, // 0007 JMP #0009 + 0x4C080000, // 0008 LDNIL R2 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Flow_web_values, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA4061A00, // 0000 IMPORT R1 K13 + 0x8C08010E, // 0001 GETMET R2 R0 K14 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030F, // 0003 GETMET R2 R1 K15 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140010, // 0005 LDCONST R5 K16 + 0x60180009, // 0006 GETGBL R6 G9 + 0x881C0108, // 0007 GETMBR R7 R0 K8 + 0x7C180200, // 0008 CALL R6 1 + 0x7C100400, // 0009 CALL R4 2 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Flow +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_class(Matter_Plugin_Sensor_Flow, + 0, + &be_class_Matter_Plugin_Sensor, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(774, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Flow_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Flow_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Flow), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1028, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Flow) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Flow) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(flow) }, + })), + be_str_weak(Matter_Plugin_Sensor_Flow) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Humidity.h new file mode 100644 index 000000000..3106947ce --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Humidity.h @@ -0,0 +1,238 @@ +/* Solidification of Matter_Plugin_3_Sensor_Humidity.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Humidity' ktab size: 17, total: 19 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Humidity[17] = { + /* K0 */ be_nested_str_weak(attribute_updated), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(set_or_nil), + /* K7 */ be_nested_str_weak(U2), + /* K8 */ be_nested_str_weak(shadow_value), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(set), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(webserver), + /* K14 */ be_nested_str_weak(web_values_prefix), + /* K15 */ be_nested_str_weak(content_send), + /* K16 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Humidity_value_changed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E0404, // 0001 LDINT R3 1029 + 0x58100001, // 0002 LDCONST R4 K1 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E0404, // 0004 LDINT R7 1029 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0018, // 0006 JMPF R7 #0020 + 0x1C1C0D01, // 0007 EQ R7 R6 K1 + 0x781E0007, // 0008 JMPF R7 #0011 + 0x8C1C0706, // 0009 GETMET R7 R3 K6 + 0x88240907, // 000A GETMBR R9 R4 K7 + 0x60280009, // 000B GETGBL R10 G9 + 0x882C0108, // 000C GETMBR R11 R0 K8 + 0x7C280200, // 000D CALL R10 1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x7002000E, // 0010 JMP #0020 + 0x1C1C0D09, // 0011 EQ R7 R6 K9 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C070A, // 0013 GETMET R7 R3 K10 + 0x88240907, // 0014 GETMBR R9 R4 K7 + 0x542A01F3, // 0015 LDINT R10 500 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x70020006, // 0018 JMP #0020 + 0x1C1C0D0B, // 0019 EQ R7 R6 K11 + 0x781E0004, // 001A JMPF R7 #0020 + 0x8C1C070A, // 001B GETMET R7 R3 K10 + 0x88240907, // 001C GETMBR R9 R4 K7 + 0x542A270F, // 001D LDINT R10 10000 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x601C0003, // 0020 GETGBL R7 G3 + 0x5C200000, // 0021 MOVE R8 R0 + 0x7C1C0200, // 0022 CALL R7 1 + 0x8C1C0F0C, // 0023 GETMET R7 R7 K12 + 0x5C240200, // 0024 MOVE R9 R1 + 0x5C280400, // 0025 MOVE R10 R2 + 0x5C2C0600, // 0026 MOVE R11 R3 + 0x7C1C0800, // 0027 CALL R7 4 + 0x80040E00, // 0028 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Humidity_pre_value, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0004, // 0002 JMPF R2 #0008 + 0x60080009, // 0003 GETGBL R2 G9 + 0x540E0063, // 0004 LDINT R3 100 + 0x080C0203, // 0005 MUL R3 R1 R3 + 0x7C080200, // 0006 CALL R2 1 + 0x70020000, // 0007 JMP #0009 + 0x4C080000, // 0008 LDNIL R2 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Humidity_web_values, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xA4061A00, // 0000 IMPORT R1 K13 + 0x8C08010E, // 0001 GETMET R2 R0 K14 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030F, // 0003 GETMET R2 R1 K15 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140010, // 0005 LDCONST R5 K16 + 0x88180108, // 0006 GETMBR R6 R0 K8 + 0x4C1C0000, // 0007 LDNIL R7 + 0x20180C07, // 0008 NE R6 R6 R7 + 0x781A0005, // 0009 JMPF R6 #0010 + 0x6018000A, // 000A GETGBL R6 G10 + 0x881C0108, // 000B GETMBR R7 R0 K8 + 0x7C180200, // 000C CALL R6 1 + 0x541E0063, // 000D LDINT R7 100 + 0x0C180C07, // 000E DIV R6 R6 R7 + 0x70020000, // 000F JMP #0011 + 0x4C180000, // 0010 LDNIL R6 + 0x7C100400, // 0011 CALL R4 2 + 0x7C080400, // 0012 CALL R2 2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Humidity +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_class(Matter_Plugin_Sensor_Humidity, + 0, + &be_class_Matter_Plugin_Sensor, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(775, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Humidity_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Humidity), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1029, 2), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Humidity) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Humidity) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(humidity) }, + })), + be_str_weak(Matter_Plugin_Sensor_Humidity) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Illuminance.h new file mode 100644 index 000000000..e9a45cbd6 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Illuminance.h @@ -0,0 +1,239 @@ +/* Solidification of Matter_Plugin_3_Sensor_Illuminance.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Illuminance' ktab size: 19, total: 23 (saved 32 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Illuminance[19] = { + /* K0 */ be_nested_str_weak(attribute_updated), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(set_or_nil), + /* K7 */ be_nested_str_weak(U2), + /* K8 */ be_nested_str_weak(shadow_value), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(set), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(math), + /* K14 */ be_nested_str_weak(log10), + /* K15 */ be_nested_str_weak(webserver), + /* K16 */ be_nested_str_weak(web_values_prefix), + /* K17 */ be_nested_str_weak(content_send), + /* K18 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25i_X20lux), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E03FF, // 0001 LDINT R3 1024 + 0x58100001, // 0002 LDCONST R4 K1 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E03FF, // 0004 LDINT R7 1024 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0018, // 0006 JMPF R7 #0020 + 0x1C1C0D01, // 0007 EQ R7 R6 K1 + 0x781E0007, // 0008 JMPF R7 #0011 + 0x8C1C0706, // 0009 GETMET R7 R3 K6 + 0x88240907, // 000A GETMBR R9 R4 K7 + 0x60280009, // 000B GETGBL R10 G9 + 0x882C0108, // 000C GETMBR R11 R0 K8 + 0x7C280200, // 000D CALL R10 1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x7002000E, // 0010 JMP #0020 + 0x1C1C0D09, // 0011 EQ R7 R6 K9 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C070A, // 0013 GETMET R7 R3 K10 + 0x88240907, // 0014 GETMBR R9 R4 K7 + 0x58280009, // 0015 LDCONST R10 K9 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x70020006, // 0018 JMP #0020 + 0x1C1C0D0B, // 0019 EQ R7 R6 K11 + 0x781E0004, // 001A JMPF R7 #0020 + 0x8C1C070A, // 001B GETMET R7 R3 K10 + 0x88240907, // 001C GETMBR R9 R4 K7 + 0x542AFFFD, // 001D LDINT R10 65534 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x601C0003, // 0020 GETGBL R7 G3 + 0x5C200000, // 0021 MOVE R8 R0 + 0x7C1C0200, // 0022 CALL R7 1 + 0x8C1C0F0C, // 0023 GETMET R7 R7 K12 + 0x5C240200, // 0024 MOVE R9 R1 + 0x5C280400, // 0025 MOVE R10 R2 + 0x5C2C0600, // 0026 MOVE R11 R3 + 0x7C1C0800, // 0027 CALL R7 4 + 0x80040E00, // 0028 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0xA40A1A00, // 0005 IMPORT R2 K13 + 0x140C0301, // 0006 LT R3 R1 K1 + 0x780E0001, // 0007 JMPF R3 #000A + 0x80060200, // 0008 RET 1 K1 + 0x70020005, // 0009 JMP #0010 + 0x8C0C050E, // 000A GETMET R3 R2 K14 + 0x00140309, // 000B ADD R5 R1 K9 + 0x7C0C0400, // 000C CALL R3 2 + 0x5412270F, // 000D LDINT R4 10000 + 0x080C0604, // 000E MUL R3 R3 R4 + 0x80040600, // 000F RET 1 R3 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_web_values, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA4061E00, // 0000 IMPORT R1 K15 + 0x8C080110, // 0001 GETMET R2 R0 K16 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080311, // 0003 GETMET R2 R1 K17 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140012, // 0005 LDCONST R5 K18 + 0x60180009, // 0006 GETGBL R6 G9 + 0x881C0108, // 0007 GETMBR R7 R0 K8 + 0x7C180200, // 0008 CALL R6 1 + 0x7C100400, // 0009 CALL R4 2 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Illuminance +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_class(Matter_Plugin_Sensor_Illuminance, + 0, + &be_class_Matter_Plugin_Sensor, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(262, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Illuminance), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1024, 1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Illuminance) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Illuminance) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(illuminance) }, + })), + be_str_weak(Matter_Plugin_Sensor_Illuminance) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Occupancy.h new file mode 100644 index 000000000..19e2467dd --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Occupancy.h @@ -0,0 +1,249 @@ +/* Solidification of Matter_Plugin_3_Sensor_Occupancy.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Occupancy' ktab size: 25, total: 30 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Occupancy[25] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(set_or_nil), + /* K6 */ be_nested_str_weak(U1), + /* K7 */ be_nested_str_weak(shadow_bool_value), + /* K8 */ be_const_int(1), + /* K9 */ be_nested_str_weak(set), + /* K10 */ be_const_int(3), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(webserver), + /* K14 */ be_nested_str_weak(web_values_prefix), + /* K15 */ be_nested_str_weak(content_send), + /* K16 */ be_nested_str_weak(Occupancy_X25i_X20_X25s), + /* K17 */ be_nested_str_weak(web_value_onoff), + /* K18 */ be_nested_str_weak(shadow_occupancy), + /* K19 */ be_nested_str_weak(get_name), + /* K20 */ be_nested_str_weak(Switch), + /* K21 */ be_nested_str_weak(PREFIX), + /* K22 */ be_nested_str_weak(html_escape), + /* K23 */ be_nested_str_weak(), + /* K24 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0405, // 0004 LDINT R7 1030 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0016, // 0006 JMPF R7 #001E + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E0005, // 0008 JMPF R7 #000F + 0x8C1C0705, // 0009 GETMET R7 R3 K5 + 0x88240906, // 000A GETMBR R9 R4 K6 + 0x88280107, // 000B GETMBR R10 R0 K7 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x7002000E, // 000E JMP #001E + 0x1C1C0D08, // 000F EQ R7 R6 K8 + 0x781E0005, // 0010 JMPF R7 #0017 + 0x8C1C0709, // 0011 GETMET R7 R3 K9 + 0x88240906, // 0012 GETMBR R9 R4 K6 + 0x5828000A, // 0013 LDCONST R10 K10 + 0x7C1C0600, // 0014 CALL R7 3 + 0x80040E00, // 0015 RET 1 R7 + 0x70020006, // 0016 JMP #001E + 0x1C1C0D0B, // 0017 EQ R7 R6 K11 + 0x781E0004, // 0018 JMPF R7 #001E + 0x8C1C0709, // 0019 GETMET R7 R3 K9 + 0x88240906, // 001A GETMBR R9 R4 K6 + 0x58280004, // 001B LDCONST R10 K4 + 0x7C1C0600, // 001C CALL R7 3 + 0x80040E00, // 001D RET 1 R7 + 0x601C0003, // 001E GETGBL R7 G3 + 0x5C200000, // 001F MOVE R8 R0 + 0x7C1C0200, // 0020 CALL R7 1 + 0x8C1C0F0C, // 0021 GETMET R7 R7 K12 + 0x5C240200, // 0022 MOVE R9 R1 + 0x5C280400, // 0023 MOVE R10 R2 + 0x5C2C0600, // 0024 MOVE R11 R3 + 0x7C1C0800, // 0025 CALL R7 4 + 0x80040E00, // 0026 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4061A00, // 0000 IMPORT R1 K13 + 0x8C08010E, // 0001 GETMET R2 R0 K14 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030F, // 0003 GETMET R2 R1 K15 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140010, // 0005 LDCONST R5 K16 + 0x88180107, // 0006 GETMBR R6 R0 K7 + 0x8C1C0111, // 0007 GETMET R7 R0 K17 + 0x88240112, // 0008 GETMBR R9 R0 K18 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4061A00, // 0000 IMPORT R1 K13 + 0x8C080113, // 0001 GETMET R2 R0 K19 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x88100107, // 0006 GETMBR R4 R0 K7 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E2803, // 0008 ADD R3 K20 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C030F, // 000A GETMET R3 R1 K15 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180115, // 000C GETMBR R6 R0 K21 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0316, // 000E GETMET R7 R1 K22 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0017, // 0012 LDCONST R7 K23 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_value_updated, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040118, // 0000 GETMET R1 R0 K24 + 0x540E0405, // 0001 LDINT R3 1030 + 0x58100004, // 0002 LDCONST R4 K4 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Occupancy +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; +be_local_class(Matter_Plugin_Sensor_Occupancy, + 0, + &be_class_Matter_Plugin_Sensor_Boolean, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(263, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) }, + { be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Occupancy), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1030, 1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Occupancy) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_prefix_closure) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_value_updated_closure) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(occupancy) }, + })), + be_str_weak(Matter_Plugin_Sensor_Occupancy) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_OnOff.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_OnOff.h new file mode 100644 index 000000000..82e516422 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_OnOff.h @@ -0,0 +1,170 @@ +/* Solidification of Matter_Plugin_3_Sensor_OnOff.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_OnOff' ktab size: 12, total: 14 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_OnOff[12] = { + /* K0 */ be_nested_str_weak(_X2C_X22OnOff_X22_X3A_X25s), + /* K1 */ be_nested_str_weak(shadow_bool_value), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(update_shadow_lazy), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(set), + /* K9 */ be_nested_str_weak(BOOL), + /* K10 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_OnOff; + +/******************************************************************** +** Solidified function: append_state_json +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */ + be_str_weak(append_state_json), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60040018, // 0000 GETGBL R1 G24 + 0x58080000, // 0001 LDCONST R2 K0 + 0x600C0009, // 0002 GETGBL R3 G9 + 0x88100101, // 0003 GETMBR R4 R0 K1 + 0x7C0C0200, // 0004 CALL R3 1 + 0x7C040400, // 0005 CALL R1 2 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E0005, // 0004 LDINT R7 6 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0008, // 0006 JMPF R7 #0010 + 0x8C1C0106, // 0007 GETMET R7 R0 K6 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D07, // 0009 EQ R7 R6 K7 + 0x781E0004, // 000A JMPF R7 #0010 + 0x8C1C0708, // 000B GETMET R7 R3 K8 + 0x88240909, // 000C GETMBR R9 R4 K9 + 0x88280101, // 000D GETMBR R10 R0 K1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x601C0003, // 0010 GETGBL R7 G3 + 0x5C200000, // 0011 MOVE R8 R0 + 0x7C1C0200, // 0012 CALL R7 1 + 0x8C1C0F0A, // 0013 GETMET R7 R7 K10 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x7C1C0800, // 0017 CALL R7 4 + 0x80040E00, // 0018 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_OnOff_value_updated, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C04010B, // 0000 GETMET R1 R0 K11 + 0x540E0005, // 0001 LDINT R3 6 + 0x58100007, // 0002 LDCONST R4 K7 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_OnOff +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; +be_local_class(Matter_Plugin_Sensor_OnOff, + 0, + &be_class_Matter_Plugin_Sensor_Boolean, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(OnOff_X20Sensor) }, + { be_const_key_weak(append_state_json, 7), be_const_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json_closure) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(2128, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(OnOff), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(OnOff) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(onoff) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_value_updated_closure) }, + })), + be_str_weak(Matter_Plugin_Sensor_OnOff) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Pressure.h new file mode 100644 index 000000000..b5264a407 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Pressure.h @@ -0,0 +1,229 @@ +/* Solidification of Matter_Plugin_3_Sensor_Pressure.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Pressure' ktab size: 17, total: 19 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Pressure[17] = { + /* K0 */ be_nested_str_weak(attribute_updated), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(set_or_nil), + /* K7 */ be_nested_str_weak(I2), + /* K8 */ be_nested_str_weak(shadow_value), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(set), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(webserver), + /* K14 */ be_nested_str_weak(web_values_prefix), + /* K15 */ be_nested_str_weak(content_send), + /* K16 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Pressure_value_changed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E0402, // 0001 LDINT R3 1027 + 0x58100001, // 0002 LDCONST R4 K1 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E0402, // 0004 LDINT R7 1027 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0018, // 0006 JMPF R7 #0020 + 0x1C1C0D01, // 0007 EQ R7 R6 K1 + 0x781E0007, // 0008 JMPF R7 #0011 + 0x8C1C0706, // 0009 GETMET R7 R3 K6 + 0x88240907, // 000A GETMBR R9 R4 K7 + 0x60280009, // 000B GETGBL R10 G9 + 0x882C0108, // 000C GETMBR R11 R0 K8 + 0x7C280200, // 000D CALL R10 1 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x7002000E, // 0010 JMP #0020 + 0x1C1C0D09, // 0011 EQ R7 R6 K9 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C070A, // 0013 GETMET R7 R3 K10 + 0x88240907, // 0014 GETMBR R9 R4 K7 + 0x542A01F3, // 0015 LDINT R10 500 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x70020006, // 0018 JMP #0020 + 0x1C1C0D0B, // 0019 EQ R7 R6 K11 + 0x781E0004, // 001A JMPF R7 #0020 + 0x8C1C070A, // 001B GETMET R7 R3 K10 + 0x88240907, // 001C GETMBR R9 R4 K7 + 0x542A05DB, // 001D LDINT R10 1500 + 0x7C1C0600, // 001E CALL R7 3 + 0x80040E00, // 001F RET 1 R7 + 0x601C0003, // 0020 GETGBL R7 G3 + 0x5C200000, // 0021 MOVE R8 R0 + 0x7C1C0200, // 0022 CALL R7 1 + 0x8C1C0F0C, // 0023 GETMET R7 R7 K12 + 0x5C240200, // 0024 MOVE R9 R1 + 0x5C280400, // 0025 MOVE R10 R2 + 0x5C2C0600, // 0026 MOVE R11 R3 + 0x7C1C0800, // 0027 CALL R7 4 + 0x80040E00, // 0028 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Pressure_pre_value, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0003, // 0002 JMPF R2 #0007 + 0x60080009, // 0003 GETGBL R2 G9 + 0x5C0C0200, // 0004 MOVE R3 R1 + 0x7C080200, // 0005 CALL R2 1 + 0x70020000, // 0006 JMP #0008 + 0x4C080000, // 0007 LDNIL R2 + 0x80040400, // 0008 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Pressure_web_values, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA4061A00, // 0000 IMPORT R1 K13 + 0x8C08010E, // 0001 GETMET R2 R0 K14 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030F, // 0003 GETMET R2 R1 K15 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140010, // 0005 LDCONST R5 K16 + 0x60180009, // 0006 GETGBL R6 G9 + 0x881C0108, // 0007 GETMBR R7 R0 K8 + 0x7C180200, // 0008 CALL R6 1 + 0x7C100400, // 0009 CALL R4 2 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Pressure +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_class(Matter_Plugin_Sensor_Pressure, + 0, + &be_class_Matter_Plugin_Sensor, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(773, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Pressure_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Pressure), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(1027, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Pressure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Pressure) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(pressure) }, + })), + be_str_weak(Matter_Plugin_Sensor_Pressure) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Rain.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Rain.h new file mode 100644 index 000000000..588eff2f7 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Rain.h @@ -0,0 +1,229 @@ +/* Solidification of Matter_Plugin_3_Sensor_Rain.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Rain' ktab size: 21, total: 26 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Rain[21] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(set), + /* K6 */ be_nested_str_weak(BOOL), + /* K7 */ be_nested_str_weak(shadow_bool_value), + /* K8 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(webserver), + /* K10 */ be_nested_str_weak(web_values_prefix), + /* K11 */ be_nested_str_weak(content_send), + /* K12 */ be_nested_str_weak(Rain_X25i_X20_X25s), + /* K13 */ be_nested_str_weak(tasmota_switch_index), + /* K14 */ be_nested_str_weak(web_value_onoff), + /* K15 */ be_nested_str_weak(get_name), + /* K16 */ be_nested_str_weak(Switch), + /* K17 */ be_nested_str_weak(PREFIX), + /* K18 */ be_nested_str_weak(html_escape), + /* K19 */ be_nested_str_weak(), + /* K20 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Rain; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Rain_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0044, // 0004 LDINT R7 69 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0006, // 0006 JMPF R7 #000E + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E0004, // 0008 JMPF R7 #000E + 0x8C1C0705, // 0009 GETMET R7 R3 K5 + 0x88240906, // 000A GETMBR R9 R4 K6 + 0x88280107, // 000B GETMBR R10 R0 K7 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x601C0003, // 000E GETGBL R7 G3 + 0x5C200000, // 000F MOVE R8 R0 + 0x7C1C0200, // 0010 CALL R7 1 + 0x8C1C0F08, // 0011 GETMET R7 R7 K8 + 0x5C240200, // 0012 MOVE R9 R1 + 0x5C280400, // 0013 MOVE R10 R2 + 0x5C2C0600, // 0014 MOVE R11 R3 + 0x7C1C0800, // 0015 CALL R7 4 + 0x80040E00, // 0016 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010A, // 0001 GETMET R2 R0 K10 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030B, // 0003 GETMET R2 R1 K11 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814000C, // 0005 LDCONST R5 K12 + 0x8818010D, // 0006 GETMBR R6 R0 K13 + 0x8C1C010E, // 0007 GETMET R7 R0 K14 + 0x88240107, // 0008 GETMBR R9 R0 K7 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010F, // 0001 GETMET R2 R0 K15 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x8810010D, // 0006 GETMBR R4 R0 K13 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E2003, // 0008 ADD R3 K16 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C030B, // 000A GETMET R3 R1 K11 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180111, // 000C GETMBR R6 R0 K17 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0312, // 000E GETMET R7 R1 K18 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0013, // 0012 LDCONST R7 K19 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Rain_value_updated, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040114, // 0000 GETMET R1 R0 K20 + 0x540E0044, // 0001 LDINT R3 69 + 0x58100004, // 0002 LDCONST R4 K4 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Rain +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; +be_local_class(Matter_Plugin_Sensor_Rain, + 0, + &be_class_Matter_Plugin_Sensor_Boolean, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(68, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Rain) }, + { be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Rain_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Rain), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Rain) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_web_values_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_web_values_prefix_closure) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_value_updated_closure) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(rain) }, + })), + be_str_weak(Matter_Plugin_Sensor_Rain) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Temp.h new file mode 100644 index 000000000..540d21ab4 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Temp.h @@ -0,0 +1,274 @@ +/* Solidification of Matter_Plugin_3_Sensor_Temp.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Temp' ktab size: 23, total: 26 (saved 24 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Temp[23] = { + /* K0 */ be_nested_str_weak(attribute_updated), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(matter), + /* K3 */ be_nested_str_weak(TLV), + /* K4 */ be_nested_str_weak(cluster), + /* K5 */ be_nested_str_weak(attribute), + /* K6 */ be_nested_str_weak(set_or_nil), + /* K7 */ be_nested_str_weak(I2), + /* K8 */ be_nested_str_weak(shadow_value), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(set), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(read_attribute), + /* K13 */ be_nested_str_weak(BRIDGE), + /* K14 */ be_nested_str_weak(temp_unit), + /* K15 */ be_nested_str_weak(TEMP_F), + /* K16 */ be_const_real_hex(0x3FE66666), + /* K17 */ be_nested_str_weak(tasmota), + /* K18 */ be_nested_str_weak(get_option), + /* K19 */ be_nested_str_weak(webserver), + /* K20 */ be_nested_str_weak(web_values_prefix), + /* K21 */ be_nested_str_weak(content_send), + /* K22 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Temp; + +/******************************************************************** +** Solidified function: value_changed +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Temp_value_changed, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */ + be_str_weak(value_changed), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E0401, // 0001 LDINT R3 1026 + 0x58100001, // 0002 LDCONST R4 K1 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Temp_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0xB8120400, // 0000 GETNGBL R4 K2 + 0x88100903, // 0001 GETMBR R4 R4 K3 + 0x88140504, // 0002 GETMBR R5 R2 K4 + 0x88180505, // 0003 GETMBR R6 R2 K5 + 0x541E0401, // 0004 LDINT R7 1026 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0016, // 0006 JMPF R7 #001E + 0x1C1C0D01, // 0007 EQ R7 R6 K1 + 0x781E0005, // 0008 JMPF R7 #000F + 0x8C1C0706, // 0009 GETMET R7 R3 K6 + 0x88240907, // 000A GETMBR R9 R4 K7 + 0x88280108, // 000B GETMBR R10 R0 K8 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x7002000E, // 000E JMP #001E + 0x1C1C0D09, // 000F EQ R7 R6 K9 + 0x781E0005, // 0010 JMPF R7 #0017 + 0x8C1C070A, // 0011 GETMET R7 R3 K10 + 0x88240907, // 0012 GETMBR R9 R4 K7 + 0x5429EC77, // 0013 LDINT R10 -5000 + 0x7C1C0600, // 0014 CALL R7 3 + 0x80040E00, // 0015 RET 1 R7 + 0x70020006, // 0016 JMP #001E + 0x1C1C0D0B, // 0017 EQ R7 R6 K11 + 0x781E0004, // 0018 JMPF R7 #001E + 0x8C1C070A, // 0019 GETMET R7 R3 K10 + 0x88240907, // 001A GETMBR R9 R4 K7 + 0x542A3A97, // 001B LDINT R10 15000 + 0x7C1C0600, // 001C CALL R7 3 + 0x80040E00, // 001D RET 1 R7 + 0x601C0003, // 001E GETGBL R7 G3 + 0x5C200000, // 001F MOVE R8 R0 + 0x7C1C0200, // 0020 CALL R7 1 + 0x8C1C0F0C, // 0021 GETMET R7 R7 K12 + 0x5C240200, // 0022 MOVE R9 R1 + 0x5C280400, // 0023 MOVE R10 R2 + 0x5C2C0600, // 0024 MOVE R11 R3 + 0x7C1C0800, // 0025 CALL R7 4 + 0x80040E00, // 0026 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pre_value +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Temp_pre_value, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */ + be_str_weak(pre_value), + &be_const_str_solidified, + ( &(const binstruction[42]) { /* code */ + 0x8808010D, // 0000 GETMBR R2 R0 K13 + 0x780A0012, // 0001 JMPF R2 #0015 + 0x8808010E, // 0002 GETMBR R2 R0 K14 + 0x880C010F, // 0003 GETMBR R3 R0 K15 + 0x1C080403, // 0004 EQ R2 R2 R3 + 0x780A0003, // 0005 JMPF R2 #000A + 0x540A001F, // 0006 LDINT R2 32 + 0x04080202, // 0007 SUB R2 R1 R2 + 0x0C080510, // 0008 DIV R2 R2 K16 + 0x5C040400, // 0009 MOVE R1 R2 + 0x4C080000, // 000A LDNIL R2 + 0x20080202, // 000B NE R2 R1 R2 + 0x780A0004, // 000C JMPF R2 #0012 + 0x60080009, // 000D GETGBL R2 G9 + 0x540E0063, // 000E LDINT R3 100 + 0x080C0203, // 000F MUL R3 R1 R3 + 0x7C080200, // 0010 CALL R2 1 + 0x70020000, // 0011 JMP #0013 + 0x4C080000, // 0012 LDNIL R2 + 0x80040400, // 0013 RET 1 R2 + 0x70020013, // 0014 JMP #0029 + 0xB80A2200, // 0015 GETNGBL R2 K17 + 0x8C080512, // 0016 GETMET R2 R2 K18 + 0x54120007, // 0017 LDINT R4 8 + 0x7C080400, // 0018 CALL R2 2 + 0x1C080509, // 0019 EQ R2 R2 K9 + 0x780A0003, // 001A JMPF R2 #001F + 0x540A001F, // 001B LDINT R2 32 + 0x04080202, // 001C SUB R2 R1 R2 + 0x0C080510, // 001D DIV R2 R2 K16 + 0x5C040400, // 001E MOVE R1 R2 + 0x4C080000, // 001F LDNIL R2 + 0x20080202, // 0020 NE R2 R1 R2 + 0x780A0004, // 0021 JMPF R2 #0027 + 0x60080009, // 0022 GETGBL R2 G9 + 0x540E0063, // 0023 LDINT R3 100 + 0x080C0203, // 0024 MUL R3 R1 R3 + 0x7C080200, // 0025 CALL R2 1 + 0x70020000, // 0026 JMP #0028 + 0x4C080000, // 0027 LDNIL R2 + 0x80040400, // 0028 RET 1 R2 + 0x80000000, // 0029 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Temp_web_values, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xA4062600, // 0000 IMPORT R1 K19 + 0x8C080114, // 0001 GETMET R2 R0 K20 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080315, // 0003 GETMET R2 R1 K21 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140016, // 0005 LDCONST R5 K22 + 0x88180108, // 0006 GETMBR R6 R0 K8 + 0x4C1C0000, // 0007 LDNIL R7 + 0x20180C07, // 0008 NE R6 R6 R7 + 0x781A0005, // 0009 JMPF R6 #0010 + 0x6018000A, // 000A GETGBL R6 G10 + 0x881C0108, // 000B GETMBR R7 R0 K8 + 0x7C180200, // 000C CALL R6 1 + 0x541E0063, // 000D LDINT R7 100 + 0x0C180C07, // 000E DIV R6 R6 R7 + 0x70020000, // 000F JMP #0011 + 0x4C180000, // 0010 LDNIL R6 + 0x7C100400, // 0011 CALL R4 2 + 0x7C080400, // 0012 CALL R2 2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Temp +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_class(Matter_Plugin_Sensor_Temp, + 0, + &be_class_Matter_Plugin_Sensor, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(770, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Temp_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Temp_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Temperature), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(1026, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Temperature) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Temperature) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(temperature) }, + })), + be_str_weak(Matter_Plugin_Sensor_Temp) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Waterleak.h new file mode 100644 index 000000000..8a8687e8f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_Sensor_Waterleak.h @@ -0,0 +1,229 @@ +/* Solidification of Matter_Plugin_3_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Sensor_Waterleak' ktab size: 21, total: 26 (saved 40 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Sensor_Waterleak[21] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(set), + /* K6 */ be_nested_str_weak(BOOL), + /* K7 */ be_nested_str_weak(shadow_bool_value), + /* K8 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(webserver), + /* K10 */ be_nested_str_weak(web_values_prefix), + /* K11 */ be_nested_str_weak(content_send), + /* K12 */ be_nested_str_weak(Waterleak_X25i_X20_X25s), + /* K13 */ be_nested_str_weak(tasmota_switch_index), + /* K14 */ be_nested_str_weak(web_value_onoff), + /* K15 */ be_nested_str_weak(get_name), + /* K16 */ be_nested_str_weak(Switch), + /* K17 */ be_nested_str_weak(PREFIX), + /* K18 */ be_nested_str_weak(html_escape), + /* K19 */ be_nested_str_weak(), + /* K20 */ be_nested_str_weak(attribute_updated), +}; + + +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0044, // 0004 LDINT R7 69 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0006, // 0006 JMPF R7 #000E + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E0004, // 0008 JMPF R7 #000E + 0x8C1C0705, // 0009 GETMET R7 R3 K5 + 0x88240906, // 000A GETMBR R9 R4 K6 + 0x88280107, // 000B GETMBR R10 R0 K7 + 0x7C1C0600, // 000C CALL R7 3 + 0x80040E00, // 000D RET 1 R7 + 0x601C0003, // 000E GETGBL R7 G3 + 0x5C200000, // 000F MOVE R8 R0 + 0x7C1C0200, // 0010 CALL R7 1 + 0x8C1C0F08, // 0011 GETMET R7 R7 K8 + 0x5C240200, // 0012 MOVE R9 R1 + 0x5C280400, // 0013 MOVE R10 R2 + 0x5C2C0600, // 0014 MOVE R11 R3 + 0x7C1C0800, // 0015 CALL R7 4 + 0x80040E00, // 0016 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010A, // 0001 GETMET R2 R0 K10 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08030B, // 0003 GETMET R2 R1 K11 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814000C, // 0005 LDCONST R5 K12 + 0x8818010D, // 0006 GETMBR R6 R0 K13 + 0x8C1C010E, // 0007 GETMET R7 R0 K14 + 0x88240107, // 0008 GETMBR R9 R0 K7 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */ + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4061200, // 0000 IMPORT R1 K9 + 0x8C08010F, // 0001 GETMET R2 R0 K15 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x8810010D, // 0006 GETMBR R4 R0 K13 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E2003, // 0008 ADD R3 K16 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C030B, // 000A GETMET R3 R1 K11 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180111, // 000C GETMBR R6 R0 K17 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0312, // 000E GETMET R7 R1 K18 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0013, // 0012 LDCONST R7 K19 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: value_updated +********************************************************************/ +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_value_updated, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */ + be_str_weak(value_updated), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040114, // 0000 GETMET R1 R0 K20 + 0x540E0044, // 0001 LDINT R3 69 + 0x58100004, // 0002 LDCONST R4 K4 + 0x7C040600, // 0003 CALL R1 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Boolean; +be_local_class(Matter_Plugin_Sensor_Waterleak, + 0, + &be_class_Matter_Plugin_Sensor_Boolean, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(67, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) }, + { be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Waterleak), + })) ) } )) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Waterleak) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_prefix_closure) }, + { be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_value_updated_closure) }, + { be_const_key_weak(TYPE, 3), be_nested_str_weak(waterleak) }, + })), + be_str_weak(Matter_Plugin_Sensor_Waterleak) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_ShutterTilt.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_ShutterTilt.h new file mode 100644 index 000000000..ea430dcbd --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_3_ShutterTilt.h @@ -0,0 +1,435 @@ +/* Solidification of Matter_Plugin_3_ShutterTilt.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_ShutterTilt' ktab size: 42, total: 65 (saved 184 bytes) +static const bvalue be_ktab_class_Matter_Plugin_ShutterTilt[42] = { + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(cmd), + /* K2 */ be_nested_str_weak(Status_X2013), + /* K3 */ be_nested_str_weak(contains), + /* K4 */ be_nested_str_weak(StatusSHT), + /* K5 */ be_nested_str_weak(find), + /* K6 */ be_nested_str_weak(SHT), + /* K7 */ be_nested_str_weak(tasmota_shutter_index), + /* K8 */ be_nested_str_weak(TiltConfig), + /* K9 */ be_nested_str_weak(tilt_min), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(tilt_max), + /* K12 */ be_const_int(1), + /* K13 */ be_nested_str_weak(matter), + /* K14 */ be_nested_str_weak(TLV), + /* K15 */ be_nested_str_weak(cluster), + /* K16 */ be_nested_str_weak(attribute), + /* K17 */ be_nested_str_weak(update_shadow_lazy), + /* K18 */ be_nested_str_weak(set), + /* K19 */ be_nested_str_weak(U1), + /* K20 */ be_nested_str_weak(update_tilt_min_max), + /* K21 */ be_nested_str_weak(scale_uint), + /* K22 */ be_nested_str_weak(shadow_shutter_tilt), + /* K23 */ be_nested_str_weak(U2), + /* K24 */ be_nested_str_weak(NULL), + /* K25 */ be_nested_str_weak(U4), + /* K26 */ be_const_int(3), + /* K27 */ be_nested_str_weak(read_attribute), + /* K28 */ be_nested_str_weak(Shutter), + /* K29 */ be_nested_str_weak(Tilt), + /* K30 */ be_nested_str_weak(attribute_updated), + /* K31 */ be_nested_str_weak(parse_sensors), + /* K32 */ be_nested_str_weak(light), + /* K33 */ be_nested_str_weak(command), + /* K34 */ be_nested_str_weak(findsubval), + /* K35 */ be_nested_str_weak(ShutterTilt), + /* K36 */ be_nested_str_weak(_X20), + /* K37 */ be_nested_str_weak(update_shadow), + /* K38 */ be_nested_str_weak(log), + /* K39 */ be_nested_str_weak(tilt_X25_X3A), + /* K40 */ be_nested_str_weak(tilt_X25_X28no_tilt_support_X29_X3A), + /* K41 */ be_nested_str_weak(invoke_request), +}; + + +extern const bclass be_class_Matter_Plugin_ShutterTilt; + +/******************************************************************** +** Solidified function: update_tilt_min_max +********************************************************************/ +be_local_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */ + be_str_weak(update_tilt_min_max), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x580C0002, // 0002 LDCONST R3 K2 + 0x50100200, // 0003 LDBOOL R4 1 0 + 0x7C040600, // 0004 CALL R1 3 + 0x8C080303, // 0005 GETMET R2 R1 K3 + 0x58100004, // 0006 LDCONST R4 K4 + 0x7C080400, // 0007 CALL R2 2 + 0x780A0016, // 0008 JMPF R2 #0020 + 0x94040304, // 0009 GETIDX R1 R1 K4 + 0x8C080305, // 000A GETMET R2 R1 K5 + 0x60100008, // 000B GETGBL R4 G8 + 0x88140107, // 000C GETMBR R5 R0 K7 + 0x7C100200, // 000D CALL R4 1 + 0x00120C04, // 000E ADD R4 K6 R4 + 0x60140013, // 000F GETGBL R5 G19 + 0x7C140000, // 0010 CALL R5 0 + 0x7C080600, // 0011 CALL R2 3 + 0x8C080505, // 0012 GETMET R2 R2 K5 + 0x58100008, // 0013 LDCONST R4 K8 + 0x7C080400, // 0014 CALL R2 2 + 0x4C0C0000, // 0015 LDNIL R3 + 0x200C0403, // 0016 NE R3 R2 R3 + 0x780E0007, // 0017 JMPF R3 #0020 + 0x600C0009, // 0018 GETGBL R3 G9 + 0x9410050A, // 0019 GETIDX R4 R2 K10 + 0x7C0C0200, // 001A CALL R3 1 + 0x90021203, // 001B SETMBR R0 K9 R3 + 0x600C0009, // 001C GETGBL R3 G9 + 0x9410050C, // 001D GETIDX R4 R2 K12 + 0x7C0C0200, // 001E CALL R3 1 + 0x90021603, // 001F SETMBR R0 K11 R3 + 0x80000000, // 0020 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */ + be_nested_proto( + 14, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[113]) { /* code */ + 0xB8121A00, // 0000 GETNGBL R4 K13 + 0x8810090E, // 0001 GETMBR R4 R4 K14 + 0x8814050F, // 0002 GETMBR R5 R2 K15 + 0x88180510, // 0003 GETMBR R6 R2 K16 + 0x541E0101, // 0004 LDINT R7 258 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0060, // 0006 JMPF R7 #0068 + 0x8C1C0111, // 0007 GETMET R7 R0 K17 + 0x7C1C0200, // 0008 CALL R7 1 + 0x541E0006, // 0009 LDINT R7 7 + 0x1C1C0C07, // 000A EQ R7 R6 R7 + 0x781E0008, // 000B JMPF R7 #0015 + 0x8C1C0712, // 000C GETMET R7 R3 K18 + 0x88240913, // 000D GETMBR R9 R4 K19 + 0x542A0007, // 000E LDINT R10 8 + 0x002A180A, // 000F ADD R10 K12 R10 + 0x542E000F, // 0010 LDINT R11 16 + 0x0028140B, // 0011 ADD R10 R10 R11 + 0x7C1C0600, // 0012 CALL R7 3 + 0x80040E00, // 0013 RET 1 R7 + 0x70020052, // 0014 JMP #0068 + 0x541E000E, // 0015 LDINT R7 15 + 0x1C1C0C07, // 0016 EQ R7 R6 R7 + 0x781E0021, // 0017 JMPF R7 #003A + 0x8C1C0114, // 0018 GETMET R7 R0 K20 + 0x7C1C0200, // 0019 CALL R7 1 + 0x881C0109, // 001A GETMBR R7 R0 K9 + 0x4C200000, // 001B LDNIL R8 + 0x201C0E08, // 001C NE R7 R7 R8 + 0x781E0015, // 001D JMPF R7 #0034 + 0x881C010B, // 001E GETMBR R7 R0 K11 + 0x4C200000, // 001F LDNIL R8 + 0x201C0E08, // 0020 NE R7 R7 R8 + 0x781E0011, // 0021 JMPF R7 #0034 + 0xB81E0000, // 0022 GETNGBL R7 K0 + 0x8C1C0F15, // 0023 GETMET R7 R7 K21 + 0x88240116, // 0024 GETMBR R9 R0 K22 + 0x88280109, // 0025 GETMBR R10 R0 K9 + 0x0424120A, // 0026 SUB R9 R9 R10 + 0x5828000A, // 0027 LDCONST R10 K10 + 0x882C010B, // 0028 GETMBR R11 R0 K11 + 0x88300109, // 0029 GETMBR R12 R0 K9 + 0x042C160C, // 002A SUB R11 R11 R12 + 0x5830000A, // 002B LDCONST R12 K10 + 0x5436270F, // 002C LDINT R13 10000 + 0x7C1C0C00, // 002D CALL R7 6 + 0x8C200712, // 002E GETMET R8 R3 K18 + 0x88280917, // 002F GETMBR R10 R4 K23 + 0x5C2C0E00, // 0030 MOVE R11 R7 + 0x7C200600, // 0031 CALL R8 3 + 0x80041000, // 0032 RET 1 R8 + 0x70020004, // 0033 JMP #0039 + 0x8C1C0712, // 0034 GETMET R7 R3 K18 + 0x88240918, // 0035 GETMBR R9 R4 K24 + 0x4C280000, // 0036 LDNIL R10 + 0x7C1C0600, // 0037 CALL R7 3 + 0x80040E00, // 0038 RET 1 R7 + 0x7002002D, // 0039 JMP #0068 + 0x541E000B, // 003A LDINT R7 12 + 0x1C1C0C07, // 003B EQ R7 R6 R7 + 0x781E001F, // 003C JMPF R7 #005D + 0x881C0109, // 003D GETMBR R7 R0 K9 + 0x4C200000, // 003E LDNIL R8 + 0x201C0E08, // 003F NE R7 R7 R8 + 0x781E0015, // 0040 JMPF R7 #0057 + 0x881C010B, // 0041 GETMBR R7 R0 K11 + 0x4C200000, // 0042 LDNIL R8 + 0x201C0E08, // 0043 NE R7 R7 R8 + 0x781E0011, // 0044 JMPF R7 #0057 + 0xB81E0000, // 0045 GETNGBL R7 K0 + 0x8C1C0F15, // 0046 GETMET R7 R7 K21 + 0x88240116, // 0047 GETMBR R9 R0 K22 + 0x88280109, // 0048 GETMBR R10 R0 K9 + 0x0424120A, // 0049 SUB R9 R9 R10 + 0x5828000A, // 004A LDCONST R10 K10 + 0x882C010B, // 004B GETMBR R11 R0 K11 + 0x88300109, // 004C GETMBR R12 R0 K9 + 0x042C160C, // 004D SUB R11 R11 R12 + 0x5830000A, // 004E LDCONST R12 K10 + 0x5436270F, // 004F LDINT R13 10000 + 0x7C1C0C00, // 0050 CALL R7 6 + 0x8C200712, // 0051 GETMET R8 R3 K18 + 0x88280917, // 0052 GETMBR R10 R4 K23 + 0x5C2C0E00, // 0053 MOVE R11 R7 + 0x7C200600, // 0054 CALL R8 3 + 0x80041000, // 0055 RET 1 R8 + 0x70020004, // 0056 JMP #005C + 0x8C1C0712, // 0057 GETMET R7 R3 K18 + 0x88240918, // 0058 GETMBR R9 R4 K24 + 0x4C280000, // 0059 LDNIL R10 + 0x7C1C0600, // 005A CALL R7 3 + 0x80040E00, // 005B RET 1 R7 + 0x7002000A, // 005C JMP #0068 + 0x541EFFFB, // 005D LDINT R7 65532 + 0x1C1C0C07, // 005E EQ R7 R6 R7 + 0x781E0007, // 005F JMPF R7 #0068 + 0x8C1C0712, // 0060 GETMET R7 R3 K18 + 0x88240919, // 0061 GETMBR R9 R4 K25 + 0x542A0003, // 0062 LDINT R10 4 + 0x002A340A, // 0063 ADD R10 K26 R10 + 0x542E000F, // 0064 LDINT R11 16 + 0x0028140B, // 0065 ADD R10 R10 R11 + 0x7C1C0600, // 0066 CALL R7 3 + 0x80040E00, // 0067 RET 1 R7 + 0x601C0003, // 0068 GETGBL R7 G3 + 0x5C200000, // 0069 MOVE R8 R0 + 0x7C1C0200, // 006A CALL R7 1 + 0x8C1C0F1B, // 006B GETMET R7 R7 K27 + 0x5C240200, // 006C MOVE R9 R1 + 0x5C280400, // 006D MOVE R10 R2 + 0x5C2C0600, // 006E MOVE R11 R3 + 0x7C1C0800, // 006F CALL R7 4 + 0x80040E00, // 0070 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_sensors +********************************************************************/ +be_local_closure(class_Matter_Plugin_ShutterTilt_parse_sensors, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */ + be_str_weak(parse_sensors), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x880C0107, // 0001 GETMBR R3 R0 K7 + 0x000C070C, // 0002 ADD R3 R3 K12 + 0x7C080200, // 0003 CALL R2 1 + 0x000A3802, // 0004 ADD R2 K28 R2 + 0x8C0C0303, // 0005 GETMET R3 R1 K3 + 0x5C140400, // 0006 MOVE R5 R2 + 0x7C0C0400, // 0007 CALL R3 2 + 0x780E000E, // 0008 JMPF R3 #0018 + 0x940C0202, // 0009 GETIDX R3 R1 R2 + 0x8C100705, // 000A GETMET R4 R3 K5 + 0x5818001D, // 000B LDCONST R6 K29 + 0x7C100400, // 000C CALL R4 2 + 0x4C140000, // 000D LDNIL R5 + 0x20140805, // 000E NE R5 R4 R5 + 0x78160007, // 000F JMPF R5 #0018 + 0x88140116, // 0010 GETMBR R5 R0 K22 + 0x20140805, // 0011 NE R5 R4 R5 + 0x78160003, // 0012 JMPF R5 #0017 + 0x8C14011E, // 0013 GETMET R5 R0 K30 + 0x541E0101, // 0014 LDINT R7 258 + 0x5422000E, // 0015 LDINT R8 15 + 0x7C140600, // 0016 CALL R5 3 + 0x90022C04, // 0017 SETMBR R0 K22 R4 + 0x600C0003, // 0018 GETGBL R3 G3 + 0x5C100000, // 0019 MOVE R4 R0 + 0x7C0C0200, // 001A CALL R3 1 + 0x8C0C071F, // 001B GETMET R3 R3 K31 + 0x5C140200, // 001C MOVE R5 R1 + 0x7C0C0400, // 001D CALL R3 2 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_ShutterTilt_invoke_request, /* name */ + be_nested_proto( + 18, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[79]) { /* code */ + 0xA4124000, // 0000 IMPORT R4 K32 + 0xB8161A00, // 0001 GETNGBL R5 K13 + 0x88140B0E, // 0002 GETMBR R5 R5 K14 + 0x8818070F, // 0003 GETMBR R6 R3 K15 + 0x881C0721, // 0004 GETMBR R7 R3 K33 + 0x54220101, // 0005 LDINT R8 258 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x7822003D, // 0007 JMPF R8 #0046 + 0x8C200111, // 0008 GETMET R8 R0 K17 + 0x7C200200, // 0009 CALL R8 1 + 0x54220007, // 000A LDINT R8 8 + 0x1C200E08, // 000B EQ R8 R7 R8 + 0x78220038, // 000C JMPF R8 #0046 + 0x8C200522, // 000D GETMET R8 R2 K34 + 0x5828000A, // 000E LDCONST R10 K10 + 0x7C200400, // 000F CALL R8 2 + 0x4C240000, // 0010 LDNIL R9 + 0x20241009, // 0011 NE R9 R8 R9 + 0x78260030, // 0012 JMPF R9 #0044 + 0x8C240114, // 0013 GETMET R9 R0 K20 + 0x7C240200, // 0014 CALL R9 1 + 0x88240109, // 0015 GETMBR R9 R0 K9 + 0x4C280000, // 0016 LDNIL R10 + 0x2024120A, // 0017 NE R9 R9 R10 + 0x78260025, // 0018 JMPF R9 #003F + 0x8824010B, // 0019 GETMBR R9 R0 K11 + 0x4C280000, // 001A LDNIL R10 + 0x2024120A, // 001B NE R9 R9 R10 + 0x78260021, // 001C JMPF R9 #003F + 0x88240109, // 001D GETMBR R9 R0 K9 + 0xB82A0000, // 001E GETNGBL R10 K0 + 0x8C281515, // 001F GETMET R10 R10 K21 + 0x5C301000, // 0020 MOVE R12 R8 + 0x5834000A, // 0021 LDCONST R13 K10 + 0x543A270F, // 0022 LDINT R14 10000 + 0x583C000A, // 0023 LDCONST R15 K10 + 0x8840010B, // 0024 GETMBR R16 R0 K11 + 0x88440109, // 0025 GETMBR R17 R0 K9 + 0x04402011, // 0026 SUB R16 R16 R17 + 0x7C280C00, // 0027 CALL R10 6 + 0x0024120A, // 0028 ADD R9 R9 R10 + 0xB82A0000, // 0029 GETNGBL R10 K0 + 0x8C281501, // 002A GETMET R10 R10 K1 + 0x60300008, // 002B GETGBL R12 G8 + 0x88340107, // 002C GETMBR R13 R0 K7 + 0x00341B0C, // 002D ADD R13 R13 K12 + 0x7C300200, // 002E CALL R12 1 + 0x0032460C, // 002F ADD R12 K35 R12 + 0x00301924, // 0030 ADD R12 R12 K36 + 0x60340008, // 0031 GETGBL R13 G8 + 0x5C381200, // 0032 MOVE R14 R9 + 0x7C340200, // 0033 CALL R13 1 + 0x0030180D, // 0034 ADD R12 R12 R13 + 0x50340000, // 0035 LDBOOL R13 0 0 + 0x7C280600, // 0036 CALL R10 3 + 0x8C280125, // 0037 GETMET R10 R0 K37 + 0x7C280200, // 0038 CALL R10 1 + 0x60280008, // 0039 GETGBL R10 G8 + 0x5C2C1000, // 003A MOVE R11 R8 + 0x7C280200, // 003B CALL R10 1 + 0x002A4E0A, // 003C ADD R10 K39 R10 + 0x900E4C0A, // 003D SETMBR R3 K38 R10 + 0x70020004, // 003E JMP #0044 + 0x60240008, // 003F GETGBL R9 G8 + 0x5C281000, // 0040 MOVE R10 R8 + 0x7C240200, // 0041 CALL R9 1 + 0x00265009, // 0042 ADD R9 K40 R9 + 0x900E4C09, // 0043 SETMBR R3 K38 R9 + 0x50240200, // 0044 LDBOOL R9 1 0 + 0x80041200, // 0045 RET 1 R9 + 0x60200003, // 0046 GETGBL R8 G3 + 0x5C240000, // 0047 MOVE R9 R0 + 0x7C200200, // 0048 CALL R8 1 + 0x8C201129, // 0049 GETMET R8 R8 K41 + 0x5C280200, // 004A MOVE R10 R1 + 0x5C2C0400, // 004B MOVE R11 R2 + 0x5C300600, // 004C MOVE R12 R3 + 0x7C200800, // 004D CALL R8 4 + 0x80041000, // 004E RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_ShutterTilt +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_class(Matter_Plugin_ShutterTilt, + 3, + &be_class_Matter_Plugin_Shutter, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(update_tilt_min_max, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter_X20_X2B_X20Tilt) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_read_attribute_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter_X2Btilt) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(258, -1), be_const_bytes_instance(000000050007000A000B000C000D000E000F0017FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(tilt_min, 8), be_const_var(1) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_parse_sensors_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_invoke_request_closure) }, + { be_const_key_weak(shadow_shutter_tilt, -1), be_const_var(0) }, + { be_const_key_weak(tilt_max, 3), be_const_var(2) }, + })), + be_str_weak(Matter_Plugin_ShutterTilt) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light2.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light2.h new file mode 100644 index 000000000..e92e3336b --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light2.h @@ -0,0 +1,699 @@ +/* Solidification of Matter_Plugin_4_Light2.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Light2' ktab size: 52, total: 91 (saved 312 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Light2[52] = { + /* K0 */ be_nested_str_weak(find), + /* K1 */ be_nested_str_weak(CT), + /* K2 */ be_nested_str_weak(set_ct), + /* K3 */ be_nested_str_weak(update_virtual), + /* K4 */ be_nested_str_weak(matter), + /* K5 */ be_nested_str_weak(TLV), + /* K6 */ be_nested_str_weak(cluster), + /* K7 */ be_nested_str_weak(attribute), + /* K8 */ be_nested_str_weak(update_shadow_lazy), + /* K9 */ be_nested_str_weak(set_or_nil), + /* K10 */ be_nested_str_weak(U1), + /* K11 */ be_nested_str_weak(shadow_ct), + /* K12 */ be_nested_str_weak(set), + /* K13 */ be_const_int(2), + /* K14 */ be_const_int(0), + /* K15 */ be_nested_str_weak(ct_min), + /* K16 */ be_nested_str_weak(ct_max), + /* K17 */ be_nested_str_weak(U4), + /* K18 */ be_nested_str_weak(read_attribute), + /* K19 */ be_nested_str_weak(VIRTUAL), + /* K20 */ be_nested_str_weak(BRIDGE), + /* K21 */ be_nested_str_weak(light), + /* K22 */ be_nested_str_weak(update_ct_minmax), + /* K23 */ be_nested_str_weak(update_shadow), + /* K24 */ be_nested_str_weak(get), + /* K25 */ be_nested_str_weak(light_index), + /* K26 */ be_nested_str_weak(ct), + /* K27 */ be_nested_str_weak(attribute_updated), + /* K28 */ be_nested_str_weak(call_remote_sync), + /* K29 */ be_nested_str_weak(parse_status), + /* K30 */ be_nested_str_weak(), + /* K31 */ be_const_int(1000000), + /* K32 */ be_nested_str_weak(_X25iK), + /* K33 */ be_nested_str_weak(_X26_X239898_X3B_X20), + /* K34 */ be_nested_str_weak(webserver), + /* K35 */ be_nested_str_weak(web_values_prefix), + /* K36 */ be_nested_str_weak(content_send), + /* K37 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s), + /* K38 */ be_nested_str_weak(web_value_onoff), + /* K39 */ be_nested_str_weak(shadow_onoff), + /* K40 */ be_nested_str_weak(web_value_dimmer), + /* K41 */ be_nested_str_weak(web_value_ct), + /* K42 */ be_nested_str_weak(init), + /* K43 */ be_const_int(1), + /* K44 */ be_nested_str_weak(command), + /* K45 */ be_nested_str_weak(findsubval), + /* K46 */ be_nested_str_weak(log), + /* K47 */ be_nested_str_weak(ct_X3A), + /* K48 */ be_nested_str_weak(publish_command), + /* K49 */ be_nested_str_weak(invoke_request), + /* K50 */ be_nested_str_weak(tasmota), + /* K51 */ be_nested_str_weak(get_option), +}; + + +extern const bclass be_class_Matter_Plugin_Light2; + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_update_virtual, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x8C0C0300, // 0001 GETMET R3 R1 K0 + 0x58140001, // 0002 LDCONST R5 K1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x7C080200, // 0004 CALL R2 1 + 0x4C0C0000, // 0005 LDNIL R3 + 0x200C0403, // 0006 NE R3 R2 R3 + 0x780E0002, // 0007 JMPF R3 #000B + 0x8C0C0102, // 0008 GETMET R3 R0 K2 + 0x5C140400, // 0009 MOVE R5 R2 + 0x7C0C0400, // 000A CALL R3 2 + 0x600C0003, // 000B GETGBL R3 G3 + 0x5C100000, // 000C MOVE R4 R0 + 0x7C0C0200, // 000D CALL R3 1 + 0x8C0C0703, // 000E GETMET R3 R3 K3 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C0C0400, // 0010 CALL R3 2 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[71]) { /* code */ + 0xB8120800, // 0000 GETNGBL R4 K4 + 0x88100905, // 0001 GETMBR R4 R4 K5 + 0x88140506, // 0002 GETMBR R5 R2 K6 + 0x88180507, // 0003 GETMBR R6 R2 K7 + 0x541E02FF, // 0004 LDINT R7 768 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0036, // 0006 JMPF R7 #003E + 0x8C1C0108, // 0007 GETMET R7 R0 K8 + 0x7C1C0200, // 0008 CALL R7 1 + 0x541E0006, // 0009 LDINT R7 7 + 0x1C1C0C07, // 000A EQ R7 R6 R7 + 0x781E0005, // 000B JMPF R7 #0012 + 0x8C1C0709, // 000C GETMET R7 R3 K9 + 0x8824090A, // 000D GETMBR R9 R4 K10 + 0x8828010B, // 000E GETMBR R10 R0 K11 + 0x7C1C0600, // 000F CALL R7 3 + 0x80040E00, // 0010 RET 1 R7 + 0x7002002B, // 0011 JMP #003E + 0x541E0007, // 0012 LDINT R7 8 + 0x1C1C0C07, // 0013 EQ R7 R6 R7 + 0x781E0005, // 0014 JMPF R7 #001B + 0x8C1C070C, // 0015 GETMET R7 R3 K12 + 0x8824090A, // 0016 GETMBR R9 R4 K10 + 0x5828000D, // 0017 LDCONST R10 K13 + 0x7C1C0600, // 0018 CALL R7 3 + 0x80040E00, // 0019 RET 1 R7 + 0x70020022, // 001A JMP #003E + 0x541E000E, // 001B LDINT R7 15 + 0x1C1C0C07, // 001C EQ R7 R6 R7 + 0x781E0005, // 001D JMPF R7 #0024 + 0x8C1C070C, // 001E GETMET R7 R3 K12 + 0x8824090A, // 001F GETMBR R9 R4 K10 + 0x5828000E, // 0020 LDCONST R10 K14 + 0x7C1C0600, // 0021 CALL R7 3 + 0x80040E00, // 0022 RET 1 R7 + 0x70020019, // 0023 JMP #003E + 0x541E400A, // 0024 LDINT R7 16395 + 0x1C1C0C07, // 0025 EQ R7 R6 R7 + 0x781E0005, // 0026 JMPF R7 #002D + 0x8C1C070C, // 0027 GETMET R7 R3 K12 + 0x8824090A, // 0028 GETMBR R9 R4 K10 + 0x8828010F, // 0029 GETMBR R10 R0 K15 + 0x7C1C0600, // 002A CALL R7 3 + 0x80040E00, // 002B RET 1 R7 + 0x70020010, // 002C JMP #003E + 0x541E400B, // 002D LDINT R7 16396 + 0x1C1C0C07, // 002E EQ R7 R6 R7 + 0x781E0005, // 002F JMPF R7 #0036 + 0x8C1C070C, // 0030 GETMET R7 R3 K12 + 0x8824090A, // 0031 GETMBR R9 R4 K10 + 0x88280110, // 0032 GETMBR R10 R0 K16 + 0x7C1C0600, // 0033 CALL R7 3 + 0x80040E00, // 0034 RET 1 R7 + 0x70020007, // 0035 JMP #003E + 0x541EFFFB, // 0036 LDINT R7 65532 + 0x1C1C0C07, // 0037 EQ R7 R6 R7 + 0x781E0004, // 0038 JMPF R7 #003E + 0x8C1C070C, // 0039 GETMET R7 R3 K12 + 0x88240911, // 003A GETMBR R9 R4 K17 + 0x542A000F, // 003B LDINT R10 16 + 0x7C1C0600, // 003C CALL R7 3 + 0x80040E00, // 003D RET 1 R7 + 0x601C0003, // 003E GETGBL R7 G3 + 0x5C200000, // 003F MOVE R8 R0 + 0x7C1C0200, // 0040 CALL R7 1 + 0x8C1C0F12, // 0041 GETMET R7 R7 K18 + 0x5C240200, // 0042 MOVE R9 R1 + 0x5C280400, // 0043 MOVE R10 R2 + 0x5C2C0600, // 0044 MOVE R11 R3 + 0x7C1C0800, // 0045 CALL R7 4 + 0x80040E00, // 0046 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_update_shadow, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x88040113, // 0000 GETMBR R1 R0 K19 + 0x74060020, // 0001 JMPT R1 #0023 + 0x88040114, // 0002 GETMBR R1 R0 K20 + 0x7406001E, // 0003 JMPT R1 #0023 + 0xA4062A00, // 0004 IMPORT R1 K21 + 0x8C080116, // 0005 GETMET R2 R0 K22 + 0x7C080200, // 0006 CALL R2 1 + 0x60080003, // 0007 GETGBL R2 G3 + 0x5C0C0000, // 0008 MOVE R3 R0 + 0x7C080200, // 0009 CALL R2 1 + 0x8C080517, // 000A GETMET R2 R2 K23 + 0x7C080200, // 000B CALL R2 1 + 0x8C080318, // 000C GETMET R2 R1 K24 + 0x88100119, // 000D GETMBR R4 R0 K25 + 0x7C080400, // 000E CALL R2 2 + 0x4C0C0000, // 000F LDNIL R3 + 0x200C0403, // 0010 NE R3 R2 R3 + 0x780E000F, // 0011 JMPF R3 #0022 + 0x8C0C0500, // 0012 GETMET R3 R2 K0 + 0x5814001A, // 0013 LDCONST R5 K26 + 0x4C180000, // 0014 LDNIL R6 + 0x7C0C0600, // 0015 CALL R3 3 + 0x4C100000, // 0016 LDNIL R4 + 0x1C100604, // 0017 EQ R4 R3 R4 + 0x78120000, // 0018 JMPF R4 #001A + 0x880C010B, // 0019 GETMBR R3 R0 K11 + 0x8810010B, // 001A GETMBR R4 R0 K11 + 0x20100604, // 001B NE R4 R3 R4 + 0x78120004, // 001C JMPF R4 #0022 + 0x8C10011B, // 001D GETMET R4 R0 K27 + 0x541A02FF, // 001E LDINT R6 768 + 0x541E0006, // 001F LDINT R7 7 + 0x7C100600, // 0020 CALL R4 3 + 0x90021603, // 0021 SETMBR R0 K11 R3 + 0x70020004, // 0022 JMP #0028 + 0x60040003, // 0023 GETGBL R1 G3 + 0x5C080000, // 0024 MOVE R2 R0 + 0x7C040200, // 0025 CALL R1 1 + 0x8C040317, // 0026 GETMET R1 R1 K23 + 0x7C040200, // 0027 CALL R1 1 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ct +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_set_ct, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(set_ct), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x8808010F, // 0000 GETMBR R2 R0 K15 + 0x14080202, // 0001 LT R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x8804010F, // 0003 GETMBR R1 R0 K15 + 0x88080110, // 0004 GETMBR R2 R0 K16 + 0x24080202, // 0005 GT R2 R1 R2 + 0x780A0000, // 0006 JMPF R2 #0008 + 0x88040110, // 0007 GETMBR R1 R0 K16 + 0x88080114, // 0008 GETMBR R2 R0 K20 + 0x780A000D, // 0009 JMPF R2 #0018 + 0x8C08011C, // 000A GETMET R2 R0 K28 + 0x58100001, // 000B LDCONST R4 K1 + 0x60140008, // 000C GETGBL R5 G8 + 0x5C180200, // 000D MOVE R6 R1 + 0x7C140200, // 000E CALL R5 1 + 0x7C080600, // 000F CALL R2 3 + 0x4C0C0000, // 0010 LDNIL R3 + 0x200C0403, // 0011 NE R3 R2 R3 + 0x780E0003, // 0012 JMPF R3 #0017 + 0x8C0C011D, // 0013 GETMET R3 R0 K29 + 0x5C140400, // 0014 MOVE R5 R2 + 0x541A000A, // 0015 LDINT R6 11 + 0x7C0C0600, // 0016 CALL R3 3 + 0x70020013, // 0017 JMP #002C + 0x88080113, // 0018 GETMBR R2 R0 K19 + 0x780A0008, // 0019 JMPF R2 #0023 + 0x8808010B, // 001A GETMBR R2 R0 K11 + 0x20080202, // 001B NE R2 R1 R2 + 0x780A0004, // 001C JMPF R2 #0022 + 0x8C08011B, // 001D GETMET R2 R0 K27 + 0x541202FF, // 001E LDINT R4 768 + 0x54160006, // 001F LDINT R5 7 + 0x7C080600, // 0020 CALL R2 3 + 0x90021601, // 0021 SETMBR R0 K11 R1 + 0x70020008, // 0022 JMP #002C + 0xA40A2A00, // 0023 IMPORT R2 K21 + 0x8C0C050C, // 0024 GETMET R3 R2 K12 + 0x60140013, // 0025 GETGBL R5 G19 + 0x7C140000, // 0026 CALL R5 0 + 0x98163401, // 0027 SETIDX R5 K26 R1 + 0x88180119, // 0028 GETMBR R6 R0 K25 + 0x7C0C0600, // 0029 CALL R3 3 + 0x8C0C0117, // 002A GETMET R3 R0 K23 + 0x7C0C0200, // 002B CALL R3 1 + 0x80000000, // 002C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_parse_status, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C071D, // 0003 GETMET R3 R3 K29 + 0x5C140200, // 0004 MOVE R5 R1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x540E000A, // 0007 LDINT R3 11 + 0x1C0C0403, // 0008 EQ R3 R2 R3 + 0x780E0017, // 0009 JMPF R3 #0022 + 0x600C0009, // 000A GETGBL R3 G9 + 0x8C100300, // 000B GETMET R4 R1 K0 + 0x58180001, // 000C LDCONST R6 K1 + 0x7C100400, // 000D CALL R4 2 + 0x7C0C0200, // 000E CALL R3 1 + 0x4C100000, // 000F LDNIL R4 + 0x20100604, // 0010 NE R4 R3 R4 + 0x7812000F, // 0011 JMPF R4 #0022 + 0x8810010B, // 0012 GETMBR R4 R0 K11 + 0x20100604, // 0013 NE R4 R3 R4 + 0x7812000C, // 0014 JMPF R4 #0022 + 0x8810010F, // 0015 GETMBR R4 R0 K15 + 0x14100604, // 0016 LT R4 R3 R4 + 0x78120000, // 0017 JMPF R4 #0019 + 0x880C010F, // 0018 GETMBR R3 R0 K15 + 0x88100110, // 0019 GETMBR R4 R0 K16 + 0x24100604, // 001A GT R4 R3 R4 + 0x78120000, // 001B JMPF R4 #001D + 0x880C0110, // 001C GETMBR R3 R0 K16 + 0x8C10011B, // 001D GETMET R4 R0 K27 + 0x541A02FF, // 001E LDINT R6 768 + 0x541E0006, // 001F LDINT R7 7 + 0x7C100600, // 0020 CALL R4 3 + 0x90021603, // 0021 SETMBR R0 K11 R3 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_value_ct +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_web_value_ct, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(web_value_ct), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x5804001E, // 0000 LDCONST R1 K30 + 0x8808010B, // 0001 GETMBR R2 R0 K11 + 0x4C0C0000, // 0002 LDNIL R3 + 0x20080403, // 0003 NE R2 R2 R3 + 0x780A000C, // 0004 JMPF R2 #0012 + 0x8808010B, // 0005 GETMBR R2 R0 K11 + 0x0C0A3E02, // 0006 DIV R2 K31 R2 + 0x540E0018, // 0007 LDINT R3 25 + 0x00080403, // 0008 ADD R2 R2 R3 + 0x540E0031, // 0009 LDINT R3 50 + 0x0C080403, // 000A DIV R2 R2 R3 + 0x540E0031, // 000B LDINT R3 50 + 0x08080403, // 000C MUL R2 R2 R3 + 0x600C0018, // 000D GETGBL R3 G24 + 0x58100020, // 000E LDCONST R4 K32 + 0x5C140400, // 000F MOVE R5 R2 + 0x7C0C0400, // 0010 CALL R3 2 + 0x5C040600, // 0011 MOVE R1 R3 + 0x000A4201, // 0012 ADD R2 K33 R1 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0xA4064400, // 0000 IMPORT R1 K34 + 0x8C080123, // 0001 GETMET R2 R0 K35 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080324, // 0003 GETMET R2 R1 K36 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140025, // 0005 LDCONST R5 K37 + 0x8C180126, // 0006 GETMET R6 R0 K38 + 0x88200127, // 0007 GETMBR R8 R0 K39 + 0x7C180400, // 0008 CALL R6 2 + 0x8C1C0128, // 0009 GETMET R7 R0 K40 + 0x7C1C0200, // 000A CALL R7 1 + 0x8C200129, // 000B GETMET R8 R0 K41 + 0x7C200200, // 000C CALL R8 1 + 0x7C100800, // 000D CALL R4 4 + 0x7C080400, // 000E CALL R2 2 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C10092A, // 0003 GETMET R4 R4 K42 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x88100114, // 0008 GETMBR R4 R0 K20 + 0x74120009, // 0009 JMPT R4 #0014 + 0x54120144, // 000A LDINT R4 325 + 0x90021604, // 000B SETMBR R0 K11 R4 + 0xA4122A00, // 000C IMPORT R4 K21 + 0x8C140918, // 000D GETMET R5 R4 K24 + 0x581C002B, // 000E LDCONST R7 K43 + 0x7C140400, // 000F CALL R5 2 + 0x4C180000, // 0010 LDNIL R6 + 0x20140A06, // 0011 NE R5 R5 R6 + 0x78160000, // 0012 JMPF R5 #0014 + 0x9002332B, // 0013 SETMBR R0 K25 K43 + 0x8C100116, // 0014 GETMET R4 R0 K22 + 0x7C100200, // 0015 CALL R4 1 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_invoke_request, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[66]) { /* code */ + 0xB8120800, // 0000 GETNGBL R4 K4 + 0x88100905, // 0001 GETMBR R4 R4 K5 + 0x88140706, // 0002 GETMBR R5 R3 K6 + 0x8818072C, // 0003 GETMBR R6 R3 K44 + 0x541E02FF, // 0004 LDINT R7 768 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0030, // 0006 JMPF R7 #0038 + 0x8C1C0108, // 0007 GETMET R7 R0 K8 + 0x7C1C0200, // 0008 CALL R7 1 + 0x541E0009, // 0009 LDINT R7 10 + 0x1C1C0C07, // 000A EQ R7 R6 R7 + 0x781E0019, // 000B JMPF R7 #0026 + 0x8C1C052D, // 000C GETMET R7 R2 K45 + 0x5824000E, // 000D LDCONST R9 K14 + 0x7C1C0400, // 000E CALL R7 2 + 0x8820010F, // 000F GETMBR R8 R0 K15 + 0x14200E08, // 0010 LT R8 R7 R8 + 0x78220000, // 0011 JMPF R8 #0013 + 0x881C010F, // 0012 GETMBR R7 R0 K15 + 0x88200110, // 0013 GETMBR R8 R0 K16 + 0x24200E08, // 0014 GT R8 R7 R8 + 0x78220000, // 0015 JMPF R8 #0017 + 0x881C0110, // 0016 GETMBR R7 R0 K16 + 0x8C200102, // 0017 GETMET R8 R0 K2 + 0x5C280E00, // 0018 MOVE R10 R7 + 0x7C200400, // 0019 CALL R8 2 + 0x60200008, // 001A GETGBL R8 G8 + 0x5C240E00, // 001B MOVE R9 R7 + 0x7C200200, // 001C CALL R8 1 + 0x00225E08, // 001D ADD R8 K47 R8 + 0x900E5C08, // 001E SETMBR R3 K46 R8 + 0x8C200130, // 001F GETMET R8 R0 K48 + 0x58280001, // 0020 LDCONST R10 K1 + 0x5C2C0E00, // 0021 MOVE R11 R7 + 0x7C200600, // 0022 CALL R8 3 + 0x50200200, // 0023 LDBOOL R8 1 0 + 0x80041000, // 0024 RET 1 R8 + 0x70020010, // 0025 JMP #0037 + 0x541E0046, // 0026 LDINT R7 71 + 0x1C1C0C07, // 0027 EQ R7 R6 R7 + 0x781E0002, // 0028 JMPF R7 #002C + 0x501C0200, // 0029 LDBOOL R7 1 0 + 0x80040E00, // 002A RET 1 R7 + 0x7002000A, // 002B JMP #0037 + 0x541E004A, // 002C LDINT R7 75 + 0x1C1C0C07, // 002D EQ R7 R6 R7 + 0x781E0002, // 002E JMPF R7 #0032 + 0x501C0200, // 002F LDBOOL R7 1 0 + 0x80040E00, // 0030 RET 1 R7 + 0x70020004, // 0031 JMP #0037 + 0x541E004B, // 0032 LDINT R7 76 + 0x1C1C0C07, // 0033 EQ R7 R6 R7 + 0x781E0001, // 0034 JMPF R7 #0037 + 0x501C0200, // 0035 LDBOOL R7 1 0 + 0x80040E00, // 0036 RET 1 R7 + 0x70020008, // 0037 JMP #0041 + 0x601C0003, // 0038 GETGBL R7 G3 + 0x5C200000, // 0039 MOVE R8 R0 + 0x7C1C0200, // 003A CALL R7 1 + 0x8C1C0F31, // 003B GETMET R7 R7 K49 + 0x5C240200, // 003C MOVE R9 R1 + 0x5C280400, // 003D MOVE R10 R2 + 0x5C2C0600, // 003E MOVE R11 R3 + 0x7C1C0800, // 003F CALL R7 4 + 0x80040E00, // 0040 RET 1 R7 + 0x80000000, // 0041 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_ct_minmax +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light2_update_ct_minmax, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light2, /* shared constants */ + be_str_weak(update_ct_minmax), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xB8066400, // 0000 GETNGBL R1 K50 + 0x8C040333, // 0001 GETMET R1 R1 K51 + 0x540E0051, // 0002 LDINT R3 82 + 0x7C040400, // 0003 CALL R1 2 + 0x78060001, // 0004 JMPF R1 #0007 + 0x540A00C7, // 0005 LDINT R2 200 + 0x70020000, // 0006 JMP #0008 + 0x540A0098, // 0007 LDINT R2 153 + 0x90021E02, // 0008 SETMBR R0 K15 R2 + 0x78060001, // 0009 JMPF R1 #000C + 0x540A017B, // 000A LDINT R2 380 + 0x70020000, // 000B JMP #000D + 0x540A01F3, // 000C LDINT R2 500 + 0x90022002, // 000D SETMBR R0 K16 R2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Light2 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_class(Matter_Plugin_Light2, + 3, + &be_class_Matter_Plugin_Light1, + be_nested_map(20, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light2_update_virtual_closure) }, + { be_const_key_weak(DISPLAY_NAME, 6), be_nested_str_weak(Light_X202_X20CT) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light2_read_attribute_closure) }, + { be_const_key_weak(ct_max, 18), be_const_var(2) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak() }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(shadow_ct, -1), be_const_var(0) }, + { be_const_key_weak(set_ct, 16), be_const_closure(class_Matter_Plugin_Light2_set_ct_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(light2) }, + { be_const_key_weak(update_shadow, 8), be_const_closure(class_Matter_Plugin_Light2_update_shadow_closure) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(268, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(web_value_ct, -1), be_const_closure(class_Matter_Plugin_Light2_web_value_ct_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light2_web_values_closure) }, + { be_const_key_weak(ct_min, -1), be_const_var(1) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(8, 7), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, 2), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(768, -1), be_const_bytes_instance(00070008000F400B400CFFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light2_init_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light2_invoke_request_closure) }, + { be_const_key_weak(update_ct_minmax, -1), be_const_closure(class_Matter_Plugin_Light2_update_ct_minmax_closure) }, + { be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light2_parse_status_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(3, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Power), + be_nested_str_weak(Bri), + be_nested_str_weak(CT), + })) ) } )) }, + })), + be_str_weak(Matter_Plugin_Light2) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light3.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light3.h new file mode 100644 index 000000000..5c2f727c1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_4_Light3.h @@ -0,0 +1,954 @@ +/* Solidification of Matter_Plugin_4_Light3.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Plugin_Light3' ktab size: 66, total: 113 (saved 376 bytes) +static const bvalue be_ktab_class_Matter_Plugin_Light3[66] = { + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(command), + /* K4 */ be_nested_str_weak(update_shadow_lazy), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(findsubval), + /* K7 */ be_nested_str_weak(set_hue_sat), + /* K8 */ be_nested_str_weak(log), + /* K9 */ be_nested_str_weak(hue_X3A), + /* K10 */ be_nested_str_weak(publish_command), + /* K11 */ be_nested_str_weak(Hue), + /* K12 */ be_const_int(1), + /* K13 */ be_const_int(2), + /* K14 */ be_const_int(3), + /* K15 */ be_nested_str_weak(sat_X3A), + /* K16 */ be_nested_str_weak(Sat), + /* K17 */ be_nested_str_weak(_X20sat_X3A), + /* K18 */ be_nested_str_weak(invoke_request), + /* K19 */ be_nested_str_weak(attribute), + /* K20 */ be_nested_str_weak(set_or_nil), + /* K21 */ be_nested_str_weak(U1), + /* K22 */ be_nested_str_weak(shadow_hue), + /* K23 */ be_nested_str_weak(shadow_sat), + /* K24 */ be_nested_str_weak(set), + /* K25 */ be_nested_str_weak(U4), + /* K26 */ be_nested_str_weak(read_attribute), + /* K27 */ be_nested_str_weak(VIRTUAL), + /* K28 */ be_nested_str_weak(BRIDGE), + /* K29 */ be_nested_str_weak(light), + /* K30 */ be_nested_str_weak(update_shadow), + /* K31 */ be_nested_str_weak(get), + /* K32 */ be_nested_str_weak(light_index), + /* K33 */ be_nested_str_weak(find), + /* K34 */ be_nested_str_weak(hue), + /* K35 */ be_nested_str_weak(sat), + /* K36 */ be_nested_str_weak(tasmota), + /* K37 */ be_nested_str_weak(scale_uint), + /* K38 */ be_nested_str_weak(attribute_updated), + /* K39 */ be_nested_str_weak(update_virtual), + /* K40 */ be_nested_str_weak(call_remote_sync), + /* K41 */ be_nested_str_weak(HSBColor1), + /* K42 */ be_nested_str_weak(parse_status), + /* K43 */ be_nested_str_weak(HSBColor2), + /* K44 */ be_nested_str_weak(init), + /* K45 */ be_nested_str_weak(webserver), + /* K46 */ be_nested_str_weak(web_values_prefix), + /* K47 */ be_nested_str_weak(content_send), + /* K48 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s), + /* K49 */ be_nested_str_weak(web_value_onoff), + /* K50 */ be_nested_str_weak(shadow_onoff), + /* K51 */ be_nested_str_weak(web_value_dimmer), + /* K52 */ be_nested_str_weak(web_value_RGB), + /* K53 */ be_nested_str_weak(HSBColor), + /* K54 */ be_nested_str_weak(string), + /* K55 */ be_nested_str_weak(split), + /* K56 */ be_nested_str_weak(_X2C), + /* K57 */ be_nested_str_weak(light_state), + /* K58 */ be_nested_str_weak(set_bri), + /* K59 */ be_nested_str_weak(set_huesat), + /* K60 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X), + /* K61 */ be_nested_str_weak(r), + /* K62 */ be_nested_str_weak(g), + /* K63 */ be_nested_str_weak(b), + /* K64 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s), + /* K65 */ be_nested_str_weak(), +}; + + +extern const bclass be_class_Matter_Plugin_Light3; + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_invoke_request, /* name */ + be_nested_proto( + 15, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[121]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140702, // 0002 GETMBR R5 R3 K2 + 0x88180703, // 0003 GETMBR R6 R3 K3 + 0x541E02FF, // 0004 LDINT R7 768 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0067, // 0006 JMPF R7 #006F + 0x8C1C0104, // 0007 GETMET R7 R0 K4 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D05, // 0009 EQ R7 R6 K5 + 0x781E0012, // 000A JMPF R7 #001E + 0x8C1C0506, // 000B GETMET R7 R2 K6 + 0x58240005, // 000C LDCONST R9 K5 + 0x7C1C0400, // 000D CALL R7 2 + 0x8C200107, // 000E GETMET R8 R0 K7 + 0x5C280E00, // 000F MOVE R10 R7 + 0x4C2C0000, // 0010 LDNIL R11 + 0x7C200600, // 0011 CALL R8 3 + 0x60200008, // 0012 GETGBL R8 G8 + 0x5C240E00, // 0013 MOVE R9 R7 + 0x7C200200, // 0014 CALL R8 1 + 0x00221208, // 0015 ADD R8 K9 R8 + 0x900E1008, // 0016 SETMBR R3 K8 R8 + 0x8C20010A, // 0017 GETMET R8 R0 K10 + 0x5828000B, // 0018 LDCONST R10 K11 + 0x5C2C0E00, // 0019 MOVE R11 R7 + 0x7C200600, // 001A CALL R8 3 + 0x50200200, // 001B LDBOOL R8 1 0 + 0x80041000, // 001C RET 1 R8 + 0x7002004F, // 001D JMP #006E + 0x1C1C0D0C, // 001E EQ R7 R6 K12 + 0x781E0002, // 001F JMPF R7 #0023 + 0x501C0200, // 0020 LDBOOL R7 1 0 + 0x80040E00, // 0021 RET 1 R7 + 0x7002004A, // 0022 JMP #006E + 0x1C1C0D0D, // 0023 EQ R7 R6 K13 + 0x781E0002, // 0024 JMPF R7 #0028 + 0x501C0200, // 0025 LDBOOL R7 1 0 + 0x80040E00, // 0026 RET 1 R7 + 0x70020045, // 0027 JMP #006E + 0x1C1C0D0E, // 0028 EQ R7 R6 K14 + 0x781E0012, // 0029 JMPF R7 #003D + 0x8C1C0506, // 002A GETMET R7 R2 K6 + 0x58240005, // 002B LDCONST R9 K5 + 0x7C1C0400, // 002C CALL R7 2 + 0x8C200107, // 002D GETMET R8 R0 K7 + 0x4C280000, // 002E LDNIL R10 + 0x5C2C0E00, // 002F MOVE R11 R7 + 0x7C200600, // 0030 CALL R8 3 + 0x60200008, // 0031 GETGBL R8 G8 + 0x5C240E00, // 0032 MOVE R9 R7 + 0x7C200200, // 0033 CALL R8 1 + 0x00221E08, // 0034 ADD R8 K15 R8 + 0x900E1008, // 0035 SETMBR R3 K8 R8 + 0x8C20010A, // 0036 GETMET R8 R0 K10 + 0x58280010, // 0037 LDCONST R10 K16 + 0x5C2C0E00, // 0038 MOVE R11 R7 + 0x7C200600, // 0039 CALL R8 3 + 0x50200200, // 003A LDBOOL R8 1 0 + 0x80041000, // 003B RET 1 R8 + 0x70020030, // 003C JMP #006E + 0x541E0003, // 003D LDINT R7 4 + 0x1C1C0C07, // 003E EQ R7 R6 R7 + 0x781E0002, // 003F JMPF R7 #0043 + 0x501C0200, // 0040 LDBOOL R7 1 0 + 0x80040E00, // 0041 RET 1 R7 + 0x7002002A, // 0042 JMP #006E + 0x541E0004, // 0043 LDINT R7 5 + 0x1C1C0C07, // 0044 EQ R7 R6 R7 + 0x781E0002, // 0045 JMPF R7 #0049 + 0x501C0200, // 0046 LDBOOL R7 1 0 + 0x80040E00, // 0047 RET 1 R7 + 0x70020024, // 0048 JMP #006E + 0x541E0005, // 0049 LDINT R7 6 + 0x1C1C0C07, // 004A EQ R7 R6 R7 + 0x781E001C, // 004B JMPF R7 #0069 + 0x8C1C0506, // 004C GETMET R7 R2 K6 + 0x58240005, // 004D LDCONST R9 K5 + 0x7C1C0400, // 004E CALL R7 2 + 0x8C200506, // 004F GETMET R8 R2 K6 + 0x5828000C, // 0050 LDCONST R10 K12 + 0x7C200400, // 0051 CALL R8 2 + 0x8C240107, // 0052 GETMET R9 R0 K7 + 0x5C2C0E00, // 0053 MOVE R11 R7 + 0x5C301000, // 0054 MOVE R12 R8 + 0x7C240600, // 0055 CALL R9 3 + 0x60240008, // 0056 GETGBL R9 G8 + 0x5C280E00, // 0057 MOVE R10 R7 + 0x7C240200, // 0058 CALL R9 1 + 0x00261209, // 0059 ADD R9 K9 R9 + 0x00241311, // 005A ADD R9 R9 K17 + 0x60280008, // 005B GETGBL R10 G8 + 0x5C2C1000, // 005C MOVE R11 R8 + 0x7C280200, // 005D CALL R10 1 + 0x0024120A, // 005E ADD R9 R9 R10 + 0x900E1009, // 005F SETMBR R3 K8 R9 + 0x8C24010A, // 0060 GETMET R9 R0 K10 + 0x582C000B, // 0061 LDCONST R11 K11 + 0x5C300E00, // 0062 MOVE R12 R7 + 0x58340010, // 0063 LDCONST R13 K16 + 0x5C381000, // 0064 MOVE R14 R8 + 0x7C240A00, // 0065 CALL R9 5 + 0x50240200, // 0066 LDBOOL R9 1 0 + 0x80041200, // 0067 RET 1 R9 + 0x70020004, // 0068 JMP #006E + 0x541E0046, // 0069 LDINT R7 71 + 0x1C1C0C07, // 006A EQ R7 R6 R7 + 0x781E0001, // 006B JMPF R7 #006E + 0x501C0200, // 006C LDBOOL R7 1 0 + 0x80040E00, // 006D RET 1 R7 + 0x70020008, // 006E JMP #0078 + 0x601C0003, // 006F GETGBL R7 G3 + 0x5C200000, // 0070 MOVE R8 R0 + 0x7C1C0200, // 0071 CALL R7 1 + 0x8C1C0F12, // 0072 GETMET R7 R7 K18 + 0x5C240200, // 0073 MOVE R9 R1 + 0x5C280400, // 0074 MOVE R10 R2 + 0x5C2C0600, // 0075 MOVE R11 R3 + 0x7C1C0800, // 0076 CALL R7 4 + 0x80040E00, // 0077 RET 1 R7 + 0x80000000, // 0078 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[96]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180513, // 0003 GETMBR R6 R2 K19 + 0x541E02FF, // 0004 LDINT R7 768 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E004F, // 0006 JMPF R7 #0057 + 0x8C1C0104, // 0007 GETMET R7 R0 K4 + 0x7C1C0200, // 0008 CALL R7 1 + 0x1C1C0D05, // 0009 EQ R7 R6 K5 + 0x781E0005, // 000A JMPF R7 #0011 + 0x8C1C0714, // 000B GETMET R7 R3 K20 + 0x88240915, // 000C GETMBR R9 R4 K21 + 0x88280116, // 000D GETMBR R10 R0 K22 + 0x7C1C0600, // 000E CALL R7 3 + 0x80040E00, // 000F RET 1 R7 + 0x70020045, // 0010 JMP #0057 + 0x1C1C0D0C, // 0011 EQ R7 R6 K12 + 0x781E0005, // 0012 JMPF R7 #0019 + 0x8C1C0714, // 0013 GETMET R7 R3 K20 + 0x88240915, // 0014 GETMBR R9 R4 K21 + 0x88280117, // 0015 GETMBR R10 R0 K23 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x7002003D, // 0018 JMP #0057 + 0x541E0006, // 0019 LDINT R7 7 + 0x1C1C0C07, // 001A EQ R7 R6 R7 + 0x781E0005, // 001B JMPF R7 #0022 + 0x8C1C0718, // 001C GETMET R7 R3 K24 + 0x88240915, // 001D GETMBR R9 R4 K21 + 0x58280005, // 001E LDCONST R10 K5 + 0x7C1C0600, // 001F CALL R7 3 + 0x80040E00, // 0020 RET 1 R7 + 0x70020034, // 0021 JMP #0057 + 0x541E0007, // 0022 LDINT R7 8 + 0x1C1C0C07, // 0023 EQ R7 R6 R7 + 0x781E0005, // 0024 JMPF R7 #002B + 0x8C1C0718, // 0025 GETMET R7 R3 K24 + 0x88240915, // 0026 GETMBR R9 R4 K21 + 0x58280005, // 0027 LDCONST R10 K5 + 0x7C1C0600, // 0028 CALL R7 3 + 0x80040E00, // 0029 RET 1 R7 + 0x7002002B, // 002A JMP #0057 + 0x541E000E, // 002B LDINT R7 15 + 0x1C1C0C07, // 002C EQ R7 R6 R7 + 0x781E0005, // 002D JMPF R7 #0034 + 0x8C1C0718, // 002E GETMET R7 R3 K24 + 0x88240915, // 002F GETMBR R9 R4 K21 + 0x58280005, // 0030 LDCONST R10 K5 + 0x7C1C0600, // 0031 CALL R7 3 + 0x80040E00, // 0032 RET 1 R7 + 0x70020022, // 0033 JMP #0057 + 0x541E4000, // 0034 LDINT R7 16385 + 0x1C1C0C07, // 0035 EQ R7 R6 R7 + 0x781E0005, // 0036 JMPF R7 #003D + 0x8C1C0718, // 0037 GETMET R7 R3 K24 + 0x88240915, // 0038 GETMBR R9 R4 K21 + 0x58280005, // 0039 LDCONST R10 K5 + 0x7C1C0600, // 003A CALL R7 3 + 0x80040E00, // 003B RET 1 R7 + 0x70020019, // 003C JMP #0057 + 0x541E4009, // 003D LDINT R7 16394 + 0x1C1C0C07, // 003E EQ R7 R6 R7 + 0x781E0005, // 003F JMPF R7 #0046 + 0x8C1C0718, // 0040 GETMET R7 R3 K24 + 0x88240915, // 0041 GETMBR R9 R4 K21 + 0x5828000C, // 0042 LDCONST R10 K12 + 0x7C1C0600, // 0043 CALL R7 3 + 0x80040E00, // 0044 RET 1 R7 + 0x70020010, // 0045 JMP #0057 + 0x541E000F, // 0046 LDINT R7 16 + 0x1C1C0C07, // 0047 EQ R7 R6 R7 + 0x781E0005, // 0048 JMPF R7 #004F + 0x8C1C0718, // 0049 GETMET R7 R3 K24 + 0x88240915, // 004A GETMBR R9 R4 K21 + 0x58280005, // 004B LDCONST R10 K5 + 0x7C1C0600, // 004C CALL R7 3 + 0x80040E00, // 004D RET 1 R7 + 0x70020007, // 004E JMP #0057 + 0x541EFFFB, // 004F LDINT R7 65532 + 0x1C1C0C07, // 0050 EQ R7 R6 R7 + 0x781E0004, // 0051 JMPF R7 #0057 + 0x8C1C0718, // 0052 GETMET R7 R3 K24 + 0x88240919, // 0053 GETMBR R9 R4 K25 + 0x5828000C, // 0054 LDCONST R10 K12 + 0x7C1C0600, // 0055 CALL R7 3 + 0x80040E00, // 0056 RET 1 R7 + 0x601C0003, // 0057 GETGBL R7 G3 + 0x5C200000, // 0058 MOVE R8 R0 + 0x7C1C0200, // 0059 CALL R7 1 + 0x8C1C0F1A, // 005A GETMET R7 R7 K26 + 0x5C240200, // 005B MOVE R9 R1 + 0x5C280400, // 005C MOVE R10 R2 + 0x5C2C0600, // 005D MOVE R11 R3 + 0x7C1C0800, // 005E CALL R7 4 + 0x80040E00, // 005F RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_update_shadow, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[75]) { /* code */ + 0x8804011B, // 0000 GETMBR R1 R0 K27 + 0x74060042, // 0001 JMPT R1 #0045 + 0x8804011C, // 0002 GETMBR R1 R0 K28 + 0x74060040, // 0003 JMPT R1 #0045 + 0xA4063A00, // 0004 IMPORT R1 K29 + 0x60080003, // 0005 GETGBL R2 G3 + 0x5C0C0000, // 0006 MOVE R3 R0 + 0x7C080200, // 0007 CALL R2 1 + 0x8C08051E, // 0008 GETMET R2 R2 K30 + 0x7C080200, // 0009 CALL R2 1 + 0x8C08031F, // 000A GETMET R2 R1 K31 + 0x88100120, // 000B GETMBR R4 R0 K32 + 0x7C080400, // 000C CALL R2 2 + 0x4C0C0000, // 000D LDNIL R3 + 0x200C0403, // 000E NE R3 R2 R3 + 0x780E0033, // 000F JMPF R3 #0044 + 0x8C0C0521, // 0010 GETMET R3 R2 K33 + 0x58140022, // 0011 LDCONST R5 K34 + 0x4C180000, // 0012 LDNIL R6 + 0x7C0C0600, // 0013 CALL R3 3 + 0x8C100521, // 0014 GETMET R4 R2 K33 + 0x58180023, // 0015 LDCONST R6 K35 + 0x4C1C0000, // 0016 LDNIL R7 + 0x7C100600, // 0017 CALL R4 3 + 0x4C140000, // 0018 LDNIL R5 + 0x20140605, // 0019 NE R5 R3 R5 + 0x78160009, // 001A JMPF R5 #0025 + 0xB8164800, // 001B GETNGBL R5 K36 + 0x8C140B25, // 001C GETMET R5 R5 K37 + 0x5C1C0600, // 001D MOVE R7 R3 + 0x58200005, // 001E LDCONST R8 K5 + 0x54260167, // 001F LDINT R9 360 + 0x58280005, // 0020 LDCONST R10 K5 + 0x542E00FD, // 0021 LDINT R11 254 + 0x7C140C00, // 0022 CALL R5 6 + 0x5C0C0A00, // 0023 MOVE R3 R5 + 0x70020000, // 0024 JMP #0026 + 0x880C0116, // 0025 GETMBR R3 R0 K22 + 0x4C140000, // 0026 LDNIL R5 + 0x20140805, // 0027 NE R5 R4 R5 + 0x78160009, // 0028 JMPF R5 #0033 + 0xB8164800, // 0029 GETNGBL R5 K36 + 0x8C140B25, // 002A GETMET R5 R5 K37 + 0x5C1C0800, // 002B MOVE R7 R4 + 0x58200005, // 002C LDCONST R8 K5 + 0x542600FE, // 002D LDINT R9 255 + 0x58280005, // 002E LDCONST R10 K5 + 0x542E00FD, // 002F LDINT R11 254 + 0x7C140C00, // 0030 CALL R5 6 + 0x5C100A00, // 0031 MOVE R4 R5 + 0x70020000, // 0032 JMP #0034 + 0x88100117, // 0033 GETMBR R4 R0 K23 + 0x88140116, // 0034 GETMBR R5 R0 K22 + 0x20140605, // 0035 NE R5 R3 R5 + 0x78160004, // 0036 JMPF R5 #003C + 0x8C140126, // 0037 GETMET R5 R0 K38 + 0x541E02FF, // 0038 LDINT R7 768 + 0x58200005, // 0039 LDCONST R8 K5 + 0x7C140600, // 003A CALL R5 3 + 0x90022C03, // 003B SETMBR R0 K22 R3 + 0x88140117, // 003C GETMBR R5 R0 K23 + 0x20140805, // 003D NE R5 R4 R5 + 0x78160004, // 003E JMPF R5 #0044 + 0x8C140126, // 003F GETMET R5 R0 K38 + 0x541E02FF, // 0040 LDINT R7 768 + 0x5820000C, // 0041 LDCONST R8 K12 + 0x7C140600, // 0042 CALL R5 3 + 0x90022E04, // 0043 SETMBR R0 K23 R4 + 0x70020004, // 0044 JMP #004A + 0x60040003, // 0045 GETGBL R1 G3 + 0x5C080000, // 0046 MOVE R2 R0 + 0x7C040200, // 0047 CALL R1 1 + 0x8C04031E, // 0048 GETMET R1 R1 K30 + 0x7C040200, // 0049 CALL R1 1 + 0x80000000, // 004A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_update_virtual, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x8C0C0321, // 0001 GETMET R3 R1 K33 + 0x5814000B, // 0002 LDCONST R5 K11 + 0x7C0C0400, // 0003 CALL R3 2 + 0x7C080200, // 0004 CALL R2 1 + 0x600C0009, // 0005 GETGBL R3 G9 + 0x8C100321, // 0006 GETMET R4 R1 K33 + 0x58180010, // 0007 LDCONST R6 K16 + 0x7C100400, // 0008 CALL R4 2 + 0x7C0C0200, // 0009 CALL R3 1 + 0x4C100000, // 000A LDNIL R4 + 0x20100404, // 000B NE R4 R2 R4 + 0x74120002, // 000C JMPT R4 #0010 + 0x4C100000, // 000D LDNIL R4 + 0x20100604, // 000E NE R4 R3 R4 + 0x78120003, // 000F JMPF R4 #0014 + 0x8C100107, // 0010 GETMET R4 R0 K7 + 0x5C180400, // 0011 MOVE R6 R2 + 0x5C1C0600, // 0012 MOVE R7 R3 + 0x7C100600, // 0013 CALL R4 3 + 0x60100003, // 0014 GETGBL R4 G3 + 0x5C140000, // 0015 MOVE R5 R0 + 0x7C100200, // 0016 CALL R4 1 + 0x8C100927, // 0017 GETMET R4 R4 K39 + 0x5C180200, // 0018 MOVE R6 R1 + 0x7C100400, // 0019 CALL R4 2 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_hue_sat +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(set_hue_sat), + &be_const_str_solidified, + ( &(const binstruction[154]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0203, // 0001 NE R3 R1 R3 + 0x780E0006, // 0002 JMPF R3 #000A + 0x140C0305, // 0003 LT R3 R1 K5 + 0x780E0000, // 0004 JMPF R3 #0006 + 0x58040005, // 0005 LDCONST R1 K5 + 0x540E00FD, // 0006 LDINT R3 254 + 0x240C0203, // 0007 GT R3 R1 R3 + 0x780E0000, // 0008 JMPF R3 #000A + 0x540600FD, // 0009 LDINT R1 254 + 0x4C0C0000, // 000A LDNIL R3 + 0x200C0403, // 000B NE R3 R2 R3 + 0x780E0006, // 000C JMPF R3 #0014 + 0x140C0505, // 000D LT R3 R2 K5 + 0x780E0000, // 000E JMPF R3 #0010 + 0x58080005, // 000F LDCONST R2 K5 + 0x540E00FD, // 0010 LDINT R3 254 + 0x240C0403, // 0011 GT R3 R2 R3 + 0x780E0000, // 0012 JMPF R3 #0014 + 0x540A00FD, // 0013 LDINT R2 254 + 0x880C011C, // 0014 GETMBR R3 R0 K28 + 0x780E002C, // 0015 JMPF R3 #0043 + 0x4C0C0000, // 0016 LDNIL R3 + 0x200C0203, // 0017 NE R3 R1 R3 + 0x780E0012, // 0018 JMPF R3 #002C + 0xB80E4800, // 0019 GETNGBL R3 K36 + 0x8C0C0725, // 001A GETMET R3 R3 K37 + 0x5C140200, // 001B MOVE R5 R1 + 0x58180005, // 001C LDCONST R6 K5 + 0x541E00FD, // 001D LDINT R7 254 + 0x58200005, // 001E LDCONST R8 K5 + 0x54260167, // 001F LDINT R9 360 + 0x7C0C0C00, // 0020 CALL R3 6 + 0x8C100128, // 0021 GETMET R4 R0 K40 + 0x58180029, // 0022 LDCONST R6 K41 + 0x5C1C0600, // 0023 MOVE R7 R3 + 0x7C100600, // 0024 CALL R4 3 + 0x4C140000, // 0025 LDNIL R5 + 0x20140805, // 0026 NE R5 R4 R5 + 0x78160003, // 0027 JMPF R5 #002C + 0x8C14012A, // 0028 GETMET R5 R0 K42 + 0x5C1C0800, // 0029 MOVE R7 R4 + 0x5422000A, // 002A LDINT R8 11 + 0x7C140600, // 002B CALL R5 3 + 0x4C0C0000, // 002C LDNIL R3 + 0x200C0403, // 002D NE R3 R2 R3 + 0x780E0012, // 002E JMPF R3 #0042 + 0xB80E4800, // 002F GETNGBL R3 K36 + 0x8C0C0725, // 0030 GETMET R3 R3 K37 + 0x5C140400, // 0031 MOVE R5 R2 + 0x58180005, // 0032 LDCONST R6 K5 + 0x541E00FD, // 0033 LDINT R7 254 + 0x58200005, // 0034 LDCONST R8 K5 + 0x54260063, // 0035 LDINT R9 100 + 0x7C0C0C00, // 0036 CALL R3 6 + 0x8C100128, // 0037 GETMET R4 R0 K40 + 0x5818002B, // 0038 LDCONST R6 K43 + 0x5C1C0600, // 0039 MOVE R7 R3 + 0x7C100600, // 003A CALL R4 3 + 0x4C140000, // 003B LDNIL R5 + 0x20140805, // 003C NE R5 R4 R5 + 0x78160003, // 003D JMPF R5 #0042 + 0x8C14012A, // 003E GETMET R5 R0 K42 + 0x5C1C0800, // 003F MOVE R7 R4 + 0x5422000A, // 0040 LDINT R8 11 + 0x7C140600, // 0041 CALL R5 3 + 0x70020055, // 0042 JMP #0099 + 0x880C011B, // 0043 GETMBR R3 R0 K27 + 0x780E0016, // 0044 JMPF R3 #005C + 0x4C0C0000, // 0045 LDNIL R3 + 0x200C0203, // 0046 NE R3 R1 R3 + 0x780E0007, // 0047 JMPF R3 #0050 + 0x880C0116, // 0048 GETMBR R3 R0 K22 + 0x200C0203, // 0049 NE R3 R1 R3 + 0x780E0004, // 004A JMPF R3 #0050 + 0x8C0C0126, // 004B GETMET R3 R0 K38 + 0x541602FF, // 004C LDINT R5 768 + 0x58180005, // 004D LDCONST R6 K5 + 0x7C0C0600, // 004E CALL R3 3 + 0x90022C01, // 004F SETMBR R0 K22 R1 + 0x4C0C0000, // 0050 LDNIL R3 + 0x200C0403, // 0051 NE R3 R2 R3 + 0x780E0007, // 0052 JMPF R3 #005B + 0x880C0117, // 0053 GETMBR R3 R0 K23 + 0x200C0403, // 0054 NE R3 R2 R3 + 0x780E0004, // 0055 JMPF R3 #005B + 0x8C0C0126, // 0056 GETMET R3 R0 K38 + 0x541602FF, // 0057 LDINT R5 768 + 0x5818000C, // 0058 LDCONST R6 K12 + 0x7C0C0600, // 0059 CALL R3 3 + 0x90022E02, // 005A SETMBR R0 K23 R2 + 0x7002003C, // 005B JMP #0099 + 0x4C0C0000, // 005C LDNIL R3 + 0x200C0203, // 005D NE R3 R1 R3 + 0x780E0008, // 005E JMPF R3 #0068 + 0xB80E4800, // 005F GETNGBL R3 K36 + 0x8C0C0725, // 0060 GETMET R3 R3 K37 + 0x5C140200, // 0061 MOVE R5 R1 + 0x58180005, // 0062 LDCONST R6 K5 + 0x541E00FD, // 0063 LDINT R7 254 + 0x58200005, // 0064 LDCONST R8 K5 + 0x54260167, // 0065 LDINT R9 360 + 0x7C0C0C00, // 0066 CALL R3 6 + 0x70020000, // 0067 JMP #0069 + 0x4C0C0000, // 0068 LDNIL R3 + 0x4C100000, // 0069 LDNIL R4 + 0x20100404, // 006A NE R4 R2 R4 + 0x78120008, // 006B JMPF R4 #0075 + 0xB8124800, // 006C GETNGBL R4 K36 + 0x8C100925, // 006D GETMET R4 R4 K37 + 0x5C180400, // 006E MOVE R6 R2 + 0x581C0005, // 006F LDCONST R7 K5 + 0x542200FD, // 0070 LDINT R8 254 + 0x58240005, // 0071 LDCONST R9 K5 + 0x542A00FE, // 0072 LDINT R10 255 + 0x7C100C00, // 0073 CALL R4 6 + 0x70020000, // 0074 JMP #0076 + 0x4C100000, // 0075 LDNIL R4 + 0x4C140000, // 0076 LDNIL R5 + 0x20140605, // 0077 NE R5 R3 R5 + 0x7816000B, // 0078 JMPF R5 #0085 + 0x4C140000, // 0079 LDNIL R5 + 0x20140805, // 007A NE R5 R4 R5 + 0x78160008, // 007B JMPF R5 #0085 + 0xB8163A00, // 007C GETNGBL R5 K29 + 0x8C140B18, // 007D GETMET R5 R5 K24 + 0x601C0013, // 007E GETGBL R7 G19 + 0x7C1C0000, // 007F CALL R7 0 + 0x981E4403, // 0080 SETIDX R7 K34 R3 + 0x981E4604, // 0081 SETIDX R7 K35 R4 + 0x88200120, // 0082 GETMBR R8 R0 K32 + 0x7C140600, // 0083 CALL R5 3 + 0x70020011, // 0084 JMP #0097 + 0x4C140000, // 0085 LDNIL R5 + 0x20140605, // 0086 NE R5 R3 R5 + 0x78160007, // 0087 JMPF R5 #0090 + 0xB8163A00, // 0088 GETNGBL R5 K29 + 0x8C140B18, // 0089 GETMET R5 R5 K24 + 0x601C0013, // 008A GETGBL R7 G19 + 0x7C1C0000, // 008B CALL R7 0 + 0x981E4403, // 008C SETIDX R7 K34 R3 + 0x88200120, // 008D GETMBR R8 R0 K32 + 0x7C140600, // 008E CALL R5 3 + 0x70020006, // 008F JMP #0097 + 0xB8163A00, // 0090 GETNGBL R5 K29 + 0x8C140B18, // 0091 GETMET R5 R5 K24 + 0x601C0013, // 0092 GETGBL R7 G19 + 0x7C1C0000, // 0093 CALL R7 0 + 0x981E4604, // 0094 SETIDX R7 K35 R4 + 0x88200120, // 0095 GETMBR R8 R0 K32 + 0x7C140600, // 0096 CALL R5 3 + 0x8C14011E, // 0097 GETMET R5 R0 K30 + 0x7C140200, // 0098 CALL R5 1 + 0x80000000, // 0099 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C10092C, // 0003 GETMET R4 R4 K44 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x90022D05, // 0008 SETMBR R0 K22 K5 + 0x90022F05, // 0009 SETMBR R0 K23 K5 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0xA4065A00, // 0000 IMPORT R1 K45 + 0x8C08012E, // 0001 GETMET R2 R0 K46 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08032F, // 0003 GETMET R2 R1 K47 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140030, // 0005 LDCONST R5 K48 + 0x8C180131, // 0006 GETMET R6 R0 K49 + 0x88200132, // 0007 GETMBR R8 R0 K50 + 0x7C180400, // 0008 CALL R6 2 + 0x8C1C0133, // 0009 GETMET R7 R0 K51 + 0x7C1C0200, // 000A CALL R7 1 + 0x8C200134, // 000B GETMET R8 R0 K52 + 0x7C200200, // 000C CALL R8 1 + 0x7C100800, // 000D CALL R4 4 + 0x7C080400, // 000E CALL R2 2 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_status +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_parse_status, /* name */ + be_nested_proto( + 15, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(parse_status), + &be_const_str_solidified, + ( &(const binstruction[70]) { /* code */ + 0x600C0003, // 0000 GETGBL R3 G3 + 0x5C100000, // 0001 MOVE R4 R0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C0C072A, // 0003 GETMET R3 R3 K42 + 0x5C140200, // 0004 MOVE R5 R1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x540E000A, // 0007 LDINT R3 11 + 0x1C0C0403, // 0008 EQ R3 R2 R3 + 0x780E003A, // 0009 JMPF R3 #0045 + 0x8C0C0321, // 000A GETMET R3 R1 K33 + 0x58140035, // 000B LDCONST R5 K53 + 0x7C0C0400, // 000C CALL R3 2 + 0x780E0036, // 000D JMPF R3 #0045 + 0xA4126C00, // 000E IMPORT R4 K54 + 0x8C140937, // 000F GETMET R5 R4 K55 + 0x5C1C0600, // 0010 MOVE R7 R3 + 0x58200038, // 0011 LDCONST R8 K56 + 0x7C140600, // 0012 CALL R5 3 + 0x60180009, // 0013 GETGBL R6 G9 + 0x941C0B05, // 0014 GETIDX R7 R5 K5 + 0x7C180200, // 0015 CALL R6 1 + 0x601C0009, // 0016 GETGBL R7 G9 + 0x94200B0C, // 0017 GETIDX R8 R5 K12 + 0x7C1C0200, // 0018 CALL R7 1 + 0x4C200000, // 0019 LDNIL R8 + 0x20200C08, // 001A NE R8 R6 R8 + 0x78220009, // 001B JMPF R8 #0026 + 0xB8224800, // 001C GETNGBL R8 K36 + 0x8C201125, // 001D GETMET R8 R8 K37 + 0x5C280C00, // 001E MOVE R10 R6 + 0x582C0005, // 001F LDCONST R11 K5 + 0x54320167, // 0020 LDINT R12 360 + 0x58340005, // 0021 LDCONST R13 K5 + 0x543A00FD, // 0022 LDINT R14 254 + 0x7C200C00, // 0023 CALL R8 6 + 0x5C181000, // 0024 MOVE R6 R8 + 0x70020000, // 0025 JMP #0027 + 0x88180116, // 0026 GETMBR R6 R0 K22 + 0x4C200000, // 0027 LDNIL R8 + 0x20200E08, // 0028 NE R8 R7 R8 + 0x78220009, // 0029 JMPF R8 #0034 + 0xB8224800, // 002A GETNGBL R8 K36 + 0x8C201125, // 002B GETMET R8 R8 K37 + 0x5C280E00, // 002C MOVE R10 R7 + 0x582C0005, // 002D LDCONST R11 K5 + 0x54320063, // 002E LDINT R12 100 + 0x58340005, // 002F LDCONST R13 K5 + 0x543A00FD, // 0030 LDINT R14 254 + 0x7C200C00, // 0031 CALL R8 6 + 0x5C1C1000, // 0032 MOVE R7 R8 + 0x70020000, // 0033 JMP #0035 + 0x881C0117, // 0034 GETMBR R7 R0 K23 + 0x88200116, // 0035 GETMBR R8 R0 K22 + 0x20200C08, // 0036 NE R8 R6 R8 + 0x78220004, // 0037 JMPF R8 #003D + 0x8C200126, // 0038 GETMET R8 R0 K38 + 0x542A02FF, // 0039 LDINT R10 768 + 0x582C0005, // 003A LDCONST R11 K5 + 0x7C200600, // 003B CALL R8 3 + 0x90022C06, // 003C SETMBR R0 K22 R6 + 0x88200117, // 003D GETMBR R8 R0 K23 + 0x20200E08, // 003E NE R8 R7 R8 + 0x78220004, // 003F JMPF R8 #0045 + 0x8C200126, // 0040 GETMET R8 R0 K38 + 0x542A02FF, // 0041 LDINT R10 768 + 0x582C000C, // 0042 LDCONST R11 K12 + 0x7C200600, // 0043 CALL R8 3 + 0x90022E07, // 0044 SETMBR R0 K23 R7 + 0x80000000, // 0045 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_value_RGB +********************************************************************/ +be_local_closure(class_Matter_Plugin_Light3_web_value_RGB, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Plugin_Light3, /* shared constants */ + be_str_weak(web_value_RGB), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x88040116, // 0000 GETMBR R1 R0 K22 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060027, // 0003 JMPF R1 #002C + 0x88040117, // 0004 GETMBR R1 R0 K23 + 0x4C080000, // 0005 LDNIL R2 + 0x20040202, // 0006 NE R1 R1 R2 + 0x78060023, // 0007 JMPF R1 #002C + 0xB8067200, // 0008 GETNGBL R1 K57 + 0x5808000E, // 0009 LDCONST R2 K14 + 0x7C040200, // 000A CALL R1 1 + 0x8C08033A, // 000B GETMET R2 R1 K58 + 0x541200FE, // 000C LDINT R4 255 + 0x7C080400, // 000D CALL R2 2 + 0x8C08033B, // 000E GETMET R2 R1 K59 + 0xB8124800, // 000F GETNGBL R4 K36 + 0x8C100925, // 0010 GETMET R4 R4 K37 + 0x88180116, // 0011 GETMBR R6 R0 K22 + 0x581C0005, // 0012 LDCONST R7 K5 + 0x542200FD, // 0013 LDINT R8 254 + 0x58240005, // 0014 LDCONST R9 K5 + 0x542A0167, // 0015 LDINT R10 360 + 0x7C100C00, // 0016 CALL R4 6 + 0xB8164800, // 0017 GETNGBL R5 K36 + 0x8C140B25, // 0018 GETMET R5 R5 K37 + 0x881C0117, // 0019 GETMBR R7 R0 K23 + 0x58200005, // 001A LDCONST R8 K5 + 0x542600FD, // 001B LDINT R9 254 + 0x58280005, // 001C LDCONST R10 K5 + 0x542E00FE, // 001D LDINT R11 255 + 0x7C140C00, // 001E CALL R5 6 + 0x7C080600, // 001F CALL R2 3 + 0x60080018, // 0020 GETGBL R2 G24 + 0x580C003C, // 0021 LDCONST R3 K60 + 0x8810033D, // 0022 GETMBR R4 R1 K61 + 0x8814033E, // 0023 GETMBR R5 R1 K62 + 0x8818033F, // 0024 GETMBR R6 R1 K63 + 0x7C080800, // 0025 CALL R2 4 + 0x600C0018, // 0026 GETGBL R3 G24 + 0x58100040, // 0027 LDCONST R4 K64 + 0x5C140400, // 0028 MOVE R5 R2 + 0x5C180400, // 0029 MOVE R6 R2 + 0x7C0C0600, // 002A CALL R3 3 + 0x80040600, // 002B RET 1 R3 + 0x80068200, // 002C RET 1 K65 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Light3 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_class(Matter_Plugin_Light3, + 2, + &be_class_Matter_Plugin_Light1, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_HINT, 17), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(light3) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(269, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(4, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Power), + be_nested_str_weak(Bri), + be_nested_str_weak(Hue), + be_nested_str_weak(Sat), + })) ) } )) }, + { be_const_key_weak(shadow_hue, 13), be_const_var(0) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light3_invoke_request_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light3_read_attribute_closure) }, + { be_const_key_weak(update_shadow, 11), be_const_closure(class_Matter_Plugin_Light3_update_shadow_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light3_update_virtual_closure) }, + { be_const_key_weak(ARG, 0), be_nested_str_weak() }, + { be_const_key_weak(shadow_sat, -1), be_const_var(1) }, + { be_const_key_weak(web_value_RGB, -1), be_const_closure(class_Matter_Plugin_Light3_web_value_RGB_closure) }, + { be_const_key_weak(parse_status, 16), be_const_closure(class_Matter_Plugin_Light3_parse_status_closure) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(8, 7), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(5, 2), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) }, + { be_const_key_int(768, -1), be_const_bytes_instance(0000000100070008000F4001400AFFF8FFF9FFFAFFFBFFFCFFFD) }, + })) ) } )) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light3_web_values_closure) }, + { be_const_key_weak(set_hue_sat, 12), be_const_closure(class_Matter_Plugin_Light3_set_hue_sat_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light3_init_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) }, + })), + be_str_weak(Matter_Plugin_Light3) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light0.h new file mode 100644 index 000000000..de83054ba --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light0.h @@ -0,0 +1,25 @@ +/* Solidification of Matter_Plugin_8_Bridge_Light0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Light0; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Light0 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light0; +be_local_class(Matter_Plugin_Bridge_Light0, + 0, + &be_class_Matter_Plugin_Light0, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) }, + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + })), + be_str_weak(Matter_Plugin_Bridge_Light0) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light1.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light1.h new file mode 100644 index 000000000..d539cdbb4 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light1.h @@ -0,0 +1,55 @@ +/* Solidification of Matter_Plugin_8_Bridge_Light1.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Light1; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Bridge_Light1__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Light1 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_class(Matter_Plugin_Bridge_Light1, + 0, + &be_class_Matter_Plugin_Light1, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light1) }, + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light1__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(relay) }, + })), + be_str_weak(Matter_Plugin_Bridge_Light1) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light2.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light2.h new file mode 100644 index 000000000..60135b4a8 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light2.h @@ -0,0 +1,55 @@ +/* Solidification of Matter_Plugin_8_Bridge_Light2.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Light2; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Bridge_Light2__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Light2 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_class(Matter_Plugin_Bridge_Light2, + 0, + &be_class_Matter_Plugin_Light2, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light2) }, + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light2__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(relay) }, + })), + be_str_weak(Matter_Plugin_Bridge_Light2) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light3.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light3.h new file mode 100644 index 000000000..cdd1bd78e --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Light3.h @@ -0,0 +1,55 @@ +/* Solidification of Matter_Plugin_8_Bridge_Light3.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Light3; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Bridge_Light3__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Light3 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_class(Matter_Plugin_Bridge_Light3, + 0, + &be_class_Matter_Plugin_Light3, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light3) }, + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light3__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(relay) }, + })), + be_str_weak(Matter_Plugin_Bridge_Light3) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_OnOff.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_OnOff.h new file mode 100644 index 000000000..afbebb66c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_OnOff.h @@ -0,0 +1,75 @@ +/* Solidification of Matter_Plugin_8_Bridge_OnOff.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_OnOff; + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(class_Matter_Plugin_Bridge_OnOff_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(web_values_prefix), + /* K2 */ be_nested_str_weak(content_send), + /* K3 */ be_nested_str_weak(Relay_X20_X25i_X20_X25s), + /* K4 */ be_nested_str_weak(tasmota_relay_index), + /* K5 */ be_nested_str_weak(web_value_onoff), + /* K6 */ be_nested_str_weak(shadow_onoff), + }), + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080101, // 0001 GETMET R2 R0 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080302, // 0003 GETMET R2 R1 K2 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140003, // 0005 LDCONST R5 K3 + 0x88180104, // 0006 GETMBR R6 R0 K4 + 0x8C1C0105, // 0007 GETMET R7 R0 K5 + 0x88240106, // 0008 GETMBR R9 R0 K6 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_OnOff +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_class(Matter_Plugin_Bridge_OnOff, + 0, + &be_class_Matter_Plugin_Bridge_Light0, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(266, -1), be_const_int(2) }, + })) ) } )) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_OnOff_web_values_closure) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_relay) }, + })), + be_str_weak(Matter_Plugin_Bridge_OnOff) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Air_Quality.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Air_Quality.h new file mode 100644 index 000000000..ef1f3949f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Air_Quality.h @@ -0,0 +1,26 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Air_Quality.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Air_Quality; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Air_Quality +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality; +be_local_class(Matter_Plugin_Bridge_Sensor_Air_Quality, + 0, + &be_class_Matter_Plugin_Sensor_Air_Quality, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, 2), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_airquality) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Air_Quality) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Contact.h new file mode 100644 index 000000000..170284b74 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Contact.h @@ -0,0 +1,26 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Contact.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Contact +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_class(Matter_Plugin_Bridge_Sensor_Contact, + 0, + &be_class_Matter_Plugin_Sensor_Contact, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, 2), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_contact) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Contact) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Flow.h new file mode 100644 index 000000000..08ef3a345 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Flow.h @@ -0,0 +1,24 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Flow.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Flow +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Flow; +be_local_class(Matter_Plugin_Bridge_Sensor_Flow, + 0, + &be_class_Matter_Plugin_Sensor_Flow, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_flow) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Flow) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Humidity.h new file mode 100644 index 000000000..878f9629c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Humidity.h @@ -0,0 +1,24 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Humidity.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Humidity +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, + 0, + &be_class_Matter_Plugin_Sensor_Humidity, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_humidity) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Humidity) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Illuminance.h new file mode 100644 index 000000000..6ef7a803f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Illuminance.h @@ -0,0 +1,24 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Illuminance.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Illuminance +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; +be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, + 0, + &be_class_Matter_Plugin_Sensor_Illuminance, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_illuminance) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Illuminance) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Occupancy.h new file mode 100644 index 000000000..a72539571 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Occupancy.h @@ -0,0 +1,26 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Occupancy.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Occupancy +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, + 0, + &be_class_Matter_Plugin_Sensor_Occupancy, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, 2), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_occupancy) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Occupancy) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Pressure.h new file mode 100644 index 000000000..e6d246669 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Pressure.h @@ -0,0 +1,24 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Pressure.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Pressure +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, + 0, + &be_class_Matter_Plugin_Sensor_Pressure, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_pressure) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Pressure) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Rain.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Rain.h new file mode 100644 index 000000000..61311846b --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Rain.h @@ -0,0 +1,26 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Rain.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Rain; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Rain +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Rain; +be_local_class(Matter_Plugin_Bridge_Sensor_Rain, + 0, + &be_class_Matter_Plugin_Sensor_Rain, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, 2), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_rain) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Rain) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Temp.h new file mode 100644 index 000000000..04a2b8f81 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Temp.h @@ -0,0 +1,24 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Temp.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Temp +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_class(Matter_Plugin_Bridge_Sensor_Temp, + 0, + &be_class_Matter_Plugin_Sensor_Temp, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_temperature) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Temp) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Waterleak.h new file mode 100644 index 000000000..40ceb74e5 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_8_Bridge_Sensor_Waterleak.h @@ -0,0 +1,26 @@ +/* Solidification of Matter_Plugin_8_Bridge_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, + 0, + &be_class_Matter_Plugin_Sensor_Waterleak, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BRIDGE, 2), be_const_bool(1) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_waterleak) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Waterleak) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Fan.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Fan.h new file mode 100644 index 000000000..be063b2e9 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Fan.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Fan.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Fan; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Fan +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Fan; +be_local_class(Matter_Plugin_Virt_Fan, + 0, + &be_class_Matter_Plugin_Fan, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EFan) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_fan) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Fan) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light0.h new file mode 100644 index 000000000..759f4fe3d --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light0.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Light0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Light0; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Light0 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light0; +be_local_class(Matter_Plugin_Virt_Light0, + 0, + &be_class_Matter_Plugin_Light0, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X200_X20OnOff) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light0) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Light0) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light1.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light1.h new file mode 100644 index 000000000..1d8255e69 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light1.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Light1.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Light1; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Light1 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_class(Matter_Plugin_Virt_Light1, + 0, + &be_class_Matter_Plugin_Light1, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X201_X20Dimmer) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light1) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Light1) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light2.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light2.h new file mode 100644 index 000000000..22459ff10 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light2.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Light2.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Light2; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Light2 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_class(Matter_Plugin_Virt_Light2, + 0, + &be_class_Matter_Plugin_Light2, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X202_X20CT) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light2) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Light2) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light3.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light3.h new file mode 100644 index 000000000..5d48ecd9e --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Light3.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Light3.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Light3; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Light3 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_class(Matter_Plugin_Virt_Light3, + 0, + &be_class_Matter_Plugin_Light3, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X203_X20RGB) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light3) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Light3) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_OnOff.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_OnOff.h new file mode 100644 index 000000000..4491fa7b1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_OnOff.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_OnOff.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_OnOff; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_OnOff +********************************************************************/ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_class(Matter_Plugin_Virt_OnOff, + 0, + &be_class_Matter_Plugin_OnOff, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ERelay) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_relay) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_OnOff) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Air_Quality.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Air_Quality.h new file mode 100644 index 000000000..74d87f05f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Air_Quality.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Air_Quality.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Air_Quality; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Air_Quality +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality; +be_local_class(Matter_Plugin_Virt_Sensor_Air_Quality, + 0, + &be_class_Matter_Plugin_Sensor_Air_Quality, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EAir_X20Quality) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_airquality) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Air_Quality) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h new file mode 100644 index 000000000..796f90a49 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Contact.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Contact; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Contact +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_class(Matter_Plugin_Virt_Sensor_Contact, + 0, + &be_class_Matter_Plugin_Sensor_Contact, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EContact) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_contact) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Contact) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h new file mode 100644 index 000000000..19437e3d4 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Flow.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Flow; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Flow +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Flow; +be_local_class(Matter_Plugin_Virt_Sensor_Flow, + 0, + &be_class_Matter_Plugin_Sensor_Flow, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EFlow) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_flow) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Flow) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h new file mode 100644 index 000000000..a17ebdc33 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Humidity.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Humidity; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Humidity +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_class(Matter_Plugin_Virt_Sensor_Humidity, + 0, + &be_class_Matter_Plugin_Sensor_Humidity, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EHumidity) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_humidity) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Humidity) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h new file mode 100644 index 000000000..107ab5ecd --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Illuminance.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Illuminance; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Illuminance +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; +be_local_class(Matter_Plugin_Virt_Sensor_Illuminance, + 0, + &be_class_Matter_Plugin_Sensor_Illuminance, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EIlluminance) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_illuminance) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Illuminance) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h new file mode 100644 index 000000000..b386b3d6e --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Occupancy.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Occupancy; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Occupancy +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_class(Matter_Plugin_Virt_Sensor_Occupancy, + 0, + &be_class_Matter_Plugin_Sensor_Occupancy, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EOccupancy) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_occupancy) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Occupancy) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h new file mode 100644 index 000000000..1e427f815 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Pressure.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Pressure; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Pressure +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_class(Matter_Plugin_Virt_Sensor_Pressure, + 0, + &be_class_Matter_Plugin_Sensor_Pressure, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EPressure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_pressure) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Pressure) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Rain.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Rain.h new file mode 100644 index 000000000..499f6db30 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Rain.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Rain.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Rain; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Rain +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Rain; +be_local_class(Matter_Plugin_Virt_Sensor_Rain, + 0, + &be_class_Matter_Plugin_Sensor_Rain, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ERain) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_rain) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Rain) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h new file mode 100644 index 000000000..e4fd823e0 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Temp.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Temp; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Temp +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_class(Matter_Plugin_Virt_Sensor_Temp, + 0, + &be_class_Matter_Plugin_Sensor_Temp, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ETemperature) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_temp) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Temp) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h new file mode 100644 index 000000000..7fe1705c2 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h @@ -0,0 +1,27 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Waterleak; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_class(Matter_Plugin_Virt_Sensor_Waterleak, + 0, + &be_class_Matter_Plugin_Sensor_Waterleak, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EWaterleak) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(v_waterleak) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ARG, 2), be_nested_str_weak() }, + })), + be_str_weak(Matter_Plugin_Virt_Sensor_Waterleak) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Humidity.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Humidity.h new file mode 100644 index 000000000..553ee4027 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Humidity.h @@ -0,0 +1,58 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Humidity.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Humidity; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Humidity__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Humidity +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_class(Matter_Plugin_Zigbee_Humidity, + 1, + &be_class_Matter_Plugin_Sensor_Humidity, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) }, + { be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Humidity__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) }, + { be_const_key_weak(ZIGBEE, 6), be_const_bool(1) }, + { be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Humidity) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Humidity) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(z_humidity) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Humidity) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light0.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light0.h new file mode 100644 index 000000000..6cfbfb7fd --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light0.h @@ -0,0 +1,58 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Light0.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Light0; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Light0__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Light0 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light0; +be_local_class(Matter_Plugin_Zigbee_Light0, + 1, + &be_class_Matter_Plugin_Light0, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) }, + { be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Light0__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) }, + { be_const_key_weak(ZIGBEE, 6), be_const_bool(1) }, + { be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Power) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X200_X20OnOff) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(z_light0) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Light0) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light1.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light1.h new file mode 100644 index 000000000..92613b70c --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light1.h @@ -0,0 +1,57 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Light1.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Light1; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Light1__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Light1 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_class(Matter_Plugin_Zigbee_Light1, + 1, + &be_class_Matter_Plugin_Light1, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Zigbee_Light1__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Device) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(ZIGBEE, -1), be_const_bool(1) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, 6), be_nested_str_weak(z_light1) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X201_X20Dimmer) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(zigbee_device) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Light1) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light2.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light2.h new file mode 100644 index 000000000..39d892784 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Light2.h @@ -0,0 +1,57 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Light2.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Light2; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Light2__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Light2 +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_class(Matter_Plugin_Zigbee_Light2, + 1, + &be_class_Matter_Plugin_Light2, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Zigbee_Light2__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Device) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(ZIGBEE, -1), be_const_bool(1) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(TYPE, 6), be_nested_str_weak(z_light2) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X202_X20CT) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(zigbee_device) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Light2) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Occupancy.h new file mode 100644 index 000000000..d25b969ba --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Occupancy.h @@ -0,0 +1,58 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Occupancy.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Occupancy; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Occupancy__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Occupancy +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_class(Matter_Plugin_Zigbee_Occupancy, + 1, + &be_class_Matter_Plugin_Sensor_Occupancy, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) }, + { be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Occupancy__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) }, + { be_const_key_weak(ZIGBEE, 6), be_const_bool(1) }, + { be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Occupancy) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Occupancy) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(z_occupancy) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Occupancy) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Pressure.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Pressure.h new file mode 100644 index 000000000..65eb1bdc1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Pressure.h @@ -0,0 +1,58 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Pressure.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Pressure; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Pressure__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Pressure +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_class(Matter_Plugin_Zigbee_Pressure, + 1, + &be_class_Matter_Plugin_Sensor_Pressure, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) }, + { be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Pressure__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) }, + { be_const_key_weak(ZIGBEE, 6), be_const_bool(1) }, + { be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Pressure) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Pressure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(z_pressure) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Pressure) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Temperature.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Temperature.h new file mode 100644 index 000000000..cf5c172c2 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_9_Zigbee_Temperature.h @@ -0,0 +1,58 @@ +/* Solidification of Matter_Plugin_9_Zigbee_Temperature.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Zigbee_Temperature; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(class_Matter_Plugin_Zigbee_Temperature__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Zigbee_Temperature +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_class(Matter_Plugin_Zigbee_Temperature, + 1, + &be_class_Matter_Plugin_Sensor_Temp, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) }, + { be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Temperature__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) }, + { be_const_key_weak(ZIGBEE, 6), be_const_bool(1) }, + { be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Temperature) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(1) }, + { be_const_key_weak(zigbee_mapper, -1), be_const_var(0) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Temperature) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(z_temp) }, + })), + be_str_weak(Matter_Plugin_Zigbee_Temperature) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_z_All.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_z_All.h new file mode 100644 index 000000000..0e624cd4f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Plugin_z_All.h @@ -0,0 +1,7 @@ +/* Solidification of Matter_Plugin_z_All.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Profiler.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Profiler.h new file mode 100644 index 000000000..6463ac2ab --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Profiler.h @@ -0,0 +1,295 @@ +/* Solidification of Matter_Profiler.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Profiler' ktab size: 18, total: 43 (saved 200 bytes) +static const bvalue be_ktab_class_Matter_Profiler[18] = { + /* K0 */ be_nested_str_weak(active), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(PREALLOCATED), + /* K3 */ be_nested_str_weak(millis), + /* K4 */ be_nested_str_weak(names), + /* K5 */ be_const_int(1), + /* K6 */ be_nested_str_weak(len), + /* K7 */ be_nested_str_weak(tasmota), + /* K8 */ be_nested_str_weak(gc), + /* K9 */ be_nested_str_weak(log), + /* K10 */ be_nested_str_weak(start), + /* K11 */ be_nested_str_weak(resize), + /* K12 */ be_nested_str_weak(allocs), + /* K13 */ be_nested_str_weak(reallocs), + /* K14 */ be_nested_str_weak(debug), + /* K15 */ be_nested_str_weak(_X3C_X2D_X2Dend_X2D_X2D_X3E), + /* K16 */ be_nested_str_weak(MTR_X3A_X20Profiler_X20dump_X3A), + /* K17 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X254i_X20_X5B_X254i_X5D_X27_X25s_X27), +}; + + +extern const bclass be_class_Matter_Profiler; + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Matter_Profiler_start, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Profiler, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x74060000, // 0001 JMPT R1 #0003 + 0x80000200, // 0002 RET 0 + 0x58040001, // 0003 LDCONST R1 K1 + 0x88080102, // 0004 GETMBR R2 R0 K2 + 0x14080202, // 0005 LT R2 R1 R2 + 0x780A0007, // 0006 JMPF R2 #000F + 0x88080103, // 0007 GETMBR R2 R0 K3 + 0x4C0C0000, // 0008 LDNIL R3 + 0x98080203, // 0009 SETIDX R2 R1 R3 + 0x88080104, // 000A GETMBR R2 R0 K4 + 0x4C0C0000, // 000B LDNIL R3 + 0x98080203, // 000C SETIDX R2 R1 R3 + 0x00040305, // 000D ADD R1 R1 K5 + 0x7001FFF4, // 000E JMP #0004 + 0x90020D01, // 000F SETMBR R0 K6 K1 + 0xB80A0E00, // 0010 GETNGBL R2 K7 + 0x8C080508, // 0011 GETMET R2 R2 K8 + 0x7C080200, // 0012 CALL R2 1 + 0x8C080109, // 0013 GETMET R2 R0 K9 + 0x5810000A, // 0014 LDCONST R4 K10 + 0x7C080400, // 0015 CALL R2 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Profiler_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Profiler, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x60040012, // 0002 GETGBL R1 G18 + 0x7C040000, // 0003 CALL R1 0 + 0x90020601, // 0004 SETMBR R0 K3 R1 + 0x88040103, // 0005 GETMBR R1 R0 K3 + 0x8C04030B, // 0006 GETMET R1 R1 K11 + 0x880C0102, // 0007 GETMBR R3 R0 K2 + 0x7C040400, // 0008 CALL R1 2 + 0x60040012, // 0009 GETGBL R1 G18 + 0x7C040000, // 000A CALL R1 0 + 0x90020801, // 000B SETMBR R0 K4 R1 + 0x88040104, // 000C GETMBR R1 R0 K4 + 0x8C04030B, // 000D GETMET R1 R1 K11 + 0x880C0102, // 000E GETMBR R3 R0 K2 + 0x7C040400, // 000F CALL R1 2 + 0x60040012, // 0010 GETGBL R1 G18 + 0x7C040000, // 0011 CALL R1 0 + 0x90021801, // 0012 SETMBR R0 K12 R1 + 0x8804010C, // 0013 GETMBR R1 R0 K12 + 0x8C04030B, // 0014 GETMET R1 R1 K11 + 0x880C0102, // 0015 GETMBR R3 R0 K2 + 0x7C040400, // 0016 CALL R1 2 + 0x60040012, // 0017 GETGBL R1 G18 + 0x7C040000, // 0018 CALL R1 0 + 0x90021A01, // 0019 SETMBR R0 K13 R1 + 0x8804010D, // 001A GETMBR R1 R0 K13 + 0x8C04030B, // 001B GETMET R1 R1 K11 + 0x880C0102, // 001C GETMBR R3 R0 K2 + 0x7C040400, // 001D CALL R1 2 + 0x90020D01, // 001E SETMBR R0 K6 K1 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_active +********************************************************************/ +be_local_closure(class_Matter_Profiler_set_active, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Profiler, /* shared constants */ + be_str_weak(set_active), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020002, // 0003 SETMBR R0 K0 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: log +********************************************************************/ +be_local_closure(class_Matter_Profiler_log, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Profiler, /* shared constants */ + be_str_weak(log), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x740A0000, // 0001 JMPT R2 #0003 + 0x80000400, // 0002 RET 0 + 0xA40A1C00, // 0003 IMPORT R2 K14 + 0x880C0106, // 0004 GETMBR R3 R0 K6 + 0x88100102, // 0005 GETMBR R4 R0 K2 + 0x28100604, // 0006 GE R4 R3 R4 + 0x78120000, // 0007 JMPF R4 #0009 + 0x80000800, // 0008 RET 0 + 0x88100103, // 0009 GETMBR R4 R0 K3 + 0xB8160E00, // 000A GETNGBL R5 K7 + 0x8C140B03, // 000B GETMET R5 R5 K3 + 0x7C140200, // 000C CALL R5 1 + 0x98100605, // 000D SETIDX R4 R3 R5 + 0x88100104, // 000E GETMBR R4 R0 K4 + 0x98100601, // 000F SETIDX R4 R3 R1 + 0x8810010C, // 0010 GETMBR R4 R0 K12 + 0x8C14050C, // 0011 GETMET R5 R2 K12 + 0x7C140200, // 0012 CALL R5 1 + 0x98100605, // 0013 SETIDX R4 R3 R5 + 0x8810010D, // 0014 GETMBR R4 R0 K13 + 0x8C14050D, // 0015 GETMET R5 R2 K13 + 0x7C140200, // 0016 CALL R5 1 + 0x98100605, // 0017 SETIDX R4 R3 R5 + 0x88100106, // 0018 GETMBR R4 R0 K6 + 0x00100905, // 0019 ADD R4 R4 K5 + 0x90020C04, // 001A SETMBR R0 K6 R4 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dump +********************************************************************/ +be_local_closure(class_Matter_Profiler_dump, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Profiler, /* shared constants */ + be_str_weak(dump), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x740A0000, // 0001 JMPT R2 #0003 + 0x80000400, // 0002 RET 0 + 0x8C080109, // 0003 GETMET R2 R0 K9 + 0x5810000F, // 0004 LDCONST R4 K15 + 0x7C080400, // 0005 CALL R2 2 + 0xB80A1200, // 0006 GETNGBL R2 K9 + 0x580C0010, // 0007 LDCONST R3 K16 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C080400, // 0009 CALL R2 2 + 0x88080103, // 000A GETMBR R2 R0 K3 + 0x94080501, // 000B GETIDX R2 R2 K1 + 0x880C010C, // 000C GETMBR R3 R0 K12 + 0x940C0701, // 000D GETIDX R3 R3 K1 + 0x8810010D, // 000E GETMBR R4 R0 K13 + 0x94100901, // 000F GETIDX R4 R4 K1 + 0x58140005, // 0010 LDCONST R5 K5 + 0x88180106, // 0011 GETMBR R6 R0 K6 + 0x14180A06, // 0012 LT R6 R5 R6 + 0x781A000F, // 0013 JMPF R6 #0024 + 0xB81A1200, // 0014 GETNGBL R6 K9 + 0x601C0018, // 0015 GETGBL R7 G24 + 0x58200011, // 0016 LDCONST R8 K17 + 0x88240103, // 0017 GETMBR R9 R0 K3 + 0x94241205, // 0018 GETIDX R9 R9 R5 + 0x04241202, // 0019 SUB R9 R9 R2 + 0x8828010C, // 001A GETMBR R10 R0 K12 + 0x94281405, // 001B GETIDX R10 R10 R5 + 0x04281403, // 001C SUB R10 R10 R3 + 0x882C0104, // 001D GETMBR R11 R0 K4 + 0x942C1605, // 001E GETIDX R11 R11 R5 + 0x7C1C0800, // 001F CALL R7 4 + 0x5C200200, // 0020 MOVE R8 R1 + 0x7C180400, // 0021 CALL R6 2 + 0x00140B05, // 0022 ADD R5 R5 K5 + 0x7001FFEC, // 0023 JMP #0011 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Profiler +********************************************************************/ +be_local_class(Matter_Profiler, + 6, + NULL, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(dump, 8), be_const_closure(class_Matter_Profiler_dump_closure) }, + { be_const_key_weak(millis, 5), be_const_var(0) }, + { be_const_key_weak(reallocs, -1), be_const_var(4) }, + { be_const_key_weak(init, 1), be_const_closure(class_Matter_Profiler_init_closure) }, + { be_const_key_weak(len, -1), be_const_var(5) }, + { be_const_key_weak(active, -1), be_const_var(2) }, + { be_const_key_weak(set_active, -1), be_const_closure(class_Matter_Profiler_set_active_closure) }, + { be_const_key_weak(names, -1), be_const_var(1) }, + { be_const_key_weak(allocs, 10), be_const_var(3) }, + { be_const_key_weak(log, -1), be_const_closure(class_Matter_Profiler_log_closure) }, + { be_const_key_weak(PREALLOCATED, -1), be_const_int(50) }, + { be_const_key_weak(start, 0), be_const_closure(class_Matter_Profiler_start_closure) }, + })), + be_str_weak(Matter_Profiler) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session.h new file mode 100644 index 000000000..137fd7b68 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session.h @@ -0,0 +1,1792 @@ +/* Solidification of Matter_Session.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_Session; +// compact class 'Matter_Session' ktab size: 109, total: 196 (saved 696 bytes) +static const bvalue be_ktab_class_Matter_Session[109] = { + /* K0 */ be_nested_str_weak(_fabric), + /* K1 */ be_nested_str_weak(device_id), + /* K2 */ be_nested_str_weak(log), + /* K3 */ be_nested_str_weak(MTR_X3A_X20_X2DSession_X20_X20_X20_X28_X256i_X29_X20_X28removed_X29), + /* K4 */ be_nested_str_weak(local_session_id), + /* K5 */ be_const_int(3), + /* K6 */ be_nested_str_weak(set_mode), + /* K7 */ be_nested_str_weak(_CASE), + /* K8 */ be_nested_str_weak(mode), + /* K9 */ be_nested_str_weak(add_session), + /* K10 */ be_nested_str_weak(noc), + /* K11 */ be_nested_str_weak(crypto), + /* K12 */ be_nested_str_weak(_store), + /* K13 */ be_const_int(0), + /* K14 */ be_nested_str_weak(initiator_session_id), + /* K15 */ be_nested_str_weak(_counter_snd_impl), + /* K16 */ be_nested_str_weak(matter), + /* K17 */ be_nested_str_weak(Counter), + /* K18 */ be_nested_str_weak(_counter_rcv_impl), + /* K19 */ be_nested_str_weak(counter_rcv), + /* K20 */ be_nested_str_weak(counter_snd), + /* K21 */ be_nested_str_weak(next), + /* K22 */ be_nested_str_weak(_COUNTER_SND_INCR), + /* K23 */ be_nested_str_weak(_counter_insecure_rcv), + /* K24 */ be_nested_str_weak(_counter_insecure_snd), + /* K25 */ be_nested_str_weak(_breadcrumb), + /* K26 */ be_nested_str_weak(_exchange_id), + /* K27 */ be_nested_str_weak(random), + /* K28 */ be_const_int(2), + /* K29 */ be_nested_str_weak(get), + /* K30 */ be_nested_str_weak(update), + /* K31 */ be_nested_str_weak(admin_vendor), + /* K32 */ be_nested_str_weak(i2rkey), + /* K33 */ be_nested_str_weak(validate), + /* K34 */ be_nested_str_weak(val), + /* K35 */ be_nested_str_weak(root_ca_certificate), + /* K36 */ be_nested_str_weak(fabric_index), + /* K37 */ be_nested_str_weak(r2ikey), + /* K38 */ be_nested_str_weak(is_greater), + /* K39 */ be_nested_str_weak(does_persist), + /* K40 */ be_nested_str_weak(save), + /* K41 */ be_nested_str_weak(_temp_root_ca_certificate), + /* K42 */ be_nested_str_weak(TLV), + /* K43 */ be_nested_str_weak(parse), + /* K44 */ be_nested_str_weak(findsubval), + /* K45 */ be_nested_str_weak(fabric_id), + /* K46 */ be_nested_str_weak(_PASE), + /* K47 */ be_nested_str_weak(fabric_label), + /* K48 */ be_nested_str_weak(last_used), + /* K49 */ be_nested_str_weak(tasmota), + /* K50 */ be_nested_str_weak(rtc_utc), + /* K51 */ be_nested_str_weak(icac), + /* K52 */ be_nested_str_weak(string), + /* K53 */ be_nested_str_weak(get_ca_pub), + /* K54 */ be_nested_str_weak(get_pk), + /* K55 */ be_nested_str_weak(_temp_pk), + /* K56 */ be_nested_str_weak(json), + /* K57 */ be_nested_str_weak(introspect), + /* K58 */ be_nested_str_weak(persist_pre), + /* K59 */ be_nested_str_weak(members), + /* K60 */ be_nested_str_weak(function), + /* K61 */ be_nested_str_weak(_), + /* K62 */ be_nested_str_weak(push), + /* K63 */ be_nested_str_weak(stop_iteration), + /* K64 */ be_nested_str_weak(sort), + /* K65 */ be_nested_str_weak(_X24_X24), + /* K66 */ be_nested_str_weak(tob64), + /* K67 */ be_nested_str_weak(instance), + /* K68 */ be_nested_str_weak(_X25s_X3A_X25s), + /* K69 */ be_nested_str_weak(dump), + /* K70 */ be_nested_str_weak(persist_post), + /* K71 */ be_nested_str_weak(_X7B), + /* K72 */ be_nested_str_weak(concat), + /* K73 */ be_nested_str_weak(_X2C), + /* K74 */ be_nested_str_weak(_X7D), + /* K75 */ be_nested_str_weak(__future_local_session_id), + /* K76 */ be_nested_str_weak(__future_initiator_session_id), + /* K77 */ be_nested_str_weak(reset), + /* K78 */ be_nested_str_weak(_i2r_privacy), + /* K79 */ be_nested_str_weak(attestation_challenge), + /* K80 */ be_const_int(1), + /* K81 */ be_nested_str_weak(HKDF_SHA256), + /* K82 */ be_nested_str_weak(derive), + /* K83 */ be_nested_str_weak(get_i2r), + /* K84 */ be_nested_str_weak(fromstring), + /* K85 */ be_nested_str_weak(PrivacyKey), + /* K86 */ be_const_class(be_class_Matter_Session), + /* K87 */ be_nested_str_weak(Session), + /* K88 */ be_nested_str_weak(keys), + /* K89 */ be_nested_str_weak(find), + /* K90 */ be_nested_str_weak(0x), + /* K91 */ be_nested_str_weak(set), + /* K92 */ be_nested_str_weak(fromhex), + /* K93 */ be_const_int(2147483647), + /* K94 */ be_nested_str_weak(fromb64), + /* K95 */ be_nested_str_weak(hydrate_post), + /* K96 */ be_nested_str_weak(save_fabrics), + /* K97 */ be_nested_str_weak(admin_subject), + /* K98 */ be_nested_str_weak(ipk_epoch_key), + /* K99 */ be_nested_str_weak(fabric_compressed), + /* K100 */ be_nested_str_weak(created), + /* K101 */ be_nested_str_weak(EC_P256), + /* K102 */ be_nested_str_weak(public_key), + /* K103 */ be_nested_str_weak(3070020100300E310C300A060355040A0C034353523059301306072A8648CE3D020106082A8648CE3D030107034200), + /* K104 */ be_nested_str_weak(A000), + /* K105 */ be_nested_str_weak(300C06082A8648CE3D0403020500), + /* K106 */ be_nested_str_weak(ecdsa_sign_sha256_asn1), + /* K107 */ be_nested_str_weak(add), + /* K108 */ be_nested_str_weak(get_ipk_group_key), +}; + + +extern const bclass be_class_Matter_Session; + +/******************************************************************** +** Solidified function: get_device_id +********************************************************************/ +be_local_closure(class_Matter_Session_get_device_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_device_id), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x88040301, // 0003 GETMBR R1 R1 K1 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: before_remove +********************************************************************/ +be_local_closure(class_Matter_Session_before_remove, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(before_remove), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0xB8060400, // 0000 GETNGBL R1 K2 + 0x60080018, // 0001 GETGBL R2 G24 + 0x580C0003, // 0002 LDCONST R3 K3 + 0x88100104, // 0003 GETMBR R4 R0 K4 + 0x7C080400, // 0004 CALL R2 2 + 0x580C0005, // 0005 LDCONST R3 K5 + 0x7C040400, // 0006 CALL R1 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_mode_CASE +********************************************************************/ +be_local_closure(class_Matter_Session_set_mode_CASE, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_mode_CASE), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x880C0107, // 0001 GETMBR R3 R0 K7 + 0x7C040400, // 0002 CALL R1 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_CASE +********************************************************************/ +be_local_closure(class_Matter_Session_is_CASE, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(is_CASE), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x88080107, // 0001 GETMBR R2 R0 K7 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: persist_to_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_persist_to_fabric, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(persist_to_fabric), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_noc +********************************************************************/ +be_local_closure(class_Matter_Session_get_noc, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_noc), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8804030A, // 0001 GETMBR R1 R1 K10 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Session_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xA4161600, // 0000 IMPORT R5 K11 + 0x90021801, // 0001 SETMBR R0 K12 R1 + 0x9002110D, // 0002 SETMBR R0 K8 K13 + 0x90020802, // 0003 SETMBR R0 K4 R2 + 0x90021C03, // 0004 SETMBR R0 K14 R3 + 0xB81A2000, // 0005 GETNGBL R6 K16 + 0x8C180D11, // 0006 GETMET R6 R6 K17 + 0x7C180200, // 0007 CALL R6 1 + 0x90021E06, // 0008 SETMBR R0 K15 R6 + 0xB81A2000, // 0009 GETNGBL R6 K16 + 0x8C180D11, // 000A GETMET R6 R6 K17 + 0x7C180200, // 000B CALL R6 1 + 0x90022406, // 000C SETMBR R0 K18 R6 + 0x9002270D, // 000D SETMBR R0 K19 K13 + 0x8818010F, // 000E GETMBR R6 R0 K15 + 0x8C180D15, // 000F GETMET R6 R6 K21 + 0x7C180200, // 0010 CALL R6 1 + 0x881C0116, // 0011 GETMBR R7 R0 K22 + 0x00180C07, // 0012 ADD R6 R6 R7 + 0x90022806, // 0013 SETMBR R0 K20 R6 + 0xB81A2000, // 0014 GETNGBL R6 K16 + 0x8C180D11, // 0015 GETMET R6 R6 K17 + 0x7C180200, // 0016 CALL R6 1 + 0x90022E06, // 0017 SETMBR R0 K23 R6 + 0xB81A2000, // 0018 GETNGBL R6 K16 + 0x8C180D11, // 0019 GETMET R6 R6 K17 + 0x7C180200, // 001A CALL R6 1 + 0x90023006, // 001B SETMBR R0 K24 R6 + 0x9002330D, // 001C SETMBR R0 K25 K13 + 0x8C180B1B, // 001D GETMET R6 R5 K27 + 0x5820001C, // 001E LDCONST R8 K28 + 0x7C180400, // 001F CALL R6 2 + 0x8C180D1D, // 0020 GETMET R6 R6 K29 + 0x5820000D, // 0021 LDCONST R8 K13 + 0x5824001C, // 0022 LDCONST R9 K28 + 0x7C180600, // 0023 CALL R6 3 + 0x90023406, // 0024 SETMBR R0 K26 R6 + 0x90020004, // 0025 SETMBR R0 K0 R4 + 0x8C18011E, // 0026 GETMET R6 R0 K30 + 0x7C180200, // 0027 CALL R6 1 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_admin_vendor +********************************************************************/ +be_local_closure(class_Matter_Session_get_admin_vendor, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_admin_vendor), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x8804031F, // 0003 GETMBR R1 R1 K31 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_i2r +********************************************************************/ +be_local_closure(class_Matter_Session_get_i2r, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_i2r), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040120, // 0000 GETMBR R1 R0 K32 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: counter_rcv_validate +********************************************************************/ +be_local_closure(class_Matter_Session_counter_rcv_validate, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(counter_rcv_validate), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x880C0112, // 0000 GETMBR R3 R0 K18 + 0x8C0C0721, // 0001 GETMET R3 R3 K33 + 0x5C140200, // 0002 MOVE R5 R1 + 0x5C180400, // 0003 MOVE R6 R2 + 0x7C0C0600, // 0004 CALL R3 3 + 0x780E0003, // 0005 JMPF R3 #000A + 0x88100112, // 0006 GETMBR R4 R0 K18 + 0x8C100922, // 0007 GETMET R4 R4 K34 + 0x7C100200, // 0008 CALL R4 1 + 0x90022604, // 0009 SETMBR R0 K19 R4 + 0x80040600, // 000A RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ca +********************************************************************/ +be_local_closure(class_Matter_Session_get_ca, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_ca), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x88040323, // 0001 GETMBR R1 R1 K35 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_index +********************************************************************/ +be_local_closure(class_Matter_Session_get_fabric_index, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_fabric_index), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x88040324, // 0003 GETMBR R1 R1 K36 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_r2i +********************************************************************/ +be_local_closure(class_Matter_Session_get_r2i, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_r2i), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040125, // 0000 GETMBR R1 R0 K37 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: counter_snd_next +********************************************************************/ +be_local_closure(class_Matter_Session_counter_snd_next, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(counter_snd_next), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x8804010F, // 0000 GETMBR R1 R0 K15 + 0x8C040315, // 0001 GETMET R1 R1 K21 + 0x7C040200, // 0002 CALL R1 1 + 0xB80A2000, // 0003 GETNGBL R2 K16 + 0x88080511, // 0004 GETMBR R2 R2 K17 + 0x8C080526, // 0005 GETMET R2 R2 K38 + 0x5C100200, // 0006 MOVE R4 R1 + 0x88140114, // 0007 GETMBR R5 R0 K20 + 0x7C080600, // 0008 CALL R2 3 + 0x780A0007, // 0009 JMPF R2 #0012 + 0x88080116, // 000A GETMBR R2 R0 K22 + 0x00080202, // 000B ADD R2 R1 R2 + 0x90022802, // 000C SETMBR R0 K20 R2 + 0x8C080127, // 000D GETMET R2 R0 K39 + 0x7C080200, // 000E CALL R2 1 + 0x780A0001, // 000F JMPF R2 #0012 + 0x8C080128, // 0010 GETMET R2 R0 K40 + 0x7C080200, // 0011 CALL R2 1 + 0x80040200, // 0012 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_temp_ca_pub +********************************************************************/ +be_local_closure(class_Matter_Session_get_temp_ca_pub, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_temp_ca_pub), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040129, // 0000 GETMBR R1 R0 K41 + 0x78060008, // 0001 JMPF R1 #000B + 0xB80A2000, // 0002 GETNGBL R2 K16 + 0x8808052A, // 0003 GETMBR R2 R2 K42 + 0x8C08052B, // 0004 GETMET R2 R2 K43 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C080400, // 0006 CALL R2 2 + 0x8C0C052C, // 0007 GETMET R3 R2 K44 + 0x54160008, // 0008 LDINT R5 9 + 0x7C0C0400, // 0009 CALL R3 2 + 0x80040600, // 000A RET 1 R3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_temp_ca +********************************************************************/ +be_local_closure(class_Matter_Session_get_temp_ca, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_temp_ca), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040129, // 0000 GETMBR R1 R0 K41 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_id +********************************************************************/ +be_local_closure(class_Matter_Session_get_fabric_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_fabric_id), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8804032D, // 0001 GETMBR R1 R1 K45 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_mode_PASE +********************************************************************/ +be_local_closure(class_Matter_Session_set_mode_PASE, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_mode_PASE), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x880C012E, // 0001 GETMBR R3 R0 K46 + 0x7C040400, // 0002 CALL R1 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_label +********************************************************************/ +be_local_closure(class_Matter_Session_get_fabric_label, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_fabric_label), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x8804032F, // 0003 GETMBR R1 R1 K47 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update +********************************************************************/ +be_local_closure(class_Matter_Session_update, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(update), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8066200, // 0000 GETNGBL R1 K49 + 0x8C040332, // 0001 GETMET R1 R1 K50 + 0x7C040200, // 0002 CALL R1 1 + 0x90026001, // 0003 SETMBR R0 K48 R1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_icac +********************************************************************/ +be_local_closure(class_Matter_Session_get_icac, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_icac), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x88040333, // 0001 GETMBR R1 R1 K51 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_PASE +********************************************************************/ +be_local_closure(class_Matter_Session_is_PASE, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(is_PASE), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x8808012E, // 0001 GETMBR R2 R0 K46 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_fabric_label +********************************************************************/ +be_local_closure(class_Matter_Session_set_fabric_label, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_fabric_label), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080534, // 0003 EQ R2 R2 K52 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x88080100, // 0005 GETMBR R2 R0 K0 + 0x900A5E01, // 0006 SETMBR R2 K47 R1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_node_id +********************************************************************/ +be_local_closure(class_Matter_Session_get_node_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_node_id), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x88040301, // 0003 GETMBR R1 R1 K1 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ca_pub +********************************************************************/ +be_local_closure(class_Matter_Session_get_ca_pub, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_ca_pub), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040335, // 0001 GETMET R1 R1 K53 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pk +********************************************************************/ +be_local_closure(class_Matter_Session_get_pk, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_pk), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060004, // 0001 JMPF R1 #0007 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x8C040336, // 0003 GETMET R1 R1 K54 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x70020008, // 0006 JMP #0010 + 0x88040137, // 0007 GETMBR R1 R0 K55 + 0x74060004, // 0008 JMPT R1 #000E + 0xA4061600, // 0009 IMPORT R1 K11 + 0x8C08031B, // 000A GETMET R2 R1 K27 + 0x5412001F, // 000B LDINT R4 32 + 0x7C080400, // 000C CALL R2 2 + 0x90026E02, // 000D SETMBR R0 K55 R2 + 0x88040137, // 000E GETMBR R1 R0 K55 + 0x80040200, // 000F RET 1 R1 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tojson +********************************************************************/ +be_local_closure(class_Matter_Session_tojson, /* name */ + be_nested_proto( + 16, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(tojson), + &be_const_str_solidified, + ( &(const binstruction[95]) { /* code */ + 0xA4067000, // 0000 IMPORT R1 K56 + 0xA40A7200, // 0001 IMPORT R2 K57 + 0x8C0C013A, // 0002 GETMET R3 R0 K58 + 0x7C0C0200, // 0003 CALL R3 1 + 0x600C0012, // 0004 GETGBL R3 G18 + 0x7C0C0000, // 0005 CALL R3 0 + 0x60100010, // 0006 GETGBL R4 G16 + 0x8C14053B, // 0007 GETMET R5 R2 K59 + 0x5C1C0000, // 0008 MOVE R7 R0 + 0x7C140400, // 0009 CALL R5 2 + 0x7C100200, // 000A CALL R4 1 + 0xA8020011, // 000B EXBLK 0 #001E + 0x5C140800, // 000C MOVE R5 R4 + 0x7C140000, // 000D CALL R5 0 + 0x8C18051D, // 000E GETMET R6 R2 K29 + 0x5C200000, // 000F MOVE R8 R0 + 0x5C240A00, // 0010 MOVE R9 R5 + 0x7C180600, // 0011 CALL R6 3 + 0x601C0004, // 0012 GETGBL R7 G4 + 0x5C200C00, // 0013 MOVE R8 R6 + 0x7C1C0200, // 0014 CALL R7 1 + 0x201C0F3C, // 0015 NE R7 R7 K60 + 0x781E0005, // 0016 JMPF R7 #001D + 0x941C0B0D, // 0017 GETIDX R7 R5 K13 + 0x201C0F3D, // 0018 NE R7 R7 K61 + 0x781E0002, // 0019 JMPF R7 #001D + 0x8C1C073E, // 001A GETMET R7 R3 K62 + 0x5C240A00, // 001B MOVE R9 R5 + 0x7C1C0400, // 001C CALL R7 2 + 0x7001FFED, // 001D JMP #000C + 0x5810003F, // 001E LDCONST R4 K63 + 0xAC100200, // 001F CATCH R4 1 0 + 0xB0080000, // 0020 RAISE 2 R0 R0 + 0xB8122000, // 0021 GETNGBL R4 K16 + 0x8C100940, // 0022 GETMET R4 R4 K64 + 0x5C180600, // 0023 MOVE R6 R3 + 0x7C100400, // 0024 CALL R4 2 + 0x5C0C0800, // 0025 MOVE R3 R4 + 0x60100012, // 0026 GETGBL R4 G18 + 0x7C100000, // 0027 CALL R4 0 + 0x60140010, // 0028 GETGBL R5 G16 + 0x5C180600, // 0029 MOVE R6 R3 + 0x7C140200, // 002A CALL R5 1 + 0xA8020027, // 002B EXBLK 0 #0054 + 0x5C180A00, // 002C MOVE R6 R5 + 0x7C180000, // 002D CALL R6 0 + 0x8C1C051D, // 002E GETMET R7 R2 K29 + 0x5C240000, // 002F MOVE R9 R0 + 0x5C280C00, // 0030 MOVE R10 R6 + 0x7C1C0600, // 0031 CALL R7 3 + 0x4C200000, // 0032 LDNIL R8 + 0x1C200E08, // 0033 EQ R8 R7 R8 + 0x78220000, // 0034 JMPF R8 #0036 + 0x7001FFF5, // 0035 JMP #002C + 0x6020000F, // 0036 GETGBL R8 G15 + 0x5C240E00, // 0037 MOVE R9 R7 + 0x60280015, // 0038 GETGBL R10 G21 + 0x7C200400, // 0039 CALL R8 2 + 0x78220004, // 003A JMPF R8 #0040 + 0x8C200F42, // 003B GETMET R8 R7 K66 + 0x7C200200, // 003C CALL R8 1 + 0x00228208, // 003D ADD R8 K65 R8 + 0x5C1C1000, // 003E MOVE R7 R8 + 0x70020005, // 003F JMP #0046 + 0x60200004, // 0040 GETGBL R8 G4 + 0x5C240E00, // 0041 MOVE R9 R7 + 0x7C200200, // 0042 CALL R8 1 + 0x1C201143, // 0043 EQ R8 R8 K67 + 0x78220000, // 0044 JMPF R8 #0046 + 0x7001FFE5, // 0045 JMP #002C + 0x8C20093E, // 0046 GETMET R8 R4 K62 + 0x60280018, // 0047 GETGBL R10 G24 + 0x582C0044, // 0048 LDCONST R11 K68 + 0x8C300345, // 0049 GETMET R12 R1 K69 + 0x60380008, // 004A GETGBL R14 G8 + 0x5C3C0C00, // 004B MOVE R15 R6 + 0x7C380200, // 004C CALL R14 1 + 0x7C300400, // 004D CALL R12 2 + 0x8C340345, // 004E GETMET R13 R1 K69 + 0x5C3C0E00, // 004F MOVE R15 R7 + 0x7C340400, // 0050 CALL R13 2 + 0x7C280600, // 0051 CALL R10 3 + 0x7C200400, // 0052 CALL R8 2 + 0x7001FFD7, // 0053 JMP #002C + 0x5814003F, // 0054 LDCONST R5 K63 + 0xAC140200, // 0055 CATCH R5 1 0 + 0xB0080000, // 0056 RAISE 2 R0 R0 + 0x8C140146, // 0057 GETMET R5 R0 K70 + 0x7C140200, // 0058 CALL R5 1 + 0x8C140948, // 0059 GETMET R5 R4 K72 + 0x581C0049, // 005A LDCONST R7 K73 + 0x7C140400, // 005B CALL R5 2 + 0x00168E05, // 005C ADD R5 K71 R5 + 0x00140B4A, // 005D ADD R5 R5 K74 + 0x80040A00, // 005E RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: close +********************************************************************/ +be_local_closure(class_Matter_Session_close, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(close), + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0x8804014B, // 0000 GETMBR R1 R0 K75 + 0x90020801, // 0001 SETMBR R0 K4 R1 + 0x8804014C, // 0002 GETMBR R1 R0 K76 + 0x90021C01, // 0003 SETMBR R0 K14 R1 + 0x88040112, // 0004 GETMBR R1 R0 K18 + 0x8C04034D, // 0005 GETMET R1 R1 K77 + 0x7C040200, // 0006 CALL R1 1 + 0x8804010F, // 0007 GETMBR R1 R0 K15 + 0x8C04034D, // 0008 GETMET R1 R1 K77 + 0x7C040200, // 0009 CALL R1 1 + 0x9002270D, // 000A SETMBR R0 K19 K13 + 0x8804010F, // 000B GETMBR R1 R0 K15 + 0x8C040315, // 000C GETMET R1 R1 K21 + 0x7C040200, // 000D CALL R1 1 + 0x90022801, // 000E SETMBR R0 K20 R1 + 0x4C040000, // 000F LDNIL R1 + 0x90024001, // 0010 SETMBR R0 K32 R1 + 0x4C040000, // 0011 LDNIL R1 + 0x90029C01, // 0012 SETMBR R0 K78 R1 + 0x4C040000, // 0013 LDNIL R1 + 0x90024A01, // 0014 SETMBR R0 K37 R1 + 0x4C040000, // 0015 LDNIL R1 + 0x90029E01, // 0016 SETMBR R0 K79 R1 + 0xA4067200, // 0017 IMPORT R1 K57 + 0x60080010, // 0018 GETGBL R2 G16 + 0x8C0C033B, // 0019 GETMET R3 R1 K59 + 0x5C140000, // 001A MOVE R5 R0 + 0x7C0C0400, // 001B CALL R3 2 + 0x7C080200, // 001C CALL R2 1 + 0xA8020018, // 001D EXBLK 0 #0037 + 0x5C0C0400, // 001E MOVE R3 R2 + 0x7C0C0000, // 001F CALL R3 0 + 0x8C10031D, // 0020 GETMET R4 R1 K29 + 0x5C180000, // 0021 MOVE R6 R0 + 0x5C1C0600, // 0022 MOVE R7 R3 + 0x7C100600, // 0023 CALL R4 3 + 0x60140004, // 0024 GETGBL R5 G4 + 0x5C180800, // 0025 MOVE R6 R4 + 0x7C140200, // 0026 CALL R5 1 + 0x20140B3C, // 0027 NE R5 R5 K60 + 0x7816000C, // 0028 JMPF R5 #0036 + 0x60140004, // 0029 GETGBL R5 G4 + 0x5C180800, // 002A MOVE R6 R4 + 0x7C140200, // 002B CALL R5 1 + 0x20140B43, // 002C NE R5 R5 K67 + 0x78160007, // 002D JMPF R5 #0036 + 0x9414070D, // 002E GETIDX R5 R3 K13 + 0x1C140B3D, // 002F EQ R5 R5 K61 + 0x78160004, // 0030 JMPF R5 #0036 + 0x94140750, // 0031 GETIDX R5 R3 K80 + 0x1C140B3D, // 0032 EQ R5 R5 K61 + 0x78160001, // 0033 JMPF R5 #0036 + 0x4C140000, // 0034 LDNIL R5 + 0x90000605, // 0035 SETMBR R0 R3 R5 + 0x7001FFE6, // 0036 JMP #001E + 0x5808003F, // 0037 LDCONST R2 K63 + 0xAC080200, // 0038 CATCH R2 1 0 + 0xB0080000, // 0039 RAISE 2 R0 R0 + 0x80000000, // 003A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ac +********************************************************************/ +be_local_closure(class_Matter_Session_get_ac, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_ac), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804014F, // 0000 GETMBR R1 R0 K79 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_get_fabric, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_fabric), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_i2r_privacy +********************************************************************/ +be_local_closure(class_Matter_Session_get_i2r_privacy, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_i2r_privacy), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x8804014E, // 0000 GETMBR R1 R0 K78 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x7806000F, // 0003 JMPF R1 #0014 + 0xA4061600, // 0004 IMPORT R1 K11 + 0x8C080351, // 0005 GETMET R2 R1 K81 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080552, // 0007 GETMET R2 R2 K82 + 0x8C100153, // 0008 GETMET R4 R0 K83 + 0x7C100200, // 0009 CALL R4 1 + 0x60140015, // 000A GETGBL R5 G21 + 0x7C140000, // 000B CALL R5 0 + 0x60180015, // 000C GETGBL R6 G21 + 0x7C180000, // 000D CALL R6 0 + 0x8C180D54, // 000E GETMET R6 R6 K84 + 0x58200055, // 000F LDCONST R8 K85 + 0x7C180400, // 0010 CALL R6 2 + 0x541E000F, // 0011 LDINT R7 16 + 0x7C080A00, // 0012 CALL R2 5 + 0x90029C02, // 0013 SETMBR R0 K78 R2 + 0x8804014E, // 0014 GETMBR R1 R0 K78 + 0x80040200, // 0015 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fromjson +********************************************************************/ +be_local_closure(class_Matter_Session_fromjson, /* name */ + be_nested_proto( + 17, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(fromjson), + &be_const_str_solidified, + ( &(const binstruction[75]) { /* code */ + 0x580C0056, // 0000 LDCONST R3 K86 + 0xA4126800, // 0001 IMPORT R4 K52 + 0xA4167200, // 0002 IMPORT R5 K57 + 0xB81A2000, // 0003 GETNGBL R6 K16 + 0x8C180D57, // 0004 GETMET R6 R6 K87 + 0x5C200000, // 0005 MOVE R8 R0 + 0x4C240000, // 0006 LDNIL R9 + 0x4C280000, // 0007 LDNIL R10 + 0x5C2C0400, // 0008 MOVE R11 R2 + 0x7C180A00, // 0009 CALL R6 5 + 0x601C0010, // 000A GETGBL R7 G16 + 0x8C200358, // 000B GETMET R8 R1 K88 + 0x7C200200, // 000C CALL R8 1 + 0x7C1C0200, // 000D CALL R7 1 + 0xA8020035, // 000E EXBLK 0 #0045 + 0x5C200E00, // 000F MOVE R8 R7 + 0x7C200000, // 0010 CALL R8 0 + 0x94240208, // 0011 GETIDX R9 R1 R8 + 0x60280004, // 0012 GETGBL R10 G4 + 0x5C2C1200, // 0013 MOVE R11 R9 + 0x7C280200, // 0014 CALL R10 1 + 0x1C281534, // 0015 EQ R10 R10 K52 + 0x782A0027, // 0016 JMPF R10 #003F + 0x8C280959, // 0017 GETMET R10 R4 K89 + 0x5C301200, // 0018 MOVE R12 R9 + 0x5834005A, // 0019 LDCONST R13 K90 + 0x7C280600, // 001A CALL R10 3 + 0x1C28150D, // 001B EQ R10 R10 K13 + 0x782A000A, // 001C JMPF R10 #0028 + 0x8C280B5B, // 001D GETMET R10 R5 K91 + 0x5C300C00, // 001E MOVE R12 R6 + 0x5C341000, // 001F MOVE R13 R8 + 0x60380015, // 0020 GETGBL R14 G21 + 0x7C380000, // 0021 CALL R14 0 + 0x8C381D5C, // 0022 GETMET R14 R14 K92 + 0x4042395D, // 0023 CONNECT R16 K28 K93 + 0x94401210, // 0024 GETIDX R16 R9 R16 + 0x7C380400, // 0025 CALL R14 2 + 0x7C280800, // 0026 CALL R10 4 + 0x70020015, // 0027 JMP #003E + 0x8C280959, // 0028 GETMET R10 R4 K89 + 0x5C301200, // 0029 MOVE R12 R9 + 0x58340041, // 002A LDCONST R13 K65 + 0x7C280600, // 002B CALL R10 3 + 0x1C28150D, // 002C EQ R10 R10 K13 + 0x782A000A, // 002D JMPF R10 #0039 + 0x8C280B5B, // 002E GETMET R10 R5 K91 + 0x5C300C00, // 002F MOVE R12 R6 + 0x5C341000, // 0030 MOVE R13 R8 + 0x60380015, // 0031 GETGBL R14 G21 + 0x7C380000, // 0032 CALL R14 0 + 0x8C381D5E, // 0033 GETMET R14 R14 K94 + 0x4042395D, // 0034 CONNECT R16 K28 K93 + 0x94401210, // 0035 GETIDX R16 R9 R16 + 0x7C380400, // 0036 CALL R14 2 + 0x7C280800, // 0037 CALL R10 4 + 0x70020004, // 0038 JMP #003E + 0x8C280B5B, // 0039 GETMET R10 R5 K91 + 0x5C300C00, // 003A MOVE R12 R6 + 0x5C341000, // 003B MOVE R13 R8 + 0x5C381200, // 003C MOVE R14 R9 + 0x7C280800, // 003D CALL R10 4 + 0x70020004, // 003E JMP #0044 + 0x8C280B5B, // 003F GETMET R10 R5 K91 + 0x5C300C00, // 0040 MOVE R12 R6 + 0x5C341000, // 0041 MOVE R13 R8 + 0x5C381200, // 0042 MOVE R14 R9 + 0x7C280800, // 0043 CALL R10 4 + 0x7001FFC9, // 0044 JMP #000F + 0x581C003F, // 0045 LDCONST R7 K63 + 0xAC1C0200, // 0046 CATCH R7 1 0 + 0xB0080000, // 0047 RAISE 2 R0 R0 + 0x8C1C0D5F, // 0048 GETMET R7 R6 K95 + 0x7C1C0200, // 0049 CALL R7 1 + 0x80040C00, // 004A RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: save +********************************************************************/ +be_local_closure(class_Matter_Session_save, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(save), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C040360, // 0001 GETMET R1 R1 K96 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: hydrate_post +********************************************************************/ +be_local_closure(class_Matter_Session_hydrate_post, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(hydrate_post), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x8804010F, // 0000 GETMBR R1 R0 K15 + 0x8C04034D, // 0001 GETMET R1 R1 K77 + 0x880C0114, // 0002 GETMBR R3 R0 K20 + 0x7C040400, // 0003 CALL R1 2 + 0x88040112, // 0004 GETMBR R1 R0 K18 + 0x8C04034D, // 0005 GETMET R1 R1 K77 + 0x880C0113, // 0006 GETMBR R3 R0 K19 + 0x7C040400, // 0007 CALL R1 2 + 0x8804010F, // 0008 GETMBR R1 R0 K15 + 0x8C040322, // 0009 GETMET R1 R1 K34 + 0x7C040200, // 000A CALL R1 1 + 0x90022801, // 000B SETMBR R0 K20 R1 + 0x88040112, // 000C GETMBR R1 R0 K18 + 0x8C040322, // 000D GETMET R1 R1 K34 + 0x7C040200, // 000E CALL R1 1 + 0x90022601, // 000F SETMBR R0 K19 R1 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_admin_subject +********************************************************************/ +be_local_closure(class_Matter_Session_get_admin_subject, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_admin_subject), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x88040361, // 0003 GETMBR R1 R1 K97 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ipk_epoch_key +********************************************************************/ +be_local_closure(class_Matter_Session_get_ipk_epoch_key, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_ipk_epoch_key), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x88040362, // 0001 GETMBR R1 R1 K98 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_fabric_compressed +********************************************************************/ +be_local_closure(class_Matter_Session_get_fabric_compressed, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_fabric_compressed), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060002, // 0001 JMPF R1 #0005 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x88040363, // 0003 GETMBR R1 R1 K99 + 0x70020000, // 0004 JMP #0006 + 0x4C040000, // 0005 LDNIL R1 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_mode +********************************************************************/ +be_local_closure(class_Matter_Session_get_mode, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_mode), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_temp_ca +********************************************************************/ +be_local_closure(class_Matter_Session_set_temp_ca, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_temp_ca), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90025201, // 0000 SETMBR R0 K41 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_mode +********************************************************************/ +be_local_closure(class_Matter_Session_set_mode, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_mode), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021001, // 0000 SETMBR R0 K8 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_keys +********************************************************************/ +be_local_closure(class_Matter_Session_set_keys, /* name */ + be_nested_proto( + 6, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(set_keys), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90024001, // 0000 SETMBR R0 K32 R1 + 0x4C140000, // 0001 LDNIL R5 + 0x90029C05, // 0002 SETMBR R0 K78 R5 + 0x90024A02, // 0003 SETMBR R0 K37 R2 + 0x90029E03, // 0004 SETMBR R0 K79 R3 + 0x9002C804, // 0005 SETMBR R0 K100 R4 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: gen_CSR +********************************************************************/ +be_local_closure(class_Matter_Session_gen_CSR, /* name */ + be_nested_proto( + 15, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(gen_CSR), + &be_const_str_solidified, + ( &(const binstruction[73]) { /* code */ + 0x8C040136, // 0000 GETMET R1 R0 K54 + 0x7C040200, // 0001 CALL R1 1 + 0xA40A1600, // 0002 IMPORT R2 K11 + 0x8C0C0565, // 0003 GETMET R3 R2 K101 + 0x7C0C0200, // 0004 CALL R3 1 + 0x8C100766, // 0005 GETMET R4 R3 K102 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C100400, // 0007 CALL R4 2 + 0x60140015, // 0008 GETGBL R5 G21 + 0x58180067, // 0009 LDCONST R6 K103 + 0x7C140200, // 000A CALL R5 1 + 0x40180A04, // 000B CONNECT R6 R5 R4 + 0x60180015, // 000C GETGBL R6 G21 + 0x581C0068, // 000D LDCONST R7 K104 + 0x7C180200, // 000E CALL R6 1 + 0x40180A06, // 000F CONNECT R6 R5 R6 + 0x60180015, // 0010 GETGBL R6 G21 + 0x581C0069, // 0011 LDCONST R7 K105 + 0x7C180200, // 0012 CALL R6 1 + 0x8C1C076A, // 0013 GETMET R7 R3 K106 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280A00, // 0015 MOVE R10 R5 + 0x7C1C0600, // 0016 CALL R7 3 + 0x60200015, // 0017 GETGBL R8 G21 + 0x5426007F, // 0018 LDINT R9 128 + 0x7C200200, // 0019 CALL R8 1 + 0x8C24116B, // 001A GETMET R9 R8 K107 + 0x582C0005, // 001B LDCONST R11 K5 + 0x58300050, // 001C LDCONST R12 K80 + 0x7C240600, // 001D CALL R9 3 + 0x8C24116B, // 001E GETMET R9 R8 K107 + 0x602C000C, // 001F GETGBL R11 G12 + 0x5C300E00, // 0020 MOVE R12 R7 + 0x7C2C0200, // 0021 CALL R11 1 + 0x002C1750, // 0022 ADD R11 R11 K80 + 0x58300050, // 0023 LDCONST R12 K80 + 0x7C240600, // 0024 CALL R9 3 + 0x8C24116B, // 0025 GETMET R9 R8 K107 + 0x582C000D, // 0026 LDCONST R11 K13 + 0x58300050, // 0027 LDCONST R12 K80 + 0x7C240600, // 0028 CALL R9 3 + 0x40241007, // 0029 CONNECT R9 R8 R7 + 0x6024000C, // 002A GETGBL R9 G12 + 0x5C280A00, // 002B MOVE R10 R5 + 0x7C240200, // 002C CALL R9 1 + 0x6028000C, // 002D GETGBL R10 G12 + 0x5C2C0C00, // 002E MOVE R11 R6 + 0x7C280200, // 002F CALL R10 1 + 0x0024120A, // 0030 ADD R9 R9 R10 + 0x6028000C, // 0031 GETGBL R10 G12 + 0x5C2C1000, // 0032 MOVE R11 R8 + 0x7C280200, // 0033 CALL R10 1 + 0x0024120A, // 0034 ADD R9 R9 R10 + 0x60280015, // 0035 GETGBL R10 G21 + 0x542E00CF, // 0036 LDINT R11 208 + 0x7C280200, // 0037 CALL R10 1 + 0x8C2C156B, // 0038 GETMET R11 R10 K107 + 0x5436002F, // 0039 LDINT R13 48 + 0x58380050, // 003A LDCONST R14 K80 + 0x7C2C0600, // 003B CALL R11 3 + 0x8C2C156B, // 003C GETMET R11 R10 K107 + 0x54360080, // 003D LDINT R13 129 + 0x58380050, // 003E LDCONST R14 K80 + 0x7C2C0600, // 003F CALL R11 3 + 0x8C2C156B, // 0040 GETMET R11 R10 K107 + 0x543600FE, // 0041 LDINT R13 255 + 0x2C34120D, // 0042 AND R13 R9 R13 + 0x58380050, // 0043 LDCONST R14 K80 + 0x7C2C0600, // 0044 CALL R11 3 + 0x402C1405, // 0045 CONNECT R11 R10 R5 + 0x402C1406, // 0046 CONNECT R11 R10 R6 + 0x402C1408, // 0047 CONNECT R11 R10 R8 + 0x80041400, // 0048 RET 1 R10 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ipk_group_key +********************************************************************/ +be_local_closure(class_Matter_Session_get_ipk_group_key, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session, /* shared constants */ + be_str_weak(get_ipk_group_key), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C04036C, // 0001 GETMET R1 R1 K108 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Session +********************************************************************/ +extern const bclass be_class_Matter_Expirable; +be_local_class(Matter_Session, + 38, + &be_class_Matter_Expirable, + be_nested_map(85, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_temp_pk, -1), be_const_var(9) }, + { be_const_key_weak(get_device_id, -1), be_const_closure(class_Matter_Session_get_device_id_closure) }, + { be_const_key_weak(_exchange_id, 46), be_const_var(16) }, + { be_const_key_weak(_PASE, 37), be_const_int(1) }, + { be_const_key_weak(set_mode_CASE, -1), be_const_closure(class_Matter_Session_set_mode_CASE_closure) }, + { be_const_key_weak(get_ipk_group_key, 9), be_const_closure(class_Matter_Session_get_ipk_group_key_closure) }, + { be_const_key_weak(is_CASE, -1), be_const_closure(class_Matter_Session_is_CASE_closure) }, + { be_const_key_weak(_message_handler, -1), be_const_var(19) }, + { be_const_key_weak(persist_to_fabric, 2), be_const_closure(class_Matter_Session_persist_to_fabric_closure) }, + { be_const_key_weak(mode, -1), be_const_var(1) }, + { be_const_key_weak(before_remove, 58), be_const_closure(class_Matter_Session_before_remove_closure) }, + { be_const_key_weak(gen_CSR, 41), be_const_closure(class_Matter_Session_gen_CSR_closure) }, + { be_const_key_weak(__responder_pub, 23), be_const_var(31) }, + { be_const_key_weak(i2rkey, 83), be_const_var(22) }, + { be_const_key_weak(_port, 29), be_const_var(18) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Session_init_closure) }, + { be_const_key_weak(get_admin_vendor, -1), be_const_closure(class_Matter_Session_get_admin_vendor_closure) }, + { be_const_key_weak(get_i2r, -1), be_const_closure(class_Matter_Session_get_i2r_closure) }, + { be_const_key_weak(_fabric, 73), be_const_var(2) }, + { be_const_key_weak(local_session_id, 84), be_const_var(3) }, + { be_const_key_weak(counter_rcv_validate, -1), be_const_closure(class_Matter_Session_counter_rcv_validate_closure) }, + { be_const_key_weak(get_ca, -1), be_const_closure(class_Matter_Session_get_ca_closure) }, + { be_const_key_weak(__responder_priv, -1), be_const_var(30) }, + { be_const_key_weak(_counter_snd_impl, -1), be_const_var(15) }, + { be_const_key_weak(__spake_cA, 67), be_const_var(33) }, + { be_const_key_weak(__future_initiator_session_id, -1), be_const_var(10) }, + { be_const_key_weak(__future_local_session_id, -1), be_const_var(11) }, + { be_const_key_weak(set_mode, -1), be_const_closure(class_Matter_Session_set_mode_closure) }, + { be_const_key_weak(counter_snd_next, -1), be_const_closure(class_Matter_Session_counter_snd_next_closure) }, + { be_const_key_weak(set_temp_ca, 33), be_const_closure(class_Matter_Session_set_temp_ca_closure) }, + { be_const_key_weak(get_temp_ca_pub, -1), be_const_closure(class_Matter_Session_get_temp_ca_pub_closure) }, + { be_const_key_weak(get_temp_ca, 54), be_const_closure(class_Matter_Session_get_temp_ca_closure) }, + { be_const_key_weak(get_fabric_id, -1), be_const_closure(class_Matter_Session_get_fabric_id_closure) }, + { be_const_key_weak(get_mode, -1), be_const_closure(class_Matter_Session_get_mode_closure) }, + { be_const_key_weak(initiator_session_id, 22), be_const_var(4) }, + { be_const_key_weak(set_mode_PASE, -1), be_const_closure(class_Matter_Session_set_mode_PASE_closure) }, + { be_const_key_weak(get_fabric_compressed, 43), be_const_closure(class_Matter_Session_get_fabric_compressed_closure) }, + { be_const_key_weak(__Msg2, -1), be_const_var(36) }, + { be_const_key_weak(_counter_insecure_snd, 26), be_const_var(21) }, + { be_const_key_weak(get_fabric_label, 52), be_const_closure(class_Matter_Session_get_fabric_label_closure) }, + { be_const_key_weak(last_used, -1), be_const_var(6) }, + { be_const_key_weak(close, -1), be_const_closure(class_Matter_Session_close_closure) }, + { be_const_key_weak(counter_snd, 74), be_const_var(13) }, + { be_const_key_weak(_store, -1), be_const_var(0) }, + { be_const_key_weak(_breadcrumb, 72), be_const_var(27) }, + { be_const_key_weak(_counter_insecure_rcv, -1), be_const_var(20) }, + { be_const_key_weak(get_ac, -1), be_const_closure(class_Matter_Session_get_ac_closure) }, + { be_const_key_weak(set_fabric_label, -1), be_const_closure(class_Matter_Session_set_fabric_label_closure) }, + { be_const_key_weak(get_node_id, -1), be_const_closure(class_Matter_Session_get_node_id_closure) }, + { be_const_key_weak(get_ca_pub, -1), be_const_closure(class_Matter_Session_get_ca_pub_closure) }, + { be_const_key_weak(_COUNTER_SND_INCR, 55), be_const_int(1024) }, + { be_const_key_weak(tojson, -1), be_const_closure(class_Matter_Session_tojson_closure) }, + { be_const_key_weak(hydrate_post, -1), be_const_closure(class_Matter_Session_hydrate_post_closure) }, + { be_const_key_weak(__spake_Ke, 36), be_const_var(34) }, + { be_const_key_weak(_i2r_privacy, -1), be_const_var(24) }, + { be_const_key_weak(get_fabric, 71), be_const_closure(class_Matter_Session_get_fabric_closure) }, + { be_const_key_weak(__chunked_attr_reports, -1), be_const_var(37) }, + { be_const_key_weak(_source_node_id, 66), be_const_var(7) }, + { be_const_key_weak(get_i2r_privacy, 19), be_const_closure(class_Matter_Session_get_i2r_privacy_closure) }, + { be_const_key_weak(_CASE, 57), be_const_int(2) }, + { be_const_key_weak(fromjson, -1), be_const_static_closure(class_Matter_Session_fromjson_closure) }, + { be_const_key_weak(get_noc, 60), be_const_closure(class_Matter_Session_get_noc_closure) }, + { be_const_key_weak(save, -1), be_const_closure(class_Matter_Session_save_closure) }, + { be_const_key_weak(counter_rcv, -1), be_const_var(12) }, + { be_const_key_weak(update, 56), be_const_closure(class_Matter_Session_update_closure) }, + { be_const_key_weak(_GROUP_KEY, -1), be_nested_str_weak(GroupKey_X20v1_X2E0) }, + { be_const_key_weak(peer_node_id, -1), be_const_var(26) }, + { be_const_key_weak(__Msg1, 82), be_const_var(35) }, + { be_const_key_weak(get_admin_subject, -1), be_const_closure(class_Matter_Session_get_admin_subject_closure) }, + { be_const_key_weak(get_ipk_epoch_key, -1), be_const_closure(class_Matter_Session_get_ipk_epoch_key_closure) }, + { be_const_key_weak(__initiator_pub, -1), be_const_var(32) }, + { be_const_key_weak(get_pk, -1), be_const_closure(class_Matter_Session_get_pk_closure) }, + { be_const_key_weak(is_PASE, -1), be_const_closure(class_Matter_Session_is_PASE_closure) }, + { be_const_key_weak(get_icac, -1), be_const_closure(class_Matter_Session_get_icac_closure) }, + { be_const_key_weak(resumption_id, -1), be_const_var(28) }, + { be_const_key_weak(_ip, 27), be_const_var(17) }, + { be_const_key_weak(set_keys, -1), be_const_closure(class_Matter_Session_set_keys_closure) }, + { be_const_key_weak(r2ikey, 25), be_const_var(23) }, + { be_const_key_weak(attestation_challenge, 5), be_const_var(25) }, + { be_const_key_weak(created, -1), be_const_var(5) }, + { be_const_key_weak(_temp_root_ca_certificate, -1), be_const_var(8) }, + { be_const_key_weak(get_r2i, 11), be_const_closure(class_Matter_Session_get_r2i_closure) }, + { be_const_key_weak(get_fabric_index, -1), be_const_closure(class_Matter_Session_get_fabric_index_closure) }, + { be_const_key_weak(_counter_rcv_impl, -1), be_const_var(14) }, + { be_const_key_weak(shared_secret, -1), be_const_var(29) }, + })), + be_str_weak(Matter_Session) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session_Store.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session_Store.h new file mode 100644 index 000000000..1b4e7c44b --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_Session_Store.h @@ -0,0 +1,1305 @@ +/* Solidification of Matter_Session_Store.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Session_Store' ktab size: 73, total: 155 (saved 656 bytes) +static const bvalue be_ktab_class_Matter_Session_Store[73] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(sessions), + /* K2 */ be_nested_str_weak(remove), + /* K3 */ be_const_int(1), + /* K4 */ be_nested_str_weak(crypto), + /* K5 */ be_nested_str_weak(random), + /* K6 */ be_const_int(2), + /* K7 */ be_nested_str_weak(get), + /* K8 */ be_nested_str_weak(get_session_by_local_session_id), + /* K9 */ be_nested_str_weak(matter), + /* K10 */ be_nested_str_weak(Expirable_list), + /* K11 */ be_nested_str_weak(fabrics), + /* K12 */ be_nested_str_weak(_FABRICS), + /* K13 */ be_nested_str_weak(read), + /* K14 */ be_nested_str_weak(close), + /* K15 */ be_nested_str_weak(json), + /* K16 */ be_nested_str_weak(load), + /* K17 */ be_nested_str_weak(tasmota), + /* K18 */ be_nested_str_weak(gc), + /* K19 */ be_nested_str_weak(Fabric), + /* K20 */ be_nested_str_weak(fromjson), + /* K21 */ be_nested_str_weak(set_no_expiration), + /* K22 */ be_nested_str_weak(set_persist), + /* K23 */ be_nested_str_weak(find), + /* K24 */ be_nested_str_weak(_sessions), + /* K25 */ be_nested_str_weak(Session), + /* K26 */ be_nested_str_weak(add_session), + /* K27 */ be_nested_str_weak(stop_iteration), + /* K28 */ be_nested_str_weak(push), + /* K29 */ be_nested_str_weak(log), + /* K30 */ be_nested_str_weak(MTR_X3A_X20Loaded_X20_X25i_X20fabric_X28s_X29), + /* K31 */ be_nested_str_weak(io_error), + /* K32 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Aload_X20Exception_X3A), + /* K33 */ be_nested_str_weak(_X7C), + /* K34 */ be_nested_str_weak(get_device_id), + /* K35 */ be_nested_str_weak(get_fabric_id), + /* K36 */ be_nested_str_weak(active_fabrics), + /* K37 */ be_nested_str_weak(get_fabric_index), + /* K38 */ be_nested_str_weak(remove_expired), + /* K39 */ be_nested_str_weak(persistables), + /* K40 */ be_nested_str_weak(count_persistables), + /* K41 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s), + /* K42 */ be_nested_str_weak(resumption_id), + /* K43 */ be_nested_str_weak(shared_secret), + /* K44 */ be_nested_str_weak(update), + /* K45 */ be_nested_str_weak(set_expire_in_seconds), + /* K46 */ be_nested_str_weak(get_session_by_source_node_id), + /* K47 */ be_nested_str_weak(_source_node_id), + /* K48 */ be_nested_str_weak(local_session_id), + /* K49 */ be_nested_str_weak(device), + /* K50 */ be_nested_str_weak(every_second), + /* K51 */ be_nested_str_weak(fabric_id), + /* K52 */ be_nested_str_weak(device_id), + /* K53 */ be_nested_str_weak(value_error), + /* K54 */ be_nested_str_weak(must_X20be_X20of_X20class_X20matter_X2EFabric), + /* K55 */ be_nested_str_weak(remove_redundant_fabric), + /* K56 */ be_nested_str_weak(fabric_index), + /* K57 */ be_nested_str_weak(int), + /* K58 */ be_nested_str_weak(path), + /* K59 */ be_nested_str_weak(_FABRICS_TEMP), + /* K60 */ be_nested_str_weak(w), + /* K61 */ be_nested_str_weak(write), + /* K62 */ be_nested_str_weak(_X5B), + /* K63 */ be_nested_str_weak(_X2C), + /* K64 */ be_nested_str_weak(writejson), + /* K65 */ be_nested_str_weak(_X5D), + /* K66 */ be_nested_str_weak(rename), + /* K67 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20_X25s_X20fabric_X28s_X29_X20and_X20_X25s_X20session_X28s_X29), + /* K68 */ be_nested_str_weak(event_fabrics_saved), + /* K69 */ be_nested_str_weak(MTR_X3A_X20Saving_X20Fabrics_X20failed), + /* K70 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A), + /* K71 */ be_nested_str_weak(remove_session), + /* K72 */ be_nested_str_weak(_fabric), +}; + + +extern const bclass be_class_Matter_Session_Store; + +/******************************************************************** +** Solidified function: remove_session +********************************************************************/ +be_local_closure(class_Matter_Session_Store_remove_session, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(remove_session), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x6010000C, // 0002 GETGBL R4 G12 + 0x88140101, // 0003 GETMBR R5 R0 K1 + 0x7C100200, // 0004 CALL R4 1 + 0x14100404, // 0005 LT R4 R2 R4 + 0x78120008, // 0006 JMPF R4 #0010 + 0x94100602, // 0007 GETIDX R4 R3 R2 + 0x1C100801, // 0008 EQ R4 R4 R1 + 0x78120003, // 0009 JMPF R4 #000E + 0x8C100702, // 000A GETMET R4 R3 K2 + 0x5C180400, // 000B MOVE R6 R2 + 0x7C100400, // 000C CALL R4 2 + 0x70020000, // 000D JMP #000F + 0x00080503, // 000E ADD R2 R2 K3 + 0x7001FFF1, // 000F JMP #0002 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: gen_local_session_id +********************************************************************/ +be_local_closure(class_Matter_Session_Store_gen_local_session_id, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(gen_local_session_id), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0xA4060800, // 0000 IMPORT R1 K4 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x780A000E, // 0002 JMPF R2 #0012 + 0x8C080305, // 0003 GETMET R2 R1 K5 + 0x58100006, // 0004 LDCONST R4 K6 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080507, // 0006 GETMET R2 R2 K7 + 0x58100000, // 0007 LDCONST R4 K0 + 0x58140006, // 0008 LDCONST R5 K6 + 0x7C080600, // 0009 CALL R2 3 + 0x8C0C0108, // 000A GETMET R3 R0 K8 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x4C100000, // 000D LDNIL R4 + 0x1C0C0604, // 000E EQ R3 R3 R4 + 0x780E0000, // 000F JMPF R3 #0011 + 0x80040400, // 0010 RET 1 R2 + 0x7001FFEE, // 0011 JMP #0001 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load_fabrics +********************************************************************/ +be_local_closure(class_Matter_Session_Store_load_fabrics, /* name */ + be_nested_proto( + 16, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(load_fabrics), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0xA802005E, // 0000 EXBLK 0 #0060 + 0xB8061200, // 0001 GETNGBL R1 K9 + 0x8C04030A, // 0002 GETMET R1 R1 K10 + 0x7C040200, // 0003 CALL R1 1 + 0x90020201, // 0004 SETMBR R0 K1 R1 + 0xB8061200, // 0005 GETNGBL R1 K9 + 0x8C04030A, // 0006 GETMET R1 R1 K10 + 0x7C040200, // 0007 CALL R1 1 + 0x90021601, // 0008 SETMBR R0 K11 R1 + 0x60040011, // 0009 GETGBL R1 G17 + 0x8808010C, // 000A GETMBR R2 R0 K12 + 0x7C040200, // 000B CALL R1 1 + 0x8C08030D, // 000C GETMET R2 R1 K13 + 0x7C080200, // 000D CALL R2 1 + 0x8C0C030E, // 000E GETMET R3 R1 K14 + 0x7C0C0200, // 000F CALL R3 1 + 0xA40E1E00, // 0010 IMPORT R3 K15 + 0x8C100710, // 0011 GETMET R4 R3 K16 + 0x5C180400, // 0012 MOVE R6 R2 + 0x7C100400, // 0013 CALL R4 2 + 0x4C080000, // 0014 LDNIL R2 + 0xB8162200, // 0015 GETNGBL R5 K17 + 0x8C140B12, // 0016 GETMET R5 R5 K18 + 0x7C140200, // 0017 CALL R5 1 + 0x60140010, // 0018 GETGBL R5 G16 + 0x5C180800, // 0019 MOVE R6 R4 + 0x7C140200, // 001A CALL R5 1 + 0xA8020035, // 001B EXBLK 0 #0052 + 0x5C180A00, // 001C MOVE R6 R5 + 0x7C180000, // 001D CALL R6 0 + 0xB81E1200, // 001E GETNGBL R7 K9 + 0x881C0F13, // 001F GETMBR R7 R7 K19 + 0x8C1C0F14, // 0020 GETMET R7 R7 K20 + 0x5C240000, // 0021 MOVE R9 R0 + 0x5C280C00, // 0022 MOVE R10 R6 + 0x7C1C0600, // 0023 CALL R7 3 + 0x8C200F15, // 0024 GETMET R8 R7 K21 + 0x7C200200, // 0025 CALL R8 1 + 0x8C200F16, // 0026 GETMET R8 R7 K22 + 0x50280200, // 0027 LDBOOL R10 1 0 + 0x7C200400, // 0028 CALL R8 2 + 0x8C200D17, // 0029 GETMET R8 R6 K23 + 0x58280018, // 002A LDCONST R10 K24 + 0x602C0012, // 002B GETGBL R11 G18 + 0x7C2C0000, // 002C CALL R11 0 + 0x7C200600, // 002D CALL R8 3 + 0x60240010, // 002E GETGBL R9 G16 + 0x5C281000, // 002F MOVE R10 R8 + 0x7C240200, // 0030 CALL R9 1 + 0xA8020017, // 0031 EXBLK 0 #004A + 0x5C281200, // 0032 MOVE R10 R9 + 0x7C280000, // 0033 CALL R10 0 + 0xB82E1200, // 0034 GETNGBL R11 K9 + 0x882C1719, // 0035 GETMBR R11 R11 K25 + 0x8C2C1714, // 0036 GETMET R11 R11 K20 + 0x5C340000, // 0037 MOVE R13 R0 + 0x5C381400, // 0038 MOVE R14 R10 + 0x5C3C0E00, // 0039 MOVE R15 R7 + 0x7C2C0800, // 003A CALL R11 4 + 0x4C300000, // 003B LDNIL R12 + 0x2030160C, // 003C NE R12 R11 R12 + 0x7832000A, // 003D JMPF R12 #0049 + 0x8C301715, // 003E GETMET R12 R11 K21 + 0x7C300200, // 003F CALL R12 1 + 0x8C301716, // 0040 GETMET R12 R11 K22 + 0x50380200, // 0041 LDBOOL R14 1 0 + 0x7C300400, // 0042 CALL R12 2 + 0x8C30011A, // 0043 GETMET R12 R0 K26 + 0x5C381600, // 0044 MOVE R14 R11 + 0x7C300400, // 0045 CALL R12 2 + 0x8C300F1A, // 0046 GETMET R12 R7 K26 + 0x5C381600, // 0047 MOVE R14 R11 + 0x7C300400, // 0048 CALL R12 2 + 0x7001FFE7, // 0049 JMP #0032 + 0x5824001B, // 004A LDCONST R9 K27 + 0xAC240200, // 004B CATCH R9 1 0 + 0xB0080000, // 004C RAISE 2 R0 R0 + 0x8824010B, // 004D GETMBR R9 R0 K11 + 0x8C24131C, // 004E GETMET R9 R9 K28 + 0x5C2C0E00, // 004F MOVE R11 R7 + 0x7C240400, // 0050 CALL R9 2 + 0x7001FFC9, // 0051 JMP #001C + 0x5814001B, // 0052 LDCONST R5 K27 + 0xAC140200, // 0053 CATCH R5 1 0 + 0xB0080000, // 0054 RAISE 2 R0 R0 + 0xB8163A00, // 0055 GETNGBL R5 K29 + 0x60180018, // 0056 GETGBL R6 G24 + 0x581C001E, // 0057 LDCONST R7 K30 + 0x6020000C, // 0058 GETGBL R8 G12 + 0x8824010B, // 0059 GETMBR R9 R0 K11 + 0x7C200200, // 005A CALL R8 1 + 0x7C180400, // 005B CALL R6 2 + 0x581C0006, // 005C LDCONST R7 K6 + 0x7C140400, // 005D CALL R5 2 + 0xA8040001, // 005E EXBLK 1 1 + 0x70020011, // 005F JMP #0072 + 0xAC040002, // 0060 CATCH R1 0 2 + 0x7002000E, // 0061 JMP #0071 + 0x200C031F, // 0062 NE R3 R1 K31 + 0x780E000B, // 0063 JMPF R3 #0070 + 0xB80E3A00, // 0064 GETNGBL R3 K29 + 0x60100008, // 0065 GETGBL R4 G8 + 0x5C140200, // 0066 MOVE R5 R1 + 0x7C100200, // 0067 CALL R4 1 + 0x00124004, // 0068 ADD R4 K32 R4 + 0x00100921, // 0069 ADD R4 R4 K33 + 0x60140008, // 006A GETGBL R5 G8 + 0x5C180400, // 006B MOVE R6 R2 + 0x7C140200, // 006C CALL R5 1 + 0x00100805, // 006D ADD R4 R4 R5 + 0x58140006, // 006E LDCONST R5 K6 + 0x7C0C0400, // 006F CALL R3 2 + 0x70020000, // 0070 JMP #0072 + 0xB0080000, // 0071 RAISE 2 R0 R0 + 0x80000000, // 0072 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_children_fabrics +********************************************************************/ +be_local_closure(class_Matter_Session_Store_find_children_fabrics, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 3]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 2), + be_local_const_upval(1, 3), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(active_fabrics), + /* K1 */ be_nested_str_weak(fabric_parent), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(fabric_index), + /* K4 */ be_nested_str_weak(push), + /* K5 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(find_children_fabrics_inner), + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x68080000, // 0001 GETUPV R2 U0 + 0x8C080500, // 0002 GETMET R2 R2 K0 + 0x7C080200, // 0003 CALL R2 1 + 0x7C040200, // 0004 CALL R1 1 + 0xA8020013, // 0005 EXBLK 0 #001A + 0x5C080200, // 0006 MOVE R2 R1 + 0x7C080000, // 0007 CALL R2 0 + 0x880C0501, // 0008 GETMBR R3 R2 K1 + 0x1C0C0600, // 0009 EQ R3 R3 R0 + 0x780E000D, // 000A JMPF R3 #0019 + 0x680C0001, // 000B GETUPV R3 U1 + 0x8C0C0702, // 000C GETMET R3 R3 K2 + 0x7C0C0200, // 000D CALL R3 1 + 0x4C100000, // 000E LDNIL R4 + 0x1C0C0604, // 000F EQ R3 R3 R4 + 0x780E0007, // 0010 JMPF R3 #0019 + 0x880C0503, // 0011 GETMBR R3 R2 K3 + 0x68100001, // 0012 GETUPV R4 U1 + 0x8C100904, // 0013 GETMET R4 R4 K4 + 0x5C180600, // 0014 MOVE R6 R3 + 0x7C100400, // 0015 CALL R4 2 + 0x68100002, // 0016 GETUPV R4 U2 + 0x5C140600, // 0017 MOVE R5 R3 + 0x7C100200, // 0018 CALL R4 1 + 0x7001FFEB, // 0019 JMP #0006 + 0x58040005, // 001A LDCONST R1 K5 + 0xAC040200, // 001B CATCH R1 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x80000000, // 001D RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(find_children_fabrics), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0002, // 0002 JMPF R2 #0006 + 0x60080012, // 0003 GETGBL R2 G18 + 0x7C080000, // 0004 CALL R2 0 + 0x80040400, // 0005 RET 1 R2 + 0x60080012, // 0006 GETGBL R2 G18 + 0x7C080000, // 0007 CALL R2 0 + 0x400C0401, // 0008 CONNECT R3 R2 R1 + 0x840C0000, // 0009 CLOSURE R3 P0 + 0x5C100600, // 000A MOVE R4 R3 + 0x5C140200, // 000B MOVE R5 R1 + 0x7C100200, // 000C CALL R4 1 + 0xA0000000, // 000D CLOSE R0 + 0x80040400, // 000E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: sessions_active +********************************************************************/ +be_local_closure(class_Matter_Session_Store_sessions_active, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(sessions_active), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x60040012, // 0000 GETGBL R1 G18 + 0x7C040000, // 0001 CALL R1 0 + 0x58080000, // 0002 LDCONST R2 K0 + 0x600C000C, // 0003 GETGBL R3 G12 + 0x88100101, // 0004 GETMBR R4 R0 K1 + 0x7C0C0200, // 0005 CALL R3 1 + 0x140C0403, // 0006 LT R3 R2 R3 + 0x780E000C, // 0007 JMPF R3 #0015 + 0x880C0101, // 0008 GETMBR R3 R0 K1 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x8C100722, // 000A GETMET R4 R3 K34 + 0x7C100200, // 000B CALL R4 1 + 0x78120005, // 000C JMPF R4 #0013 + 0x8C100723, // 000D GETMET R4 R3 K35 + 0x7C100200, // 000E CALL R4 1 + 0x78120002, // 000F JMPF R4 #0013 + 0x8C10031C, // 0010 GETMET R4 R1 K28 + 0x5C180600, // 0011 MOVE R6 R3 + 0x7C100400, // 0012 CALL R4 2 + 0x00080503, // 0013 ADD R2 R2 K3 + 0x7001FFED, // 0014 JMP #0003 + 0x80040200, // 0015 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_fabric_by_index +********************************************************************/ +be_local_closure(class_Matter_Session_Store_find_fabric_by_index, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(find_fabric_by_index), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x60080010, // 0000 GETGBL R2 G16 + 0x8C0C0124, // 0001 GETMET R3 R0 K36 + 0x7C0C0200, // 0002 CALL R3 1 + 0x7C080200, // 0003 CALL R2 1 + 0xA8020008, // 0004 EXBLK 0 #000E + 0x5C0C0400, // 0005 MOVE R3 R2 + 0x7C0C0000, // 0006 CALL R3 0 + 0x8C100725, // 0007 GETMET R4 R3 K37 + 0x7C100200, // 0008 CALL R4 1 + 0x1C100801, // 0009 EQ R4 R4 R1 + 0x78120001, // 000A JMPF R4 #000D + 0xA8040001, // 000B EXBLK 1 1 + 0x80040600, // 000C RET 1 R3 + 0x7001FFF6, // 000D JMP #0005 + 0x5808001B, // 000E LDCONST R2 K27 + 0xAC080200, // 000F CATCH R2 1 0 + 0xB0080000, // 0010 RAISE 2 R0 R0 + 0x4C080000, // 0011 LDNIL R2 + 0x80040400, // 0012 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: active_fabrics +********************************************************************/ +be_local_closure(class_Matter_Session_Store_active_fabrics, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(active_fabrics), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040126, // 0000 GETMET R1 R0 K38 + 0x7C040200, // 0001 CALL R1 1 + 0x8804010B, // 0002 GETMBR R1 R0 K11 + 0x8C040327, // 0003 GETMET R1 R1 K39 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_Store_create_fabric, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(create_fabric), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8061200, // 0000 GETNGBL R1 K9 + 0x8C040313, // 0001 GETMET R1 R1 K19 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: count_active_fabrics +********************************************************************/ +be_local_closure(class_Matter_Session_Store_count_active_fabrics, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(count_active_fabrics), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8C040126, // 0000 GETMET R1 R0 K38 + 0x7C040200, // 0001 CALL R1 1 + 0x8804010B, // 0002 GETMBR R1 R0 K11 + 0x4C080000, // 0003 LDNIL R2 + 0x20040202, // 0004 NE R1 R1 R2 + 0x78060004, // 0005 JMPF R1 #000B + 0x8804010B, // 0006 GETMBR R1 R0 K11 + 0x8C040328, // 0007 GETMET R1 R1 K40 + 0x7C040200, // 0008 CALL R1 1 + 0x80040200, // 0009 RET 1 R1 + 0x70020000, // 000A JMP #000C + 0x80060000, // 000B RET 1 K0 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_session_by_resumption_id +********************************************************************/ +be_local_closure(class_Matter_Session_Store_find_session_by_resumption_id, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(find_session_by_resumption_id), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x5C080200, // 0000 MOVE R2 R1 + 0x740A0001, // 0001 JMPT R2 #0004 + 0x4C080000, // 0002 LDNIL R2 + 0x80040400, // 0003 RET 1 R2 + 0x58080000, // 0004 LDCONST R2 K0 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x6010000C, // 0006 GETGBL R4 G12 + 0x5C140600, // 0007 MOVE R5 R3 + 0x7C100200, // 0008 CALL R4 1 + 0x14100404, // 0009 LT R4 R2 R4 + 0x78120018, // 000A JMPF R4 #0024 + 0x94100602, // 000B GETIDX R4 R3 R2 + 0xB8163A00, // 000C GETNGBL R5 K29 + 0x60180018, // 000D GETGBL R6 G24 + 0x581C0029, // 000E LDCONST R7 K41 + 0x60200008, // 000F GETGBL R8 G8 + 0x8824092A, // 0010 GETMBR R9 R4 K42 + 0x7C200200, // 0011 CALL R8 1 + 0x60240008, // 0012 GETGBL R9 G8 + 0x5C280200, // 0013 MOVE R10 R1 + 0x7C240200, // 0014 CALL R9 1 + 0x7C180600, // 0015 CALL R6 3 + 0x541E0003, // 0016 LDINT R7 4 + 0x7C140400, // 0017 CALL R5 2 + 0x8814092A, // 0018 GETMBR R5 R4 K42 + 0x1C140A01, // 0019 EQ R5 R5 R1 + 0x78160006, // 001A JMPF R5 #0022 + 0x8814092B, // 001B GETMBR R5 R4 K43 + 0x4C180000, // 001C LDNIL R6 + 0x20140A06, // 001D NE R5 R5 R6 + 0x78160002, // 001E JMPF R5 #0022 + 0x8C14092C, // 001F GETMET R5 R4 K44 + 0x7C140200, // 0020 CALL R5 1 + 0x80040800, // 0021 RET 1 R4 + 0x00080503, // 0022 ADD R2 R2 K3 + 0x7001FFE1, // 0023 JMP #0006 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_session +********************************************************************/ +be_local_closure(class_Matter_Session_Store_add_session, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(add_session), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0403, // 0001 NE R3 R2 R3 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x8C0C032D, // 0003 GETMET R3 R1 K45 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x8C0C071C, // 0007 GETMET R3 R3 K28 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C0C0400, // 0009 CALL R3 2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_session_source_id_unsecure +********************************************************************/ +be_local_closure(class_Matter_Session_Store_find_session_source_id_unsecure, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(find_session_source_id_unsecure), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x8C0C012E, // 0000 GETMET R3 R0 K46 + 0x5C140200, // 0001 MOVE R5 R1 + 0x7C0C0400, // 0002 CALL R3 2 + 0x4C100000, // 0003 LDNIL R4 + 0x1C100604, // 0004 EQ R4 R3 R4 + 0x7812000E, // 0005 JMPF R4 #0015 + 0xB8121200, // 0006 GETNGBL R4 K9 + 0x8C100919, // 0007 GETMET R4 R4 K25 + 0x5C180000, // 0008 MOVE R6 R0 + 0x581C0000, // 0009 LDCONST R7 K0 + 0x58200000, // 000A LDCONST R8 K0 + 0x7C100800, // 000B CALL R4 4 + 0x5C0C0800, // 000C MOVE R3 R4 + 0x900E5E01, // 000D SETMBR R3 K47 R1 + 0x88100101, // 000E GETMBR R4 R0 K1 + 0x8C10091C, // 000F GETMET R4 R4 K28 + 0x5C180600, // 0010 MOVE R6 R3 + 0x7C100400, // 0011 CALL R4 2 + 0x8C10072D, // 0012 GETMET R4 R3 K45 + 0x5C180400, // 0013 MOVE R6 R2 + 0x7C100400, // 0014 CALL R4 2 + 0x8C10072C, // 0015 GETMET R4 R3 K44 + 0x7C100200, // 0016 CALL R4 1 + 0x80040600, // 0017 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_Session_Store_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040126, // 0000 GETMET R1 R0 K38 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_session_by_local_session_id +********************************************************************/ +be_local_closure(class_Matter_Session_Store_get_session_by_local_session_id, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(get_session_by_local_session_id), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x6008000C, // 0005 GETGBL R2 G12 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x580C0000, // 0008 LDCONST R3 K0 + 0x88100101, // 0009 GETMBR R4 R0 K1 + 0x14140602, // 000A LT R5 R3 R2 + 0x78160008, // 000B JMPF R5 #0015 + 0x94140803, // 000C GETIDX R5 R4 R3 + 0x88180B30, // 000D GETMBR R6 R5 K48 + 0x1C180C01, // 000E EQ R6 R6 R1 + 0x781A0002, // 000F JMPF R6 #0013 + 0x8C180B2C, // 0010 GETMET R6 R5 K44 + 0x7C180200, // 0011 CALL R6 1 + 0x80040A00, // 0012 RET 1 R5 + 0x000C0703, // 0013 ADD R3 R3 K3 + 0x7001FFF4, // 0014 JMP #000A + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Session_Store_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x90026201, // 0000 SETMBR R0 K49 R1 + 0xB80A1200, // 0001 GETNGBL R2 K9 + 0x8C08050A, // 0002 GETMET R2 R2 K10 + 0x7C080200, // 0003 CALL R2 1 + 0x90020202, // 0004 SETMBR R0 K1 R2 + 0xB80A1200, // 0005 GETNGBL R2 K9 + 0x8C08050A, // 0006 GETMET R2 R2 K10 + 0x7C080200, // 0007 CALL R2 1 + 0x90021602, // 0008 SETMBR R0 K11 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_expired +********************************************************************/ +be_local_closure(class_Matter_Session_Store_remove_expired, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(remove_expired), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040332, // 0001 GETMET R1 R1 K50 + 0x7C040200, // 0002 CALL R1 1 + 0x8804010B, // 0003 GETMBR R1 R0 K11 + 0x8C040332, // 0004 GETMET R1 R1 K50 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_redundant_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_Store_remove_redundant_fabric, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(remove_redundant_fabric), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x8810010B, // 0002 GETMBR R4 R0 K11 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0012, // 0005 JMPF R3 #0019 + 0x880C010B, // 0006 GETMBR R3 R0 K11 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x20100601, // 0008 NE R4 R3 R1 + 0x7812000C, // 0009 JMPF R4 #0017 + 0x88100733, // 000A GETMBR R4 R3 K51 + 0x88140333, // 000B GETMBR R5 R1 K51 + 0x1C100805, // 000C EQ R4 R4 R5 + 0x78120008, // 000D JMPF R4 #0017 + 0x88100734, // 000E GETMBR R4 R3 K52 + 0x88140334, // 000F GETMBR R5 R1 K52 + 0x1C100805, // 0010 EQ R4 R4 R5 + 0x78120004, // 0011 JMPF R4 #0017 + 0x8810010B, // 0012 GETMBR R4 R0 K11 + 0x8C100902, // 0013 GETMET R4 R4 K2 + 0x5C180400, // 0014 MOVE R6 R2 + 0x7C100400, // 0015 CALL R4 2 + 0x70020000, // 0016 JMP #0018 + 0x00080503, // 0017 ADD R2 R2 K3 + 0x7001FFE7, // 0018 JMP #0001 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_Store_add_fabric, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(add_fabric), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0xB8121200, // 0002 GETNGBL R4 K9 + 0x88100913, // 0003 GETMBR R4 R4 K19 + 0x7C080400, // 0004 CALL R2 2 + 0x740A0000, // 0005 JMPT R2 #0007 + 0xB0066B36, // 0006 RAISE 1 K53 K54 + 0x8808010B, // 0007 GETMBR R2 R0 K11 + 0x8C080517, // 0008 GETMET R2 R2 K23 + 0x5C100200, // 0009 MOVE R4 R1 + 0x7C080400, // 000A CALL R2 2 + 0x4C0C0000, // 000B LDNIL R3 + 0x1C080403, // 000C EQ R2 R2 R3 + 0x780A0006, // 000D JMPF R2 #0015 + 0x8C080137, // 000E GETMET R2 R0 K55 + 0x5C100200, // 000F MOVE R4 R1 + 0x7C080400, // 0010 CALL R2 2 + 0x8808010B, // 0011 GETMBR R2 R0 K11 + 0x8C08051C, // 0012 GETMET R2 R2 K28 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C080400, // 0014 CALL R2 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_session_by_source_node_id +********************************************************************/ +be_local_closure(class_Matter_Session_Store_get_session_by_source_node_id, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(get_session_by_source_node_id), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x6008000C, // 0005 GETGBL R2 G12 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x580C0000, // 0008 LDCONST R3 K0 + 0x88100101, // 0009 GETMBR R4 R0 K1 + 0x14140602, // 000A LT R5 R3 R2 + 0x78160008, // 000B JMPF R5 #0015 + 0x94140803, // 000C GETIDX R5 R4 R3 + 0x88180B2F, // 000D GETMBR R6 R5 K47 + 0x1C180C01, // 000E EQ R6 R6 R1 + 0x781A0002, // 000F JMPF R6 #0013 + 0x8C180B2C, // 0010 GETMET R6 R5 K44 + 0x7C180200, // 0011 CALL R6 1 + 0x80040A00, // 0012 RET 1 R5 + 0x000C0703, // 0013 ADD R3 R3 K3 + 0x7001FFF4, // 0014 JMP #000A + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: next_fabric_idx +********************************************************************/ +be_local_closure(class_Matter_Session_Store_next_fabric_idx, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(next_fabric_idx), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x8C040126, // 0000 GETMET R1 R0 K38 + 0x7C040200, // 0001 CALL R1 1 + 0x58040003, // 0002 LDCONST R1 K3 + 0x60080010, // 0003 GETGBL R2 G16 + 0x8C0C0124, // 0004 GETMET R3 R0 K36 + 0x7C0C0200, // 0005 CALL R3 1 + 0x7C080200, // 0006 CALL R2 1 + 0xA802000C, // 0007 EXBLK 0 #0015 + 0x5C0C0400, // 0008 MOVE R3 R2 + 0x7C0C0000, // 0009 CALL R3 0 + 0x88100738, // 000A GETMBR R4 R3 K56 + 0x60140004, // 000B GETGBL R5 G4 + 0x5C180800, // 000C MOVE R6 R4 + 0x7C140200, // 000D CALL R5 1 + 0x1C140B39, // 000E EQ R5 R5 K57 + 0x78160003, // 000F JMPF R5 #0014 + 0x28140801, // 0010 GE R5 R4 R1 + 0x78160001, // 0011 JMPF R5 #0014 + 0x00140903, // 0012 ADD R5 R4 K3 + 0x5C040A00, // 0013 MOVE R1 R5 + 0x7001FFF2, // 0014 JMP #0008 + 0x5808001B, // 0015 LDCONST R2 K27 + 0xAC080200, // 0016 CATCH R2 1 0 + 0xB0080000, // 0017 RAISE 2 R0 R0 + 0x80040200, // 0018 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: save_fabrics +********************************************************************/ +be_local_closure(class_Matter_Session_Store_save_fabrics, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(save_fabrics), + &be_const_str_solidified, + ( &(const binstruction[98]) { /* code */ + 0xA4061E00, // 0000 IMPORT R1 K15 + 0xA40A7400, // 0001 IMPORT R2 K58 + 0xA802004D, // 0002 EXBLK 0 #0051 + 0x8C0C0126, // 0003 GETMET R3 R0 K38 + 0x7C0C0200, // 0004 CALL R3 1 + 0x580C0000, // 0005 LDCONST R3 K0 + 0x58100000, // 0006 LDCONST R4 K0 + 0x60140011, // 0007 GETGBL R5 G17 + 0x8818013B, // 0008 GETMBR R6 R0 K59 + 0x581C003C, // 0009 LDCONST R7 K60 + 0x7C140400, // 000A CALL R5 2 + 0x8C180B3D, // 000B GETMET R6 R5 K61 + 0x5820003E, // 000C LDCONST R8 K62 + 0x7C180400, // 000D CALL R6 2 + 0x60180010, // 000E GETGBL R6 G16 + 0x881C010B, // 000F GETMBR R7 R0 K11 + 0x8C1C0F27, // 0010 GETMET R7 R7 K39 + 0x7C1C0200, // 0011 CALL R7 1 + 0x7C180200, // 0012 CALL R6 1 + 0xA8020018, // 0013 EXBLK 0 #002D + 0x5C1C0C00, // 0014 MOVE R7 R6 + 0x7C1C0000, // 0015 CALL R7 0 + 0x60200010, // 0016 GETGBL R8 G16 + 0x88240F18, // 0017 GETMBR R9 R7 K24 + 0x8C241327, // 0018 GETMET R9 R9 K39 + 0x7C240200, // 0019 CALL R9 1 + 0x7C200200, // 001A CALL R8 1 + 0xA8020003, // 001B EXBLK 0 #0020 + 0x5C241000, // 001C MOVE R9 R8 + 0x7C240000, // 001D CALL R9 0 + 0x000C0703, // 001E ADD R3 R3 K3 + 0x7001FFFB, // 001F JMP #001C + 0x5820001B, // 0020 LDCONST R8 K27 + 0xAC200200, // 0021 CATCH R8 1 0 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x24200900, // 0023 GT R8 R4 K0 + 0x78220002, // 0024 JMPF R8 #0028 + 0x8C200B3D, // 0025 GETMET R8 R5 K61 + 0x5828003F, // 0026 LDCONST R10 K63 + 0x7C200400, // 0027 CALL R8 2 + 0x8C200F40, // 0028 GETMET R8 R7 K64 + 0x5C280A00, // 0029 MOVE R10 R5 + 0x7C200400, // 002A CALL R8 2 + 0x00100903, // 002B ADD R4 R4 K3 + 0x7001FFE6, // 002C JMP #0014 + 0x5818001B, // 002D LDCONST R6 K27 + 0xAC180200, // 002E CATCH R6 1 0 + 0xB0080000, // 002F RAISE 2 R0 R0 + 0x8C180B3D, // 0030 GETMET R6 R5 K61 + 0x58200041, // 0031 LDCONST R8 K65 + 0x7C180400, // 0032 CALL R6 2 + 0x8C180B0E, // 0033 GETMET R6 R5 K14 + 0x7C180200, // 0034 CALL R6 1 + 0x8C180502, // 0035 GETMET R6 R2 K2 + 0x8820010C, // 0036 GETMBR R8 R0 K12 + 0x7C180400, // 0037 CALL R6 2 + 0x8C180542, // 0038 GETMET R6 R2 K66 + 0x8820013B, // 0039 GETMBR R8 R0 K59 + 0x8824010C, // 003A GETMBR R9 R0 K12 + 0x7C180600, // 003B CALL R6 3 + 0x781A000B, // 003C JMPF R6 #0049 + 0xB81A3A00, // 003D GETNGBL R6 K29 + 0x601C0018, // 003E GETGBL R7 G24 + 0x58200043, // 003F LDCONST R8 K67 + 0x5C240800, // 0040 MOVE R9 R4 + 0x5C280600, // 0041 MOVE R10 R3 + 0x7C1C0600, // 0042 CALL R7 3 + 0x58200006, // 0043 LDCONST R8 K6 + 0x7C180400, // 0044 CALL R6 2 + 0x88180131, // 0045 GETMBR R6 R0 K49 + 0x8C180D44, // 0046 GETMET R6 R6 K68 + 0x7C180200, // 0047 CALL R6 1 + 0x70020005, // 0048 JMP #004F + 0xB81A3A00, // 0049 GETNGBL R6 K29 + 0x601C0018, // 004A GETGBL R7 G24 + 0x58200045, // 004B LDCONST R8 K69 + 0x7C1C0200, // 004C CALL R7 1 + 0x58200006, // 004D LDCONST R8 K6 + 0x7C180400, // 004E CALL R6 2 + 0xA8040001, // 004F EXBLK 1 1 + 0x7002000F, // 0050 JMP #0061 + 0xAC0C0002, // 0051 CATCH R3 0 2 + 0x7002000C, // 0052 JMP #0060 + 0xB8163A00, // 0053 GETNGBL R5 K29 + 0x60180008, // 0054 GETGBL R6 G8 + 0x5C1C0600, // 0055 MOVE R7 R3 + 0x7C180200, // 0056 CALL R6 1 + 0x001A8C06, // 0057 ADD R6 K70 R6 + 0x00180D21, // 0058 ADD R6 R6 K33 + 0x601C0008, // 0059 GETGBL R7 G8 + 0x5C200800, // 005A MOVE R8 R4 + 0x7C1C0200, // 005B CALL R7 1 + 0x00180C07, // 005C ADD R6 R6 R7 + 0x581C0006, // 005D LDCONST R7 K6 + 0x7C140400, // 005E CALL R5 2 + 0x70020000, // 005F JMP #0061 + 0xB0080000, // 0060 RAISE 2 R0 R0 + 0x80000000, // 0061 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_session +********************************************************************/ +be_local_closure(class_Matter_Session_Store_create_session, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(create_session), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8C0C0108, // 0000 GETMET R3 R0 K8 + 0x5C140200, // 0001 MOVE R5 R1 + 0x7C0C0400, // 0002 CALL R3 2 + 0x4C100000, // 0003 LDNIL R4 + 0x20100604, // 0004 NE R4 R3 R4 + 0x78120002, // 0005 JMPF R4 #0009 + 0x8C100147, // 0006 GETMET R4 R0 K71 + 0x5C180600, // 0007 MOVE R6 R3 + 0x7C100400, // 0008 CALL R4 2 + 0xB8121200, // 0009 GETNGBL R4 K9 + 0x8C100919, // 000A GETMET R4 R4 K25 + 0x5C180000, // 000B MOVE R6 R0 + 0x5C1C0200, // 000C MOVE R7 R1 + 0x5C200400, // 000D MOVE R8 R2 + 0x7C100800, // 000E CALL R4 4 + 0x5C0C0800, // 000F MOVE R3 R4 + 0x88100101, // 0010 GETMBR R4 R0 K1 + 0x8C10091C, // 0011 GETMET R4 R4 K28 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C100400, // 0013 CALL R4 2 + 0x80040600, // 0014 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_fabric +********************************************************************/ +be_local_closure(class_Matter_Session_Store_remove_fabric, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Session_Store, /* shared constants */ + be_str_weak(remove_fabric), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0011, // 0003 JMPF R2 #0016 + 0x58080000, // 0004 LDCONST R2 K0 + 0x600C000C, // 0005 GETGBL R3 G12 + 0x88100101, // 0006 GETMBR R4 R0 K1 + 0x7C0C0200, // 0007 CALL R3 1 + 0x140C0403, // 0008 LT R3 R2 R3 + 0x780E000B, // 0009 JMPF R3 #0016 + 0x880C0101, // 000A GETMBR R3 R0 K1 + 0x940C0602, // 000B GETIDX R3 R3 R2 + 0x880C0748, // 000C GETMBR R3 R3 K72 + 0x1C0C0601, // 000D EQ R3 R3 R1 + 0x780E0004, // 000E JMPF R3 #0014 + 0x880C0101, // 000F GETMBR R3 R0 K1 + 0x8C0C0702, // 0010 GETMET R3 R3 K2 + 0x5C140400, // 0011 MOVE R5 R2 + 0x7C0C0400, // 0012 CALL R3 2 + 0x70020000, // 0013 JMP #0015 + 0x00080503, // 0014 ADD R2 R2 K3 + 0x7001FFEE, // 0015 JMP #0005 + 0x8808010B, // 0016 GETMBR R2 R0 K11 + 0x4C0C0000, // 0017 LDNIL R3 + 0x20080403, // 0018 NE R2 R2 R3 + 0x780A0006, // 0019 JMPF R2 #0021 + 0x8808010B, // 001A GETMBR R2 R0 K11 + 0x8C080502, // 001B GETMET R2 R2 K2 + 0x8810010B, // 001C GETMBR R4 R0 K11 + 0x8C100917, // 001D GETMET R4 R4 K23 + 0x5C180200, // 001E MOVE R6 R1 + 0x7C100400, // 001F CALL R4 2 + 0x7C080400, // 0020 CALL R2 2 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Session_Store +********************************************************************/ +be_local_class(Matter_Session_Store, + 3, + NULL, + be_nested_map(28, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(sessions, -1), be_const_var(1) }, + { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Session_Store_remove_fabric_closure) }, + { be_const_key_weak(remove_session, -1), be_const_closure(class_Matter_Session_Store_remove_session_closure) }, + { be_const_key_weak(active_fabrics, -1), be_const_closure(class_Matter_Session_Store_active_fabrics_closure) }, + { be_const_key_weak(load_fabrics, 18), be_const_closure(class_Matter_Session_Store_load_fabrics_closure) }, + { be_const_key_weak(fabrics, -1), be_const_var(2) }, + { be_const_key_weak(save_fabrics, -1), be_const_closure(class_Matter_Session_Store_save_fabrics_closure) }, + { be_const_key_weak(_FABRICS_TEMP, 22), be_nested_str_weak(_X2F_matter_fabrics_X2Etmp) }, + { be_const_key_weak(create_fabric, -1), be_const_closure(class_Matter_Session_Store_create_fabric_closure) }, + { be_const_key_weak(find_fabric_by_index, -1), be_const_closure(class_Matter_Session_Store_find_fabric_by_index_closure) }, + { be_const_key_weak(gen_local_session_id, 3), be_const_closure(class_Matter_Session_Store_gen_local_session_id_closure) }, + { be_const_key_weak(sessions_active, 8), be_const_closure(class_Matter_Session_Store_sessions_active_closure) }, + { be_const_key_weak(_FABRICS, -1), be_nested_str_weak(_X2F_matter_fabrics_X2Ejson) }, + { be_const_key_weak(get_session_by_source_node_id, -1), be_const_closure(class_Matter_Session_Store_get_session_by_source_node_id_closure) }, + { be_const_key_weak(count_active_fabrics, 23), be_const_closure(class_Matter_Session_Store_count_active_fabrics_closure) }, + { be_const_key_weak(add_session, 13), be_const_closure(class_Matter_Session_Store_add_session_closure) }, + { be_const_key_weak(find_session_source_id_unsecure, -1), be_const_closure(class_Matter_Session_Store_find_session_source_id_unsecure_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Session_Store_every_second_closure) }, + { be_const_key_weak(add_fabric, -1), be_const_closure(class_Matter_Session_Store_add_fabric_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Session_Store_init_closure) }, + { be_const_key_weak(remove_redundant_fabric, -1), be_const_closure(class_Matter_Session_Store_remove_redundant_fabric_closure) }, + { be_const_key_weak(get_session_by_local_session_id, 20), be_const_closure(class_Matter_Session_Store_get_session_by_local_session_id_closure) }, + { be_const_key_weak(remove_expired, -1), be_const_closure(class_Matter_Session_Store_remove_expired_closure) }, + { be_const_key_weak(find_session_by_resumption_id, -1), be_const_closure(class_Matter_Session_Store_find_session_by_resumption_id_closure) }, + { be_const_key_weak(next_fabric_idx, -1), be_const_closure(class_Matter_Session_Store_next_fabric_idx_closure) }, + { be_const_key_weak(find_children_fabrics, 6), be_const_closure(class_Matter_Session_Store_find_children_fabrics_closure) }, + { be_const_key_weak(create_session, -1), be_const_closure(class_Matter_Session_Store_create_session_closure) }, + { be_const_key_weak(device, 1), be_const_var(0) }, + })), + be_str_weak(Matter_Session_Store) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TCP_async.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TCP_async.h new file mode 100644 index 000000000..9ba0435a7 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TCP_async.h @@ -0,0 +1,841 @@ +/* Solidification of Matter_TCP_async.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_TCP_async' ktab size: 41, total: 80 (saved 312 bytes) +static const bvalue be_ktab_class_Matter_TCP_async[41] = { + /* K0 */ be_nested_str_weak(tcp_connected), + /* K1 */ be_nested_str_weak(tcp), + /* K2 */ be_nested_str_weak(read), + /* K3 */ be_nested_str_weak(reset), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(wifi), + /* K6 */ be_nested_str_weak(up), + /* K7 */ be_nested_str_weak(eth), + /* K8 */ be_nested_str_weak(time_start), + /* K9 */ be_nested_str_weak(millis), + /* K10 */ be_nested_str_weak(status), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str_weak(connect), + /* K13 */ be_nested_str_weak(addr), + /* K14 */ be_nested_str_weak(port), + /* K15 */ be_nested_str_weak(fast_loop), + /* K16 */ be_nested_str_weak(remove_fast_loop), + /* K17 */ be_nested_str_weak(add_fast_loop), + /* K18 */ be_nested_str_weak(add_driver), + /* K19 */ be_nested_str_weak(log), + /* K20 */ be_nested_str_weak(BRY_X3A_X20failed_X20to_X20resolve_X20_X5B_X25s_X5D_X3A_X25i), + /* K21 */ be_const_int(3), + /* K22 */ be_nested_str_weak(close), + /* K23 */ be_nested_str_weak(event_dnsfailed), + /* K24 */ be_nested_str_weak(readbytes), + /* K25 */ be_nested_str_weak(available), + /* K26 */ be_nested_str_weak(timeout), + /* K27 */ be_nested_str_weak(TIMEOUT), + /* K28 */ be_nested_str_weak(tcpclientasync), + /* K29 */ be_nested_str_weak(loop), + /* K30 */ be_nested_str_weak(write), + /* K31 */ be_nested_str_weak(connected), + /* K32 */ be_const_int(1), + /* K33 */ be_nested_str_weak(event_established), + /* K34 */ be_nested_str_weak(event_refused), + /* K35 */ be_nested_str_weak(event_timeout), + /* K36 */ be_nested_str_weak(event_closed), + /* K37 */ be_nested_str_weak(event_available), + /* K38 */ be_nested_str_weak(listening), + /* K39 */ be_nested_str_weak(event_listening), + /* K40 */ be_nested_str_weak(remove_driver), +}; + + +extern const bclass be_class_Matter_TCP_async; + +/******************************************************************** +** Solidified function: read +********************************************************************/ +be_local_closure(class_Matter_TCP_async_read, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(read), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040302, // 0003 GETMET R1 R1 K2 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x4C040000, // 0006 LDNIL R1 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin +********************************************************************/ +be_local_closure(class_Matter_TCP_async_begin, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(begin), + &be_const_str_solidified, + ( &(const binstruction[62]) { /* code */ + 0x8C040103, // 0000 GETMET R1 R0 K3 + 0x7C040200, // 0001 CALL R1 1 + 0xB8060800, // 0002 GETNGBL R1 K4 + 0x8C040305, // 0003 GETMET R1 R1 K5 + 0x7C040200, // 0004 CALL R1 1 + 0x94040306, // 0005 GETIDX R1 R1 K6 + 0x74060006, // 0006 JMPT R1 #000E + 0xB8060800, // 0007 GETNGBL R1 K4 + 0x8C040307, // 0008 GETMET R1 R1 K7 + 0x7C040200, // 0009 CALL R1 1 + 0x94040306, // 000A GETIDX R1 R1 K6 + 0x74060001, // 000B JMPT R1 #000E + 0x4C040000, // 000C LDNIL R1 + 0x80040200, // 000D RET 1 R1 + 0xB8060800, // 000E GETNGBL R1 K4 + 0x8C040309, // 000F GETMET R1 R1 K9 + 0x7C040200, // 0010 CALL R1 1 + 0x90021001, // 0011 SETMBR R0 K8 R1 + 0x9002150B, // 0012 SETMBR R0 K10 K11 + 0x88040101, // 0013 GETMBR R1 R0 K1 + 0x8C04030C, // 0014 GETMET R1 R1 K12 + 0x880C010D, // 0015 GETMBR R3 R0 K13 + 0x8810010E, // 0016 GETMBR R4 R0 K14 + 0x7C040600, // 0017 CALL R1 3 + 0x78060011, // 0018 JMPF R1 #002B + 0x8804010F, // 0019 GETMBR R1 R0 K15 + 0x78060008, // 001A JMPF R1 #0024 + 0xB8060800, // 001B GETNGBL R1 K4 + 0x8C040310, // 001C GETMET R1 R1 K16 + 0x880C010F, // 001D GETMBR R3 R0 K15 + 0x7C040400, // 001E CALL R1 2 + 0xB8060800, // 001F GETNGBL R1 K4 + 0x8C040311, // 0020 GETMET R1 R1 K17 + 0x880C010F, // 0021 GETMBR R3 R0 K15 + 0x7C040400, // 0022 CALL R1 2 + 0x70020003, // 0023 JMP #0028 + 0xB8060800, // 0024 GETNGBL R1 K4 + 0x8C040312, // 0025 GETMET R1 R1 K18 + 0x5C0C0000, // 0026 MOVE R3 R0 + 0x7C040400, // 0027 CALL R1 2 + 0x50040200, // 0028 LDBOOL R1 1 0 + 0x80040200, // 0029 RET 1 R1 + 0x70020011, // 002A JMP #003D + 0xB8062600, // 002B GETNGBL R1 K19 + 0x60080018, // 002C GETGBL R2 G24 + 0x580C0014, // 002D LDCONST R3 K20 + 0x8810010D, // 002E GETMBR R4 R0 K13 + 0x8814010E, // 002F GETMBR R5 R0 K14 + 0x7C080600, // 0030 CALL R2 3 + 0x580C0015, // 0031 LDCONST R3 K21 + 0x7C040400, // 0032 CALL R1 2 + 0x8C040116, // 0033 GETMET R1 R0 K22 + 0x7C040200, // 0034 CALL R1 1 + 0x5405FFFE, // 0035 LDINT R1 -1 + 0x90021401, // 0036 SETMBR R0 K10 R1 + 0x50040000, // 0037 LDBOOL R1 0 0 + 0x90020001, // 0038 SETMBR R0 K0 R1 + 0x8C040117, // 0039 GETMET R1 R0 K23 + 0x7C040200, // 003A CALL R1 1 + 0x50040000, // 003B LDBOOL R1 0 0 + 0x80040200, // 003C RET 1 R1 + 0x80000000, // 003D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: readbytes +********************************************************************/ +be_local_closure(class_Matter_TCP_async_readbytes, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(readbytes), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040318, // 0003 GETMET R1 R1 K24 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x4C040000, // 0006 LDNIL R1 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_closed +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_closed, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_closed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: available +********************************************************************/ +be_local_closure(class_Matter_TCP_async_available, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(available), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040319, // 0003 GETMET R1 R1 K25 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x80061600, // 0006 RET 1 K11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_listening +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_listening, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_listening), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_timeout +********************************************************************/ +be_local_closure(class_Matter_TCP_async_get_timeout, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(get_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804011A, // 0000 GETMBR R1 R0 K26 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_TCP_async_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140605, // 0001 EQ R5 R3 R5 + 0x78160000, // 0002 JMPF R5 #0004 + 0x880C011B, // 0003 GETMBR R3 R0 K27 + 0x4C140000, // 0004 LDNIL R5 + 0x1C140405, // 0005 EQ R5 R2 R5 + 0x78160000, // 0006 JMPF R5 #0008 + 0x540A004F, // 0007 LDINT R2 80 + 0x60140008, // 0008 GETGBL R5 G8 + 0x5C180200, // 0009 MOVE R6 R1 + 0x7C140200, // 000A CALL R5 1 + 0x90021A05, // 000B SETMBR R0 K13 R5 + 0x60140009, // 000C GETGBL R5 G9 + 0x5C180400, // 000D MOVE R6 R2 + 0x7C140200, // 000E CALL R5 1 + 0x90021C05, // 000F SETMBR R0 K14 R5 + 0x90023403, // 0010 SETMBR R0 K26 R3 + 0xB8163800, // 0011 GETNGBL R5 K28 + 0x7C140000, // 0012 CALL R5 0 + 0x90020205, // 0013 SETMBR R0 K1 R5 + 0x78120001, // 0014 JMPF R4 #0017 + 0x84140000, // 0015 CLOSURE R5 P0 + 0x90021E05, // 0016 SETMBR R0 K15 R5 + 0xA0000000, // 0017 CLOSE R0 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_TCP_async_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04011D, // 0000 GETMET R1 R0 K29 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_timeout +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_timeout, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_available +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_available, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_available), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write +********************************************************************/ +be_local_closure(class_Matter_TCP_async_write, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(write), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0004, // 0001 JMPF R2 #0007 + 0x88080101, // 0002 GETMBR R2 R0 K1 + 0x8C08051E, // 0003 GETMET R2 R2 K30 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x80040400, // 0006 RET 1 R2 + 0x80061600, // 0007 RET 1 K11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_established +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_established, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_established), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_TCP_async_reset, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040316, // 0001 GETMET R1 R1 K22 + 0x7C040200, // 0002 CALL R1 1 + 0x4C040000, // 0003 LDNIL R1 + 0x90020001, // 0004 SETMBR R0 K0 R1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: loop +********************************************************************/ +be_local_closure(class_Matter_TCP_async_loop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(loop), + &be_const_str_solidified, + ( &(const binstruction[89]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8808010A, // 0001 GETMBR R2 R0 K10 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C080403, // 0003 EQ R2 R2 R3 + 0x780A0002, // 0004 JMPF R2 #0008 + 0x8C080116, // 0005 GETMET R2 R0 K22 + 0x7C080200, // 0006 CALL R2 1 + 0x80000400, // 0007 RET 0 + 0x88080101, // 0008 GETMBR R2 R0 K1 + 0x8C08051F, // 0009 GETMET R2 R2 K31 + 0x7C080200, // 000A CALL R2 1 + 0x90020002, // 000B SETMBR R0 K0 R2 + 0x4C080000, // 000C LDNIL R2 + 0x1C080202, // 000D EQ R2 R1 R2 + 0x780A0021, // 000E JMPF R2 #0031 + 0x88080100, // 000F GETMBR R2 R0 K0 + 0x500C0200, // 0010 LDBOOL R3 1 0 + 0x1C080403, // 0011 EQ R2 R2 R3 + 0x780A0003, // 0012 JMPF R2 #0017 + 0x90021520, // 0013 SETMBR R0 K10 K32 + 0x8C080121, // 0014 GETMET R2 R0 K33 + 0x7C080200, // 0015 CALL R2 1 + 0x70020019, // 0016 JMP #0031 + 0x88080100, // 0017 GETMBR R2 R0 K0 + 0x500C0000, // 0018 LDBOOL R3 0 0 + 0x1C080403, // 0019 EQ R2 R2 R3 + 0x780A0007, // 001A JMPF R2 #0023 + 0x5409FFFD, // 001B LDINT R2 -2 + 0x90021402, // 001C SETMBR R0 K10 R2 + 0x8C080122, // 001D GETMET R2 R0 K34 + 0x7C080200, // 001E CALL R2 1 + 0x8C080116, // 001F GETMET R2 R0 K22 + 0x7C080200, // 0020 CALL R2 1 + 0x80000400, // 0021 RET 0 + 0x7002000D, // 0022 JMP #0031 + 0xB80A0800, // 0023 GETNGBL R2 K4 + 0x8C080509, // 0024 GETMET R2 R2 K9 + 0x7C080200, // 0025 CALL R2 1 + 0x880C0108, // 0026 GETMBR R3 R0 K8 + 0x04080403, // 0027 SUB R2 R2 R3 + 0x880C011A, // 0028 GETMBR R3 R0 K26 + 0x24080403, // 0029 GT R2 R2 R3 + 0x780A0005, // 002A JMPF R2 #0031 + 0x5409FFFC, // 002B LDINT R2 -3 + 0x90021402, // 002C SETMBR R0 K10 R2 + 0x50080000, // 002D LDBOOL R2 0 0 + 0x90020002, // 002E SETMBR R0 K0 R2 + 0x8C080123, // 002F GETMET R2 R0 K35 + 0x7C080200, // 0030 CALL R2 1 + 0xB80A0800, // 0031 GETNGBL R2 K4 + 0x8C080509, // 0032 GETMET R2 R2 K9 + 0x7C080200, // 0033 CALL R2 1 + 0x880C0108, // 0034 GETMBR R3 R0 K8 + 0x04080403, // 0035 SUB R2 R2 R3 + 0x880C011A, // 0036 GETMBR R3 R0 K26 + 0x24080403, // 0037 GT R2 R2 R3 + 0x780A0006, // 0038 JMPF R2 #0040 + 0x8C080116, // 0039 GETMET R2 R0 K22 + 0x7C080200, // 003A CALL R2 1 + 0x5409FFFC, // 003B LDINT R2 -3 + 0x90021402, // 003C SETMBR R0 K10 R2 + 0x8C080123, // 003D GETMET R2 R0 K35 + 0x7C080200, // 003E CALL R2 1 + 0x80000400, // 003F RET 0 + 0x88080100, // 0040 GETMBR R2 R0 K0 + 0x500C0000, // 0041 LDBOOL R3 0 0 + 0x1C080403, // 0042 EQ R2 R2 R3 + 0x780A0007, // 0043 JMPF R2 #004C + 0x50080200, // 0044 LDBOOL R2 1 0 + 0x1C080202, // 0045 EQ R2 R1 R2 + 0x780A0001, // 0046 JMPF R2 #0049 + 0x8C080124, // 0047 GETMET R2 R0 K36 + 0x7C080200, // 0048 CALL R2 1 + 0x8C080116, // 0049 GETMET R2 R0 K22 + 0x7C080200, // 004A CALL R2 1 + 0x80000400, // 004B RET 0 + 0x88080101, // 004C GETMBR R2 R0 K1 + 0x8C080519, // 004D GETMET R2 R2 K25 + 0x7C080200, // 004E CALL R2 1 + 0x780A0001, // 004F JMPF R2 #0052 + 0x8C080125, // 0050 GETMET R2 R0 K37 + 0x7C080200, // 0051 CALL R2 1 + 0x88080101, // 0052 GETMBR R2 R0 K1 + 0x8C080526, // 0053 GETMET R2 R2 K38 + 0x7C080200, // 0054 CALL R2 1 + 0x780A0001, // 0055 JMPF R2 #0058 + 0x8C080127, // 0056 GETMET R2 R0 K39 + 0x7C080200, // 0057 CALL R2 1 + 0x80000000, // 0058 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: listening +********************************************************************/ +be_local_closure(class_Matter_TCP_async_listening, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(listening), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040326, // 0003 GETMET R1 R1 K38 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x50040000, // 0006 LDBOOL R1 0 0 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_timeout +********************************************************************/ +be_local_closure(class_Matter_TCP_async_set_timeout, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(set_timeout), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x8804011B, // 0003 GETMBR R1 R0 K27 + 0x90023401, // 0004 SETMBR R0 K26 R1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_dnsfailed +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_dnsfailed, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_dnsfailed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: close +********************************************************************/ +be_local_closure(class_Matter_TCP_async_close, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(close), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040316, // 0001 GETMET R1 R1 K22 + 0x7C040200, // 0002 CALL R1 1 + 0x8804010F, // 0003 GETMBR R1 R0 K15 + 0x78060004, // 0004 JMPF R1 #000A + 0xB8060800, // 0005 GETNGBL R1 K4 + 0x8C040310, // 0006 GETMET R1 R1 K16 + 0x880C010F, // 0007 GETMBR R3 R0 K15 + 0x7C040400, // 0008 CALL R1 2 + 0x70020003, // 0009 JMP #000E + 0xB8060800, // 000A GETNGBL R1 K4 + 0x8C040328, // 000B GETMET R1 R1 K40 + 0x5C0C0000, // 000C MOVE R3 R0 + 0x7C040400, // 000D CALL R1 2 + 0x88040100, // 000E GETMBR R1 R0 K0 + 0x50080200, // 000F LDBOOL R2 1 0 + 0x1C040202, // 0010 EQ R1 R1 R2 + 0x78060001, // 0011 JMPF R1 #0014 + 0x8C040124, // 0012 GETMET R1 R0 K36 + 0x7C040200, // 0013 CALL R1 1 + 0x50040000, // 0014 LDBOOL R1 0 0 + 0x90020001, // 0015 SETMBR R0 K0 R1 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_refused +********************************************************************/ +be_local_closure(class_Matter_TCP_async_event_refused, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TCP_async, /* shared constants */ + be_str_weak(event_refused), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TCP_async +********************************************************************/ +be_local_class(Matter_TCP_async, + 8, + NULL, + be_nested_map(29, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(read, 13), be_const_closure(class_Matter_TCP_async_read_closure) }, + { be_const_key_weak(addr, -1), be_const_var(0) }, + { be_const_key_weak(event_refused, -1), be_const_closure(class_Matter_TCP_async_event_refused_closure) }, + { be_const_key_weak(begin, -1), be_const_closure(class_Matter_TCP_async_begin_closure) }, + { be_const_key_weak(readbytes, -1), be_const_closure(class_Matter_TCP_async_readbytes_closure) }, + { be_const_key_weak(event_closed, 11), be_const_closure(class_Matter_TCP_async_event_closed_closure) }, + { be_const_key_weak(event_listening, -1), be_const_closure(class_Matter_TCP_async_event_listening_closure) }, + { be_const_key_weak(tcp_connected, -1), be_const_var(5) }, + { be_const_key_weak(get_timeout, -1), be_const_closure(class_Matter_TCP_async_get_timeout_closure) }, + { be_const_key_weak(timeout, 18), be_const_var(2) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TCP_async_init_closure) }, + { be_const_key_weak(event_timeout, 6), be_const_closure(class_Matter_TCP_async_event_timeout_closure) }, + { be_const_key_weak(set_timeout, -1), be_const_closure(class_Matter_TCP_async_set_timeout_closure) }, + { be_const_key_weak(listening, 23), be_const_closure(class_Matter_TCP_async_listening_closure) }, + { be_const_key_weak(tcp, -1), be_const_var(3) }, + { be_const_key_weak(event_available, -1), be_const_closure(class_Matter_TCP_async_event_available_closure) }, + { be_const_key_weak(write, -1), be_const_closure(class_Matter_TCP_async_write_closure) }, + { be_const_key_weak(event_established, -1), be_const_closure(class_Matter_TCP_async_event_established_closure) }, + { be_const_key_weak(TIMEOUT, 7), be_const_int(1000) }, + { be_const_key_weak(time_start, 22), be_const_var(4) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_TCP_async_reset_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_Matter_TCP_async_loop_closure) }, + { be_const_key_weak(status, -1), be_const_var(6) }, + { be_const_key_weak(port, -1), be_const_var(1) }, + { be_const_key_weak(every_50ms, 12), be_const_closure(class_Matter_TCP_async_every_50ms_closure) }, + { be_const_key_weak(fast_loop, -1), be_const_var(7) }, + { be_const_key_weak(event_dnsfailed, -1), be_const_closure(class_Matter_TCP_async_event_dnsfailed_closure) }, + { be_const_key_weak(close, -1), be_const_closure(class_Matter_TCP_async_close_closure) }, + { be_const_key_weak(available, 2), be_const_closure(class_Matter_TCP_async_available_closure) }, + })), + be_str_weak(Matter_TCP_async) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TLV.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TLV.h new file mode 100644 index 000000000..e900426ba --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_TLV.h @@ -0,0 +1,3467 @@ +/* Solidification of Matter_TLV.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_TLV_item; +// compact class 'Matter_TLV_item' ktab size: 89, total: 205 (saved 928 bytes) +static const bvalue be_ktab_class_Matter_TLV_item[89] = { + /* K0 */ be_nested_str_weak(parent), + /* K1 */ be_nested_str_weak(next_idx), + /* K2 */ be_nested_str_weak(tag_vendor), + /* K3 */ be_nested_str_weak(tag_profile), + /* K4 */ be_nested_str_weak(tag_number), + /* K5 */ be_nested_str_weak(tag_sub), + /* K6 */ be_nested_str_weak(typ), + /* K7 */ be_nested_str_weak(val), + /* K8 */ be_nested_str_weak(reset), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(RAW), + /* K12 */ be_nested_str_weak(BFALSE), + /* K13 */ be_nested_str_weak(BTRUE), + /* K14 */ be_nested_str_weak(I2), + /* K15 */ be_nested_str_weak(I4), + /* K16 */ be_nested_str_weak(I1), + /* K17 */ be_nested_str_weak(U2), + /* K18 */ be_nested_str_weak(U4), + /* K19 */ be_nested_str_weak(U1), + /* K20 */ be_nested_str_weak(B1), + /* K21 */ be_nested_str_weak(B8), + /* K22 */ be_nested_str_weak(B2), + /* K23 */ be_nested_str_weak(B4), + /* K24 */ be_nested_str_weak(UTF1), + /* K25 */ be_nested_str_weak(UTF8), + /* K26 */ be_nested_str_weak(UTF2), + /* K27 */ be_nested_str_weak(UTF4), + /* K28 */ be_nested_str_weak(_encode_tag_len), + /* K29 */ be_const_int(1), + /* K30 */ be_const_int(2), + /* K31 */ be_nested_str_weak(I8), + /* K32 */ be_nested_str_weak(U8), + /* K33 */ be_nested_str_weak(FLOAT), + /* K34 */ be_nested_str_weak(DOUBLE), + /* K35 */ be_nested_str_weak(value_error), + /* K36 */ be_nested_str_weak(Unsupported_X20type_X20TLV_X2EDOUBLE), + /* K37 */ be_nested_str_weak(NULL), + /* K38 */ be_nested_str_weak(unsupported_X20type_X20), + /* K39 */ be_nested_str_weak(), + /* K40 */ be_nested_str_weak(Matter_X3A_X3A), + /* K41 */ be_nested_str_weak(0x_X2508X_X20), + /* K42 */ be_nested_str_weak(0x_X2504X_X3A_X3A), + /* K43 */ be_nested_str_weak(0x_X2504X_X3A), + /* K44 */ be_nested_str_weak(_X25i_X20), + /* K45 */ be_nested_str_weak(_X3D_X20), + /* K46 */ be_nested_str_weak(int), + /* K47 */ be_nested_str_weak(_X25i), + /* K48 */ be_nested_str_weak(U), + /* K49 */ be_nested_str_weak(bool), + /* K50 */ be_nested_str_weak(true), + /* K51 */ be_nested_str_weak(false), + /* K52 */ be_nested_str_weak(null), + /* K53 */ be_nested_str_weak(real), + /* K54 */ be_nested_str_weak(_X25g), + /* K55 */ be_nested_str_weak(string), + /* K56 */ be_nested_str_weak(_X22_X25s_X22), + /* K57 */ be_nested_str_weak(int64), + /* K58 */ be_nested_str_weak(tostring), + /* K59 */ be_nested_str_weak(instance), + /* K60 */ be_nested_str_weak(_X25s), + /* K61 */ be_nested_str_weak(tohex), + /* K62 */ be_nested_str_weak(_X20), + /* K63 */ be_nested_str_weak(_len), + /* K64 */ be_nested_str_weak(frombytes), + /* K65 */ be_nested_str_weak(geti), + /* K66 */ be_nested_str_weak(get), + /* K67 */ be_nested_str_weak(getfloat), + /* K68 */ be_nested_str_weak(asstring), + /* K69 */ be_nested_str_weak(EOC), + /* K70 */ be_nested_str_weak(log), + /* K71 */ be_nested_str_weak(MTR_X3A_X20unexpected_X20eoc), + /* K72 */ be_const_int(3), + /* K73 */ be_nested_str_weak(MTR_X3A_X20unexpected_X20type_X3A_X20), + /* K74 */ be_nested_str_weak(set_fulltag), + /* K75 */ be_nested_str_weak(add), + /* K76 */ be_const_class(be_class_Matter_TLV_item), + /* K77 */ be_nested_str_weak(_cmp_gt), + /* K78 */ be_nested_str_weak(stop_iteration), + /* K79 */ be_nested_str_weak(_encode_tag), + /* K80 */ be_nested_str_weak(copy), + /* K81 */ be_nested_str_weak(resize), + /* K82 */ be_nested_str_weak(tobytes), + /* K83 */ be_nested_str_weak(fromu32), + /* K84 */ be_nested_str_weak(setfloat), + /* K85 */ be_nested_str_weak(string_X20too_X20big), + /* K86 */ be_nested_str_weak(fromstring), + /* K87 */ be_nested_str_weak(frostring), + /* K88 */ be_nested_str_weak(bytes_X20too_X20big), +}; + + +extern const bclass be_class_Matter_TLV_item; + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Matter_TLV_item_reset, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(reset), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x90020202, // 0002 SETMBR R0 K1 R2 + 0x90020402, // 0003 SETMBR R0 K2 R2 + 0x90020602, // 0004 SETMBR R0 K3 R2 + 0x90020802, // 0005 SETMBR R0 K4 R2 + 0x90020A02, // 0006 SETMBR R0 K5 R2 + 0x90020C02, // 0007 SETMBR R0 K6 R2 + 0x90020E02, // 0008 SETMBR R0 K7 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_or_nil +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_or_nil, /* name */ + be_nested_proto( + 5, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_or_nil), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x8C0C0108, // 0000 GETMET R3 R0 K8 + 0x7C0C0200, // 0001 CALL R3 1 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C0C0403, // 0003 EQ R3 R2 R3 + 0x780E0000, // 0004 JMPF R3 #0006 + 0x54060013, // 0005 LDINT R1 20 + 0x4C0C0000, // 0006 LDNIL R3 + 0x200C0403, // 0007 NE R3 R2 R3 + 0x740E0002, // 0008 JMPT R3 #000C + 0x540E0013, // 0009 LDINT R3 20 + 0x1C0C0203, // 000A EQ R3 R1 R3 + 0x780E0002, // 000B JMPF R3 #000F + 0x90020C01, // 000C SETMBR R0 K6 R1 + 0x90020E02, // 000D SETMBR R0 K7 R2 + 0x80040000, // 000E RET 1 R0 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: encode_len +********************************************************************/ +be_local_closure(class_Matter_TLV_item_encode_len, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(encode_len), + &be_const_str_solidified, + ( &(const binstruction[258]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x5808000A, // 0001 LDCONST R2 K10 + 0x880C0106, // 0002 GETMBR R3 R0 K6 + 0x8810030B, // 0003 GETMBR R4 R1 K11 + 0x1C0C0604, // 0004 EQ R3 R3 R4 + 0x780E0003, // 0005 JMPF R3 #000A + 0x600C000C, // 0006 GETGBL R3 G12 + 0x88100107, // 0007 GETMBR R4 R0 K7 + 0x7C0C0200, // 0008 CALL R3 1 + 0x80040600, // 0009 RET 1 R3 + 0x880C0106, // 000A GETMBR R3 R0 K6 + 0x8810030C, // 000B GETMBR R4 R1 K12 + 0x1C0C0604, // 000C EQ R3 R3 R4 + 0x740E0003, // 000D JMPT R3 #0012 + 0x880C0106, // 000E GETMBR R3 R0 K6 + 0x8810030D, // 000F GETMBR R4 R1 K13 + 0x1C0C0604, // 0010 EQ R3 R3 R4 + 0x780E0008, // 0011 JMPF R3 #001B + 0x600C0017, // 0012 GETGBL R3 G23 + 0x88100107, // 0013 GETMBR R4 R0 K7 + 0x7C0C0200, // 0014 CALL R3 1 + 0x780E0001, // 0015 JMPF R3 #0018 + 0x880C030D, // 0016 GETMBR R3 R1 K13 + 0x70020000, // 0017 JMP #0019 + 0x880C030C, // 0018 GETMBR R3 R1 K12 + 0x90020C03, // 0019 SETMBR R0 K6 R3 + 0x70020070, // 001A JMP #008C + 0x880C0106, // 001B GETMBR R3 R0 K6 + 0x8810030E, // 001C GETMBR R4 R1 K14 + 0x280C0604, // 001D GE R3 R3 R4 + 0x780E0018, // 001E JMPF R3 #0038 + 0x880C0106, // 001F GETMBR R3 R0 K6 + 0x8810030F, // 0020 GETMBR R4 R1 K15 + 0x180C0604, // 0021 LE R3 R3 R4 + 0x780E0014, // 0022 JMPF R3 #0038 + 0x600C0009, // 0023 GETGBL R3 G9 + 0x88100107, // 0024 GETMBR R4 R0 K7 + 0x7C0C0200, // 0025 CALL R3 1 + 0x5412007E, // 0026 LDINT R4 127 + 0x18100604, // 0027 LE R4 R3 R4 + 0x78120005, // 0028 JMPF R4 #002F + 0x5411FF7F, // 0029 LDINT R4 -128 + 0x28100604, // 002A GE R4 R3 R4 + 0x78120002, // 002B JMPF R4 #002F + 0x88100310, // 002C GETMBR R4 R1 K16 + 0x90020C04, // 002D SETMBR R0 K6 R4 + 0x70020007, // 002E JMP #0037 + 0x54127FFE, // 002F LDINT R4 32767 + 0x18100604, // 0030 LE R4 R3 R4 + 0x78120004, // 0031 JMPF R4 #0037 + 0x54117FFF, // 0032 LDINT R4 -32768 + 0x28100604, // 0033 GE R4 R3 R4 + 0x78120001, // 0034 JMPF R4 #0037 + 0x8810030E, // 0035 GETMBR R4 R1 K14 + 0x90020C04, // 0036 SETMBR R0 K6 R4 + 0x70020053, // 0037 JMP #008C + 0x880C0106, // 0038 GETMBR R3 R0 K6 + 0x88100311, // 0039 GETMBR R4 R1 K17 + 0x280C0604, // 003A GE R3 R3 R4 + 0x780E0016, // 003B JMPF R3 #0053 + 0x880C0106, // 003C GETMBR R3 R0 K6 + 0x88100312, // 003D GETMBR R4 R1 K18 + 0x180C0604, // 003E LE R3 R3 R4 + 0x780E0012, // 003F JMPF R3 #0053 + 0x600C0009, // 0040 GETGBL R3 G9 + 0x88100107, // 0041 GETMBR R4 R0 K7 + 0x7C0C0200, // 0042 CALL R3 1 + 0x541200FE, // 0043 LDINT R4 255 + 0x18100604, // 0044 LE R4 R3 R4 + 0x78120004, // 0045 JMPF R4 #004B + 0x2810070A, // 0046 GE R4 R3 K10 + 0x78120002, // 0047 JMPF R4 #004B + 0x88100313, // 0048 GETMBR R4 R1 K19 + 0x90020C04, // 0049 SETMBR R0 K6 R4 + 0x70020006, // 004A JMP #0052 + 0x5412FFFE, // 004B LDINT R4 65535 + 0x18100604, // 004C LE R4 R3 R4 + 0x78120003, // 004D JMPF R4 #0052 + 0x2810070A, // 004E GE R4 R3 K10 + 0x78120001, // 004F JMPF R4 #0052 + 0x88100311, // 0050 GETMBR R4 R1 K17 + 0x90020C04, // 0051 SETMBR R0 K6 R4 + 0x70020038, // 0052 JMP #008C + 0x880C0106, // 0053 GETMBR R3 R0 K6 + 0x88100314, // 0054 GETMBR R4 R1 K20 + 0x280C0604, // 0055 GE R3 R3 R4 + 0x780E0018, // 0056 JMPF R3 #0070 + 0x880C0106, // 0057 GETMBR R3 R0 K6 + 0x88100315, // 0058 GETMBR R4 R1 K21 + 0x180C0604, // 0059 LE R3 R3 R4 + 0x780E0014, // 005A JMPF R3 #0070 + 0x600C000C, // 005B GETGBL R3 G12 + 0x88100107, // 005C GETMBR R4 R0 K7 + 0x7C0C0200, // 005D CALL R3 1 + 0x541200FE, // 005E LDINT R4 255 + 0x180C0604, // 005F LE R3 R3 R4 + 0x780E0002, // 0060 JMPF R3 #0064 + 0x880C0314, // 0061 GETMBR R3 R1 K20 + 0x90020C03, // 0062 SETMBR R0 K6 R3 + 0x7002000A, // 0063 JMP #006F + 0x600C000C, // 0064 GETGBL R3 G12 + 0x88100107, // 0065 GETMBR R4 R0 K7 + 0x7C0C0200, // 0066 CALL R3 1 + 0x5412FFFE, // 0067 LDINT R4 65535 + 0x180C0604, // 0068 LE R3 R3 R4 + 0x780E0002, // 0069 JMPF R3 #006D + 0x880C0316, // 006A GETMBR R3 R1 K22 + 0x90020C03, // 006B SETMBR R0 K6 R3 + 0x70020001, // 006C JMP #006F + 0x880C0317, // 006D GETMBR R3 R1 K23 + 0x90020C03, // 006E SETMBR R0 K6 R3 + 0x7002001B, // 006F JMP #008C + 0x880C0106, // 0070 GETMBR R3 R0 K6 + 0x88100318, // 0071 GETMBR R4 R1 K24 + 0x280C0604, // 0072 GE R3 R3 R4 + 0x780E0017, // 0073 JMPF R3 #008C + 0x880C0106, // 0074 GETMBR R3 R0 K6 + 0x88100319, // 0075 GETMBR R4 R1 K25 + 0x180C0604, // 0076 LE R3 R3 R4 + 0x780E0013, // 0077 JMPF R3 #008C + 0x600C000C, // 0078 GETGBL R3 G12 + 0x88100107, // 0079 GETMBR R4 R0 K7 + 0x7C0C0200, // 007A CALL R3 1 + 0x541200FE, // 007B LDINT R4 255 + 0x180C0604, // 007C LE R3 R3 R4 + 0x780E0002, // 007D JMPF R3 #0081 + 0x880C0318, // 007E GETMBR R3 R1 K24 + 0x90020C03, // 007F SETMBR R0 K6 R3 + 0x7002000A, // 0080 JMP #008C + 0x600C000C, // 0081 GETGBL R3 G12 + 0x88100107, // 0082 GETMBR R4 R0 K7 + 0x7C0C0200, // 0083 CALL R3 1 + 0x5412FFFE, // 0084 LDINT R4 65535 + 0x180C0604, // 0085 LE R3 R3 R4 + 0x780E0002, // 0086 JMPF R3 #008A + 0x880C031A, // 0087 GETMBR R3 R1 K26 + 0x90020C03, // 0088 SETMBR R0 K6 R3 + 0x70020001, // 0089 JMP #008C + 0x880C031B, // 008A GETMBR R3 R1 K27 + 0x90020C03, // 008B SETMBR R0 K6 R3 + 0x8C0C011C, // 008C GETMET R3 R0 K28 + 0x7C0C0200, // 008D CALL R3 1 + 0x00080403, // 008E ADD R2 R2 R3 + 0x880C0106, // 008F GETMBR R3 R0 K6 + 0x88100310, // 0090 GETMBR R4 R1 K16 + 0x1C0C0604, // 0091 EQ R3 R3 R4 + 0x740E0003, // 0092 JMPT R3 #0097 + 0x880C0106, // 0093 GETMBR R3 R0 K6 + 0x88100313, // 0094 GETMBR R4 R1 K19 + 0x1C0C0604, // 0095 EQ R3 R3 R4 + 0x780E0001, // 0096 JMPF R3 #0099 + 0x0008051D, // 0097 ADD R2 R2 K29 + 0x70020067, // 0098 JMP #0101 + 0x880C0106, // 0099 GETMBR R3 R0 K6 + 0x8810030E, // 009A GETMBR R4 R1 K14 + 0x1C0C0604, // 009B EQ R3 R3 R4 + 0x740E0003, // 009C JMPT R3 #00A1 + 0x880C0106, // 009D GETMBR R3 R0 K6 + 0x88100311, // 009E GETMBR R4 R1 K17 + 0x1C0C0604, // 009F EQ R3 R3 R4 + 0x780E0001, // 00A0 JMPF R3 #00A3 + 0x0008051E, // 00A1 ADD R2 R2 K30 + 0x7002005D, // 00A2 JMP #0101 + 0x880C0106, // 00A3 GETMBR R3 R0 K6 + 0x8810030F, // 00A4 GETMBR R4 R1 K15 + 0x1C0C0604, // 00A5 EQ R3 R3 R4 + 0x740E0003, // 00A6 JMPT R3 #00AB + 0x880C0106, // 00A7 GETMBR R3 R0 K6 + 0x88100312, // 00A8 GETMBR R4 R1 K18 + 0x1C0C0604, // 00A9 EQ R3 R3 R4 + 0x780E0002, // 00AA JMPF R3 #00AE + 0x540E0003, // 00AB LDINT R3 4 + 0x00080403, // 00AC ADD R2 R2 R3 + 0x70020052, // 00AD JMP #0101 + 0x880C0106, // 00AE GETMBR R3 R0 K6 + 0x8810031F, // 00AF GETMBR R4 R1 K31 + 0x1C0C0604, // 00B0 EQ R3 R3 R4 + 0x740E0003, // 00B1 JMPT R3 #00B6 + 0x880C0106, // 00B2 GETMBR R3 R0 K6 + 0x88100320, // 00B3 GETMBR R4 R1 K32 + 0x1C0C0604, // 00B4 EQ R3 R3 R4 + 0x780E0002, // 00B5 JMPF R3 #00B9 + 0x540E0007, // 00B6 LDINT R3 8 + 0x00080403, // 00B7 ADD R2 R2 R3 + 0x70020047, // 00B8 JMP #0101 + 0x880C0106, // 00B9 GETMBR R3 R0 K6 + 0x8810030C, // 00BA GETMBR R4 R1 K12 + 0x1C0C0604, // 00BB EQ R3 R3 R4 + 0x740E0003, // 00BC JMPT R3 #00C1 + 0x880C0106, // 00BD GETMBR R3 R0 K6 + 0x8810030D, // 00BE GETMBR R4 R1 K13 + 0x1C0C0604, // 00BF EQ R3 R3 R4 + 0x780E0000, // 00C0 JMPF R3 #00C2 + 0x7002003E, // 00C1 JMP #0101 + 0x880C0106, // 00C2 GETMBR R3 R0 K6 + 0x88100321, // 00C3 GETMBR R4 R1 K33 + 0x1C0C0604, // 00C4 EQ R3 R3 R4 + 0x780E0002, // 00C5 JMPF R3 #00C9 + 0x540E0003, // 00C6 LDINT R3 4 + 0x00080403, // 00C7 ADD R2 R2 R3 + 0x70020037, // 00C8 JMP #0101 + 0x880C0106, // 00C9 GETMBR R3 R0 K6 + 0x88100322, // 00CA GETMBR R4 R1 K34 + 0x1C0C0604, // 00CB EQ R3 R3 R4 + 0x780E0001, // 00CC JMPF R3 #00CF + 0xB0064724, // 00CD RAISE 1 K35 K36 + 0x70020031, // 00CE JMP #0101 + 0x880C0106, // 00CF GETMBR R3 R0 K6 + 0x88100318, // 00D0 GETMBR R4 R1 K24 + 0x1C0C0604, // 00D1 EQ R3 R3 R4 + 0x780E0005, // 00D2 JMPF R3 #00D9 + 0x600C000C, // 00D3 GETGBL R3 G12 + 0x88100107, // 00D4 GETMBR R4 R0 K7 + 0x7C0C0200, // 00D5 CALL R3 1 + 0x000E3A03, // 00D6 ADD R3 K29 R3 + 0x00080403, // 00D7 ADD R2 R2 R3 + 0x70020027, // 00D8 JMP #0101 + 0x880C0106, // 00D9 GETMBR R3 R0 K6 + 0x8810031A, // 00DA GETMBR R4 R1 K26 + 0x1C0C0604, // 00DB EQ R3 R3 R4 + 0x780E0005, // 00DC JMPF R3 #00E3 + 0x600C000C, // 00DD GETGBL R3 G12 + 0x88100107, // 00DE GETMBR R4 R0 K7 + 0x7C0C0200, // 00DF CALL R3 1 + 0x000E3C03, // 00E0 ADD R3 K30 R3 + 0x00080403, // 00E1 ADD R2 R2 R3 + 0x7002001D, // 00E2 JMP #0101 + 0x880C0106, // 00E3 GETMBR R3 R0 K6 + 0x88100314, // 00E4 GETMBR R4 R1 K20 + 0x1C0C0604, // 00E5 EQ R3 R3 R4 + 0x780E0005, // 00E6 JMPF R3 #00ED + 0x600C000C, // 00E7 GETGBL R3 G12 + 0x88100107, // 00E8 GETMBR R4 R0 K7 + 0x7C0C0200, // 00E9 CALL R3 1 + 0x000E3A03, // 00EA ADD R3 K29 R3 + 0x00080403, // 00EB ADD R2 R2 R3 + 0x70020013, // 00EC JMP #0101 + 0x880C0106, // 00ED GETMBR R3 R0 K6 + 0x88100316, // 00EE GETMBR R4 R1 K22 + 0x1C0C0604, // 00EF EQ R3 R3 R4 + 0x780E0005, // 00F0 JMPF R3 #00F7 + 0x600C000C, // 00F1 GETGBL R3 G12 + 0x88100107, // 00F2 GETMBR R4 R0 K7 + 0x7C0C0200, // 00F3 CALL R3 1 + 0x000E3C03, // 00F4 ADD R3 K30 R3 + 0x00080403, // 00F5 ADD R2 R2 R3 + 0x70020009, // 00F6 JMP #0101 + 0x880C0106, // 00F7 GETMBR R3 R0 K6 + 0x88100325, // 00F8 GETMBR R4 R1 K37 + 0x1C0C0604, // 00F9 EQ R3 R3 R4 + 0x780E0000, // 00FA JMPF R3 #00FC + 0x70020004, // 00FB JMP #0101 + 0x600C0008, // 00FC GETGBL R3 G8 + 0x88100106, // 00FD GETMBR R4 R0 K6 + 0x7C0C0200, // 00FE CALL R3 1 + 0x000E4C03, // 00FF ADD R3 K38 R3 + 0xB0064603, // 0100 RAISE 1 K35 R3 + 0x80040400, // 0101 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set, /* name */ + be_nested_proto( + 5, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8C0C0108, // 0000 GETMET R3 R0 K8 + 0x7C0C0200, // 0001 CALL R3 1 + 0x4C0C0000, // 0002 LDNIL R3 + 0x200C0403, // 0003 NE R3 R2 R3 + 0x740E0002, // 0004 JMPT R3 #0008 + 0x540E0013, // 0005 LDINT R3 20 + 0x1C0C0203, // 0006 EQ R3 R1 R3 + 0x780E0002, // 0007 JMPF R3 #000B + 0x90020C01, // 0008 SETMBR R0 K6 R1 + 0x90020E02, // 0009 SETMBR R0 K7 R2 + 0x80040000, // 000A RET 1 R0 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_TLV +********************************************************************/ +be_local_closure(class_Matter_TLV_item_to_TLV, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(to_TLV), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80040000, // 0000 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_TLV_item_tostring, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[167]) { /* code */ + 0x58080027, // 0000 LDCONST R2 K39 + 0xA802009C, // 0001 EXBLK 0 #009F + 0x500C0200, // 0002 LDBOOL R3 1 0 + 0x200C0203, // 0003 NE R3 R1 R3 + 0x780E0038, // 0004 JMPF R3 #003E + 0x880C0103, // 0005 GETMBR R3 R0 K3 + 0x5411FFFE, // 0006 LDINT R4 -1 + 0x1C0C0604, // 0007 EQ R3 R3 R4 + 0x780E000A, // 0008 JMPF R3 #0014 + 0x00080528, // 0009 ADD R2 R2 K40 + 0x880C0104, // 000A GETMBR R3 R0 K4 + 0x4C100000, // 000B LDNIL R4 + 0x200C0604, // 000C NE R3 R3 R4 + 0x780E0004, // 000D JMPF R3 #0013 + 0x600C0018, // 000E GETGBL R3 G24 + 0x58100029, // 000F LDCONST R4 K41 + 0x88140104, // 0010 GETMBR R5 R0 K4 + 0x7C0C0400, // 0011 CALL R3 2 + 0x00080403, // 0012 ADD R2 R2 R3 + 0x70020023, // 0013 JMP #0038 + 0x880C0102, // 0014 GETMBR R3 R0 K2 + 0x4C100000, // 0015 LDNIL R4 + 0x200C0604, // 0016 NE R3 R3 R4 + 0x780E0004, // 0017 JMPF R3 #001D + 0x600C0018, // 0018 GETGBL R3 G24 + 0x5810002A, // 0019 LDCONST R4 K42 + 0x88140102, // 001A GETMBR R5 R0 K2 + 0x7C0C0400, // 001B CALL R3 2 + 0x00080403, // 001C ADD R2 R2 R3 + 0x880C0103, // 001D GETMBR R3 R0 K3 + 0x4C100000, // 001E LDNIL R4 + 0x200C0604, // 001F NE R3 R3 R4 + 0x780E0004, // 0020 JMPF R3 #0026 + 0x600C0018, // 0021 GETGBL R3 G24 + 0x5810002B, // 0022 LDCONST R4 K43 + 0x88140103, // 0023 GETMBR R5 R0 K3 + 0x7C0C0400, // 0024 CALL R3 2 + 0x00080403, // 0025 ADD R2 R2 R3 + 0x880C0104, // 0026 GETMBR R3 R0 K4 + 0x4C100000, // 0027 LDNIL R4 + 0x200C0604, // 0028 NE R3 R3 R4 + 0x780E0004, // 0029 JMPF R3 #002F + 0x600C0018, // 002A GETGBL R3 G24 + 0x58100029, // 002B LDCONST R4 K41 + 0x88140104, // 002C GETMBR R5 R0 K4 + 0x7C0C0400, // 002D CALL R3 2 + 0x00080403, // 002E ADD R2 R2 R3 + 0x880C0105, // 002F GETMBR R3 R0 K5 + 0x4C100000, // 0030 LDNIL R4 + 0x200C0604, // 0031 NE R3 R3 R4 + 0x780E0004, // 0032 JMPF R3 #0038 + 0x600C0018, // 0033 GETGBL R3 G24 + 0x5810002C, // 0034 LDCONST R4 K44 + 0x88140105, // 0035 GETMBR R5 R0 K5 + 0x7C0C0400, // 0036 CALL R3 2 + 0x00080403, // 0037 ADD R2 R2 R3 + 0x600C000C, // 0038 GETGBL R3 G12 + 0x5C100400, // 0039 MOVE R4 R2 + 0x7C0C0200, // 003A CALL R3 1 + 0x240C070A, // 003B GT R3 R3 K10 + 0x780E0000, // 003C JMPF R3 #003E + 0x0008052D, // 003D ADD R2 R2 K45 + 0x600C0004, // 003E GETGBL R3 G4 + 0x88100107, // 003F GETMBR R4 R0 K7 + 0x7C0C0200, // 0040 CALL R3 1 + 0x1C0C072E, // 0041 EQ R3 R3 K46 + 0x780E0010, // 0042 JMPF R3 #0054 + 0x600C0018, // 0043 GETGBL R3 G24 + 0x5810002F, // 0044 LDCONST R4 K47 + 0x88140107, // 0045 GETMBR R5 R0 K7 + 0x7C0C0400, // 0046 CALL R3 2 + 0x00080403, // 0047 ADD R2 R2 R3 + 0x880C0106, // 0048 GETMBR R3 R0 K6 + 0x88100109, // 0049 GETMBR R4 R0 K9 + 0x88100913, // 004A GETMBR R4 R4 K19 + 0x280C0604, // 004B GE R3 R3 R4 + 0x780E0005, // 004C JMPF R3 #0053 + 0x880C0106, // 004D GETMBR R3 R0 K6 + 0x88100109, // 004E GETMBR R4 R0 K9 + 0x88100920, // 004F GETMBR R4 R4 K32 + 0x180C0604, // 0050 LE R3 R3 R4 + 0x780E0000, // 0051 JMPF R3 #0053 + 0x00080530, // 0052 ADD R2 R2 K48 + 0x70020048, // 0053 JMP #009D + 0x600C0004, // 0054 GETGBL R3 G4 + 0x88100107, // 0055 GETMBR R4 R0 K7 + 0x7C0C0200, // 0056 CALL R3 1 + 0x1C0C0731, // 0057 EQ R3 R3 K49 + 0x780E0006, // 0058 JMPF R3 #0060 + 0x880C0107, // 0059 GETMBR R3 R0 K7 + 0x780E0001, // 005A JMPF R3 #005D + 0x580C0032, // 005B LDCONST R3 K50 + 0x70020000, // 005C JMP #005E + 0x580C0033, // 005D LDCONST R3 K51 + 0x00080403, // 005E ADD R2 R2 R3 + 0x7002003C, // 005F JMP #009D + 0x880C0107, // 0060 GETMBR R3 R0 K7 + 0x4C100000, // 0061 LDNIL R4 + 0x1C0C0604, // 0062 EQ R3 R3 R4 + 0x780E0001, // 0063 JMPF R3 #0066 + 0x00080534, // 0064 ADD R2 R2 K52 + 0x70020036, // 0065 JMP #009D + 0x600C0004, // 0066 GETGBL R3 G4 + 0x88100107, // 0067 GETMBR R4 R0 K7 + 0x7C0C0200, // 0068 CALL R3 1 + 0x1C0C0735, // 0069 EQ R3 R3 K53 + 0x780E0005, // 006A JMPF R3 #0071 + 0x600C0018, // 006B GETGBL R3 G24 + 0x58100036, // 006C LDCONST R4 K54 + 0x88140107, // 006D GETMBR R5 R0 K7 + 0x7C0C0400, // 006E CALL R3 2 + 0x00080403, // 006F ADD R2 R2 R3 + 0x7002002B, // 0070 JMP #009D + 0x600C0004, // 0071 GETGBL R3 G4 + 0x88100107, // 0072 GETMBR R4 R0 K7 + 0x7C0C0200, // 0073 CALL R3 1 + 0x1C0C0737, // 0074 EQ R3 R3 K55 + 0x780E0005, // 0075 JMPF R3 #007C + 0x600C0018, // 0076 GETGBL R3 G24 + 0x58100038, // 0077 LDCONST R4 K56 + 0x88140107, // 0078 GETMBR R5 R0 K7 + 0x7C0C0400, // 0079 CALL R3 2 + 0x00080403, // 007A ADD R2 R2 R3 + 0x70020020, // 007B JMP #009D + 0x600C000F, // 007C GETGBL R3 G15 + 0x88100107, // 007D GETMBR R4 R0 K7 + 0xB8167200, // 007E GETNGBL R5 K57 + 0x7C0C0400, // 007F CALL R3 2 + 0x780E000F, // 0080 JMPF R3 #0091 + 0x880C0107, // 0081 GETMBR R3 R0 K7 + 0x8C0C073A, // 0082 GETMET R3 R3 K58 + 0x7C0C0200, // 0083 CALL R3 1 + 0x00080403, // 0084 ADD R2 R2 R3 + 0x880C0106, // 0085 GETMBR R3 R0 K6 + 0x88100109, // 0086 GETMBR R4 R0 K9 + 0x88100913, // 0087 GETMBR R4 R4 K19 + 0x280C0604, // 0088 GE R3 R3 R4 + 0x780E0005, // 0089 JMPF R3 #0090 + 0x880C0106, // 008A GETMBR R3 R0 K6 + 0x88100109, // 008B GETMBR R4 R0 K9 + 0x88100920, // 008C GETMBR R4 R4 K32 + 0x180C0604, // 008D LE R3 R3 R4 + 0x780E0000, // 008E JMPF R3 #0090 + 0x00080530, // 008F ADD R2 R2 K48 + 0x7002000B, // 0090 JMP #009D + 0x600C0004, // 0091 GETGBL R3 G4 + 0x88100107, // 0092 GETMBR R4 R0 K7 + 0x7C0C0200, // 0093 CALL R3 1 + 0x1C0C073B, // 0094 EQ R3 R3 K59 + 0x780E0006, // 0095 JMPF R3 #009D + 0x600C0018, // 0096 GETGBL R3 G24 + 0x5810003C, // 0097 LDCONST R4 K60 + 0x88140107, // 0098 GETMBR R5 R0 K7 + 0x8C140B3D, // 0099 GETMET R5 R5 K61 + 0x7C140200, // 009A CALL R5 1 + 0x7C0C0400, // 009B CALL R3 2 + 0x00080403, // 009C ADD R2 R2 R3 + 0xA8040001, // 009D EXBLK 1 1 + 0x70020006, // 009E JMP #00A6 + 0xAC0C0002, // 009F CATCH R3 0 2 + 0x70020003, // 00A0 JMP #00A5 + 0x0014073E, // 00A1 ADD R5 R3 K62 + 0x00140A04, // 00A2 ADD R5 R5 R4 + 0x80040A00, // 00A3 RET 1 R5 + 0x70020000, // 00A4 JMP #00A6 + 0xB0080000, // 00A5 RAISE 2 R0 R0 + 0x80040400, // 00A6 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_str_val +********************************************************************/ +be_local_closure(class_Matter_TLV_item_to_str_val, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(to_str_val), + &be_const_str_solidified, + ( &(const binstruction[98]) { /* code */ + 0x60040004, // 0000 GETGBL R1 G4 + 0x88080107, // 0001 GETMBR R2 R0 K7 + 0x7C040200, // 0002 CALL R1 1 + 0x1C04032E, // 0003 EQ R1 R1 K46 + 0x78060014, // 0004 JMPF R1 #001A + 0x88040106, // 0005 GETMBR R1 R0 K6 + 0x88080109, // 0006 GETMBR R2 R0 K9 + 0x88080513, // 0007 GETMBR R2 R2 K19 + 0x28040202, // 0008 GE R1 R1 R2 + 0x7806000A, // 0009 JMPF R1 #0015 + 0x88040106, // 000A GETMBR R1 R0 K6 + 0x88080109, // 000B GETMBR R2 R0 K9 + 0x88080520, // 000C GETMBR R2 R2 K32 + 0x18040202, // 000D LE R1 R1 R2 + 0x78060005, // 000E JMPF R1 #0015 + 0x60040008, // 000F GETGBL R1 G8 + 0x88080107, // 0010 GETMBR R2 R0 K7 + 0x7C040200, // 0011 CALL R1 1 + 0x00040330, // 0012 ADD R1 R1 K48 + 0x80040200, // 0013 RET 1 R1 + 0x70020003, // 0014 JMP #0019 + 0x60040008, // 0015 GETGBL R1 G8 + 0x88080107, // 0016 GETMBR R2 R0 K7 + 0x7C040200, // 0017 CALL R1 1 + 0x80040200, // 0018 RET 1 R1 + 0x70020046, // 0019 JMP #0061 + 0x60040004, // 001A GETGBL R1 G4 + 0x88080107, // 001B GETMBR R2 R0 K7 + 0x7C040200, // 001C CALL R1 1 + 0x1C040331, // 001D EQ R1 R1 K49 + 0x78060006, // 001E JMPF R1 #0026 + 0x88040107, // 001F GETMBR R1 R0 K7 + 0x78060001, // 0020 JMPF R1 #0023 + 0x58040032, // 0021 LDCONST R1 K50 + 0x70020000, // 0022 JMP #0024 + 0x58040033, // 0023 LDCONST R1 K51 + 0x80040200, // 0024 RET 1 R1 + 0x7002003A, // 0025 JMP #0061 + 0x88040107, // 0026 GETMBR R1 R0 K7 + 0x4C080000, // 0027 LDNIL R2 + 0x1C040202, // 0028 EQ R1 R1 R2 + 0x78060001, // 0029 JMPF R1 #002C + 0x80066800, // 002A RET 1 K52 + 0x70020034, // 002B JMP #0061 + 0x60040004, // 002C GETGBL R1 G4 + 0x88080107, // 002D GETMBR R2 R0 K7 + 0x7C040200, // 002E CALL R1 1 + 0x1C040335, // 002F EQ R1 R1 K53 + 0x78060004, // 0030 JMPF R1 #0036 + 0x60040008, // 0031 GETGBL R1 G8 + 0x88080107, // 0032 GETMBR R2 R0 K7 + 0x7C040200, // 0033 CALL R1 1 + 0x80040200, // 0034 RET 1 R1 + 0x7002002A, // 0035 JMP #0061 + 0x60040004, // 0036 GETGBL R1 G4 + 0x88080107, // 0037 GETMBR R2 R0 K7 + 0x7C040200, // 0038 CALL R1 1 + 0x1C040337, // 0039 EQ R1 R1 K55 + 0x78060002, // 003A JMPF R1 #003E + 0x88040107, // 003B GETMBR R1 R0 K7 + 0x80040200, // 003C RET 1 R1 + 0x70020022, // 003D JMP #0061 + 0x6004000F, // 003E GETGBL R1 G15 + 0x88080107, // 003F GETMBR R2 R0 K7 + 0xB80E7200, // 0040 GETNGBL R3 K57 + 0x7C040400, // 0041 CALL R1 2 + 0x78060014, // 0042 JMPF R1 #0058 + 0x88040106, // 0043 GETMBR R1 R0 K6 + 0x88080109, // 0044 GETMBR R2 R0 K9 + 0x88080513, // 0045 GETMBR R2 R2 K19 + 0x28040202, // 0046 GE R1 R1 R2 + 0x7806000A, // 0047 JMPF R1 #0053 + 0x88040106, // 0048 GETMBR R1 R0 K6 + 0x88080109, // 0049 GETMBR R2 R0 K9 + 0x88080520, // 004A GETMBR R2 R2 K32 + 0x18040202, // 004B LE R1 R1 R2 + 0x78060005, // 004C JMPF R1 #0053 + 0x88040107, // 004D GETMBR R1 R0 K7 + 0x8C04033A, // 004E GETMET R1 R1 K58 + 0x7C040200, // 004F CALL R1 1 + 0x00040330, // 0050 ADD R1 R1 K48 + 0x80040200, // 0051 RET 1 R1 + 0x70020003, // 0052 JMP #0057 + 0x88040107, // 0053 GETMBR R1 R0 K7 + 0x8C04033A, // 0054 GETMET R1 R1 K58 + 0x7C040200, // 0055 CALL R1 1 + 0x80040200, // 0056 RET 1 R1 + 0x70020008, // 0057 JMP #0061 + 0x60040004, // 0058 GETGBL R1 G4 + 0x88080107, // 0059 GETMBR R2 R0 K7 + 0x7C040200, // 005A CALL R1 1 + 0x1C04033B, // 005B EQ R1 R1 K59 + 0x78060003, // 005C JMPF R1 #0061 + 0x8C04013A, // 005D GETMET R1 R0 K58 + 0x500C0200, // 005E LDBOOL R3 1 0 + 0x7C040400, // 005F CALL R1 2 + 0x80040200, // 0060 RET 1 R1 + 0x80000000, // 0061 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_fulltag +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_fulltag, /* name */ + be_nested_proto( + 6, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_fulltag), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x60100009, // 0000 GETGBL R4 G9 + 0x5C140200, // 0001 MOVE R5 R1 + 0x7C100200, // 0002 CALL R4 1 + 0x90020404, // 0003 SETMBR R0 K2 R4 + 0x60100009, // 0004 GETGBL R4 G9 + 0x5C140400, // 0005 MOVE R5 R2 + 0x7C100200, // 0006 CALL R4 1 + 0x90020604, // 0007 SETMBR R0 K3 R4 + 0x60100009, // 0008 GETGBL R4 G9 + 0x5C140600, // 0009 MOVE R5 R3 + 0x7C100200, // 000A CALL R4 1 + 0x90020804, // 000B SETMBR R0 K4 R4 + 0x4C100000, // 000C LDNIL R4 + 0x90020A04, // 000D SETMBR R0 K5 R4 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_TLV_item_parse, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[101]) { /* code */ + 0x880C0106, // 0000 GETMBR R3 R0 K6 + 0x88100109, // 0001 GETMBR R4 R0 K9 + 0x8814093F, // 0002 GETMBR R5 R4 K63 + 0x94140A03, // 0003 GETIDX R5 R5 R3 + 0x541A0007, // 0004 LDINT R6 8 + 0x1C180A06, // 0005 EQ R6 R5 R6 + 0x781A0008, // 0006 JMPF R6 #0010 + 0xB81A7200, // 0007 GETNGBL R6 K57 + 0x8C180D40, // 0008 GETMET R6 R6 K64 + 0x5C200200, // 0009 MOVE R8 R1 + 0x5C240400, // 000A MOVE R9 R2 + 0x7C180600, // 000B CALL R6 3 + 0x90020E06, // 000C SETMBR R0 K7 R6 + 0x541A0007, // 000D LDINT R6 8 + 0x00080406, // 000E ADD R2 R2 R6 + 0x70020052, // 000F JMP #0063 + 0x8818090C, // 0010 GETMBR R6 R4 K12 + 0x1C180606, // 0011 EQ R6 R3 R6 + 0x741A0002, // 0012 JMPT R6 #0016 + 0x8818090D, // 0013 GETMBR R6 R4 K13 + 0x1C180606, // 0014 EQ R6 R3 R6 + 0x781A0003, // 0015 JMPF R6 #001A + 0x8818090D, // 0016 GETMBR R6 R4 K13 + 0x1C180606, // 0017 EQ R6 R3 R6 + 0x90020E06, // 0018 SETMBR R0 K7 R6 + 0x70020048, // 0019 JMP #0063 + 0x88180920, // 001A GETMBR R6 R4 K32 + 0x14180606, // 001B LT R6 R3 R6 + 0x781A000E, // 001C JMPF R6 #002C + 0x8818091F, // 001D GETMBR R6 R4 K31 + 0x18180606, // 001E LE R6 R3 R6 + 0x781A0004, // 001F JMPF R6 #0025 + 0x8C180341, // 0020 GETMET R6 R1 K65 + 0x5C200400, // 0021 MOVE R8 R2 + 0x5C240A00, // 0022 MOVE R9 R5 + 0x7C180600, // 0023 CALL R6 3 + 0x70020003, // 0024 JMP #0029 + 0x8C180342, // 0025 GETMET R6 R1 K66 + 0x5C200400, // 0026 MOVE R8 R2 + 0x5C240A00, // 0027 MOVE R9 R5 + 0x7C180600, // 0028 CALL R6 3 + 0x90020E06, // 0029 SETMBR R0 K7 R6 + 0x00080405, // 002A ADD R2 R2 R5 + 0x70020036, // 002B JMP #0063 + 0x88180921, // 002C GETMBR R6 R4 K33 + 0x1C180606, // 002D EQ R6 R3 R6 + 0x781A0006, // 002E JMPF R6 #0036 + 0x8C180343, // 002F GETMET R6 R1 K67 + 0x5C200400, // 0030 MOVE R8 R2 + 0x7C180400, // 0031 CALL R6 2 + 0x90020E06, // 0032 SETMBR R0 K7 R6 + 0x541A0003, // 0033 LDINT R6 4 + 0x00080406, // 0034 ADD R2 R2 R6 + 0x7002002C, // 0035 JMP #0063 + 0x5419FFF7, // 0036 LDINT R6 -8 + 0x28180A06, // 0037 GE R6 R5 R6 + 0x781A0016, // 0038 JMPF R6 #0050 + 0x5419FFFE, // 0039 LDINT R6 -1 + 0x18180A06, // 003A LE R6 R5 R6 + 0x781A0013, // 003B JMPF R6 #0050 + 0x8C180342, // 003C GETMET R6 R1 K66 + 0x5C200400, // 003D MOVE R8 R2 + 0x44240A00, // 003E NEG R9 R5 + 0x7C180600, // 003F CALL R6 3 + 0x441C0A00, // 0040 NEG R7 R5 + 0x00080407, // 0041 ADD R2 R2 R7 + 0x001C0406, // 0042 ADD R7 R2 R6 + 0x041C0F1D, // 0043 SUB R7 R7 K29 + 0x401C0407, // 0044 CONNECT R7 R2 R7 + 0x941C0207, // 0045 GETIDX R7 R1 R7 + 0x90020E07, // 0046 SETMBR R0 K7 R7 + 0x00080406, // 0047 ADD R2 R2 R6 + 0x881C0919, // 0048 GETMBR R7 R4 K25 + 0x181C0607, // 0049 LE R7 R3 R7 + 0x781E0003, // 004A JMPF R7 #004F + 0x881C0107, // 004B GETMBR R7 R0 K7 + 0x8C1C0F44, // 004C GETMET R7 R7 K68 + 0x7C1C0200, // 004D CALL R7 1 + 0x90020E07, // 004E SETMBR R0 K7 R7 + 0x70020012, // 004F JMP #0063 + 0x88180925, // 0050 GETMBR R6 R4 K37 + 0x1C180606, // 0051 EQ R6 R3 R6 + 0x781A0000, // 0052 JMPF R6 #0054 + 0x7002000E, // 0053 JMP #0063 + 0x88180945, // 0054 GETMBR R6 R4 K69 + 0x1C180606, // 0055 EQ R6 R3 R6 + 0x781A0004, // 0056 JMPF R6 #005C + 0xB81A8C00, // 0057 GETNGBL R6 K70 + 0x581C0047, // 0058 LDCONST R7 K71 + 0x58200048, // 0059 LDCONST R8 K72 + 0x7C180400, // 005A CALL R6 2 + 0x70020006, // 005B JMP #0063 + 0xB81A8C00, // 005C GETNGBL R6 K70 + 0x601C0008, // 005D GETGBL R7 G8 + 0x5C200600, // 005E MOVE R8 R3 + 0x7C1C0200, // 005F CALL R7 1 + 0x001E9207, // 0060 ADD R7 K73 R7 + 0x58200048, // 0061 LDCONST R8 K72 + 0x7C180400, // 0062 CALL R6 2 + 0x90020202, // 0063 SETMBR R0 K1 R2 + 0x80040400, // 0064 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_commonprofile +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_commonprofile, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_commonprofile), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C04014A, // 0000 GETMET R1 R0 K74 + 0x4C0C0000, // 0001 LDNIL R3 + 0x5411FFFE, // 0002 LDINT R4 -1 + 0x4C140000, // 0003 LDNIL R5 + 0x7C040800, // 0004 CALL R1 4 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _encode_tag +********************************************************************/ +be_local_closure(class_Matter_TLV_item__encode_tag, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(_encode_tag), + &be_const_str_solidified, + ( &(const binstruction[133]) { /* code */ + 0x88080104, // 0000 GETMBR R2 R0 K4 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0001, // 0003 JMPF R2 #0006 + 0x88080104, // 0004 GETMBR R2 R0 K4 + 0x70020000, // 0005 JMP #0007 + 0x5808000A, // 0006 LDCONST R2 K10 + 0x540EFFFF, // 0007 LDINT R3 65536 + 0x280C0403, // 0008 GE R3 R2 R3 + 0x740E0002, // 0009 JMPT R3 #000D + 0x140C050A, // 000A LT R3 R2 K10 + 0x740E0000, // 000B JMPT R3 #000D + 0x500C0001, // 000C LDBOOL R3 0 1 + 0x500C0200, // 000D LDBOOL R3 1 0 + 0x5810000A, // 000E LDCONST R4 K10 + 0x88140102, // 000F GETMBR R5 R0 K2 + 0x4C180000, // 0010 LDNIL R6 + 0x20140A06, // 0011 NE R5 R5 R6 + 0x78160026, // 0012 JMPF R5 #003A + 0x780E0012, // 0013 JMPF R3 #0027 + 0x8C14034B, // 0014 GETMET R5 R1 K75 + 0x541E00DF, // 0015 LDINT R7 224 + 0x88200106, // 0016 GETMBR R8 R0 K6 + 0x001C0E08, // 0017 ADD R7 R7 R8 + 0x5820001D, // 0018 LDCONST R8 K29 + 0x7C140600, // 0019 CALL R5 3 + 0x8C14034B, // 001A GETMET R5 R1 K75 + 0x881C0102, // 001B GETMBR R7 R0 K2 + 0x5820001E, // 001C LDCONST R8 K30 + 0x7C140600, // 001D CALL R5 3 + 0x8C14034B, // 001E GETMET R5 R1 K75 + 0x881C0103, // 001F GETMBR R7 R0 K3 + 0x5820001E, // 0020 LDCONST R8 K30 + 0x7C140600, // 0021 CALL R5 3 + 0x8C14034B, // 0022 GETMET R5 R1 K75 + 0x881C0104, // 0023 GETMBR R7 R0 K4 + 0x54220003, // 0024 LDINT R8 4 + 0x7C140600, // 0025 CALL R5 3 + 0x70020011, // 0026 JMP #0039 + 0x8C14034B, // 0027 GETMET R5 R1 K75 + 0x541E00BF, // 0028 LDINT R7 192 + 0x88200106, // 0029 GETMBR R8 R0 K6 + 0x001C0E08, // 002A ADD R7 R7 R8 + 0x5820001D, // 002B LDCONST R8 K29 + 0x7C140600, // 002C CALL R5 3 + 0x8C14034B, // 002D GETMET R5 R1 K75 + 0x881C0102, // 002E GETMBR R7 R0 K2 + 0x5820001E, // 002F LDCONST R8 K30 + 0x7C140600, // 0030 CALL R5 3 + 0x8C14034B, // 0031 GETMET R5 R1 K75 + 0x881C0103, // 0032 GETMBR R7 R0 K3 + 0x5820001E, // 0033 LDCONST R8 K30 + 0x7C140600, // 0034 CALL R5 3 + 0x8C14034B, // 0035 GETMET R5 R1 K75 + 0x881C0104, // 0036 GETMBR R7 R0 K4 + 0x5820001E, // 0037 LDCONST R8 K30 + 0x7C140600, // 0038 CALL R5 3 + 0x70020049, // 0039 JMP #0084 + 0x88140103, // 003A GETMBR R5 R0 K3 + 0x5419FFFE, // 003B LDINT R6 -1 + 0x1C140A06, // 003C EQ R5 R5 R6 + 0x78160016, // 003D JMPF R5 #0055 + 0x780E000A, // 003E JMPF R3 #004A + 0x8C14034B, // 003F GETMET R5 R1 K75 + 0x541E005F, // 0040 LDINT R7 96 + 0x88200106, // 0041 GETMBR R8 R0 K6 + 0x001C0E08, // 0042 ADD R7 R7 R8 + 0x5820001D, // 0043 LDCONST R8 K29 + 0x7C140600, // 0044 CALL R5 3 + 0x8C14034B, // 0045 GETMET R5 R1 K75 + 0x881C0104, // 0046 GETMBR R7 R0 K4 + 0x54220003, // 0047 LDINT R8 4 + 0x7C140600, // 0048 CALL R5 3 + 0x70020009, // 0049 JMP #0054 + 0x8C14034B, // 004A GETMET R5 R1 K75 + 0x541E003F, // 004B LDINT R7 64 + 0x88200106, // 004C GETMBR R8 R0 K6 + 0x001C0E08, // 004D ADD R7 R7 R8 + 0x5820001D, // 004E LDCONST R8 K29 + 0x7C140600, // 004F CALL R5 3 + 0x8C14034B, // 0050 GETMET R5 R1 K75 + 0x881C0104, // 0051 GETMBR R7 R0 K4 + 0x5820001E, // 0052 LDCONST R8 K30 + 0x7C140600, // 0053 CALL R5 3 + 0x7002002E, // 0054 JMP #0084 + 0x88140103, // 0055 GETMBR R5 R0 K3 + 0x4C180000, // 0056 LDNIL R6 + 0x20140A06, // 0057 NE R5 R5 R6 + 0x78160016, // 0058 JMPF R5 #0070 + 0x780E000A, // 0059 JMPF R3 #0065 + 0x8C14034B, // 005A GETMET R5 R1 K75 + 0x541E009F, // 005B LDINT R7 160 + 0x88200106, // 005C GETMBR R8 R0 K6 + 0x001C0E08, // 005D ADD R7 R7 R8 + 0x5820001D, // 005E LDCONST R8 K29 + 0x7C140600, // 005F CALL R5 3 + 0x8C14034B, // 0060 GETMET R5 R1 K75 + 0x881C0104, // 0061 GETMBR R7 R0 K4 + 0x54220003, // 0062 LDINT R8 4 + 0x7C140600, // 0063 CALL R5 3 + 0x70020009, // 0064 JMP #006F + 0x8C14034B, // 0065 GETMET R5 R1 K75 + 0x541E007F, // 0066 LDINT R7 128 + 0x88200106, // 0067 GETMBR R8 R0 K6 + 0x001C0E08, // 0068 ADD R7 R7 R8 + 0x5820001D, // 0069 LDCONST R8 K29 + 0x7C140600, // 006A CALL R5 3 + 0x8C14034B, // 006B GETMET R5 R1 K75 + 0x881C0104, // 006C GETMBR R7 R0 K4 + 0x5820001E, // 006D LDCONST R8 K30 + 0x7C140600, // 006E CALL R5 3 + 0x70020013, // 006F JMP #0084 + 0x88140105, // 0070 GETMBR R5 R0 K5 + 0x4C180000, // 0071 LDNIL R6 + 0x20140A06, // 0072 NE R5 R5 R6 + 0x7816000A, // 0073 JMPF R5 #007F + 0x8C14034B, // 0074 GETMET R5 R1 K75 + 0x541E001F, // 0075 LDINT R7 32 + 0x88200106, // 0076 GETMBR R8 R0 K6 + 0x001C0E08, // 0077 ADD R7 R7 R8 + 0x5820001D, // 0078 LDCONST R8 K29 + 0x7C140600, // 0079 CALL R5 3 + 0x8C14034B, // 007A GETMET R5 R1 K75 + 0x881C0105, // 007B GETMBR R7 R0 K5 + 0x5820001D, // 007C LDCONST R8 K29 + 0x7C140600, // 007D CALL R5 3 + 0x70020004, // 007E JMP #0084 + 0x8C14034B, // 007F GETMET R5 R1 K75 + 0x881C0106, // 0080 GETMBR R7 R0 K6 + 0x001E1407, // 0081 ADD R7 K10 R7 + 0x5820001D, // 0082 LDCONST R8 K29 + 0x7C140600, // 0083 CALL R5 3 + 0x80000000, // 0084 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: sort +********************************************************************/ +be_local_closure(class_Matter_TLV_item_sort, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(sort), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x5804004C, // 0000 LDCONST R1 K76 + 0x60080010, // 0001 GETGBL R2 G16 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x040C071D, // 0005 SUB R3 R3 K29 + 0x400E3A03, // 0006 CONNECT R3 K29 R3 + 0x7C080200, // 0007 CALL R2 1 + 0xA8020013, // 0008 EXBLK 0 #001D + 0x5C0C0400, // 0009 MOVE R3 R2 + 0x7C0C0000, // 000A CALL R3 0 + 0x94100003, // 000B GETIDX R4 R0 R3 + 0x5C140600, // 000C MOVE R5 R3 + 0x24180B0A, // 000D GT R6 R5 K10 + 0x781A000B, // 000E JMPF R6 #001B + 0x04180B1D, // 000F SUB R6 R5 K29 + 0x94180006, // 0010 GETIDX R6 R0 R6 + 0x8C180D4D, // 0011 GETMET R6 R6 K77 + 0x5C200800, // 0012 MOVE R8 R4 + 0x7C180400, // 0013 CALL R6 2 + 0x24180D0A, // 0014 GT R6 R6 K10 + 0x781A0004, // 0015 JMPF R6 #001B + 0x04180B1D, // 0016 SUB R6 R5 K29 + 0x94180006, // 0017 GETIDX R6 R0 R6 + 0x98000A06, // 0018 SETIDX R0 R5 R6 + 0x04140B1D, // 0019 SUB R5 R5 K29 + 0x7001FFF1, // 001A JMP #000D + 0x98000A04, // 001B SETIDX R0 R5 R4 + 0x7001FFEB, // 001C JMP #0009 + 0x5808004E, // 001D LDCONST R2 K78 + 0xAC080200, // 001E CATCH R2 1 0 + 0xB0080000, // 001F RAISE 2 R0 R0 + 0x80040000, // 0020 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_TLV_item_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _cmp_gt +********************************************************************/ +be_local_closure(class_Matter_TLV_item__cmp_gt, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(_cmp_gt), + &be_const_str_solidified, + ( &(const binstruction[72]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0012, // 0003 JMPF R2 #0017 + 0x88080302, // 0004 GETMBR R2 R1 K2 + 0x4C0C0000, // 0005 LDNIL R3 + 0x1C080403, // 0006 EQ R2 R2 R3 + 0x780A0000, // 0007 JMPF R2 #0009 + 0x80063A00, // 0008 RET 1 K29 + 0x88080102, // 0009 GETMBR R2 R0 K2 + 0x880C0302, // 000A GETMBR R3 R1 K2 + 0x24080403, // 000B GT R2 R2 R3 + 0x780A0000, // 000C JMPF R2 #000E + 0x80063A00, // 000D RET 1 K29 + 0x88080102, // 000E GETMBR R2 R0 K2 + 0x880C0302, // 000F GETMBR R3 R1 K2 + 0x1C080403, // 0010 EQ R2 R2 R3 + 0x780A0004, // 0011 JMPF R2 #0017 + 0x88080103, // 0012 GETMBR R2 R0 K3 + 0x880C0303, // 0013 GETMBR R3 R1 K3 + 0x24080403, // 0014 GT R2 R2 R3 + 0x780A0000, // 0015 JMPF R2 #0017 + 0x80063A00, // 0016 RET 1 K29 + 0x88080103, // 0017 GETMBR R2 R0 K3 + 0x540DFFFE, // 0018 LDINT R3 -1 + 0x1C080403, // 0019 EQ R2 R2 R3 + 0x780A0005, // 001A JMPF R2 #0021 + 0x88080303, // 001B GETMBR R2 R1 K3 + 0x4C0C0000, // 001C LDNIL R3 + 0x1C080403, // 001D EQ R2 R2 R3 + 0x780A0000, // 001E JMPF R2 #0020 + 0x80063A00, // 001F RET 1 K29 + 0x70020008, // 0020 JMP #002A + 0x88080103, // 0021 GETMBR R2 R0 K3 + 0x4C0C0000, // 0022 LDNIL R3 + 0x1C080403, // 0023 EQ R2 R2 R3 + 0x780A0004, // 0024 JMPF R2 #002A + 0x88080303, // 0025 GETMBR R2 R1 K3 + 0x540DFFFE, // 0026 LDINT R3 -1 + 0x1C080403, // 0027 EQ R2 R2 R3 + 0x780A0000, // 0028 JMPF R2 #002A + 0x80061400, // 0029 RET 1 K10 + 0x88080104, // 002A GETMBR R2 R0 K4 + 0x4C0C0000, // 002B LDNIL R3 + 0x20080403, // 002C NE R2 R2 R3 + 0x780A000A, // 002D JMPF R2 #0039 + 0x88080304, // 002E GETMBR R2 R1 K4 + 0x4C0C0000, // 002F LDNIL R3 + 0x1C080403, // 0030 EQ R2 R2 R3 + 0x780A0000, // 0031 JMPF R2 #0033 + 0x80063A00, // 0032 RET 1 K29 + 0x88080104, // 0033 GETMBR R2 R0 K4 + 0x880C0304, // 0034 GETMBR R3 R1 K4 + 0x24080403, // 0035 GT R2 R2 R3 + 0x780A0000, // 0036 JMPF R2 #0038 + 0x80063A00, // 0037 RET 1 K29 + 0x80061400, // 0038 RET 1 K10 + 0x88080105, // 0039 GETMBR R2 R0 K5 + 0x4C0C0000, // 003A LDNIL R3 + 0x20080403, // 003B NE R2 R2 R3 + 0x780A0009, // 003C JMPF R2 #0047 + 0x88080305, // 003D GETMBR R2 R1 K5 + 0x4C0C0000, // 003E LDNIL R3 + 0x1C080403, // 003F EQ R2 R2 R3 + 0x780A0000, // 0040 JMPF R2 #0042 + 0x80063A00, // 0041 RET 1 K29 + 0x88080105, // 0042 GETMBR R2 R0 K5 + 0x880C0305, // 0043 GETMBR R3 R1 K5 + 0x24080403, // 0044 GT R2 R2 R3 + 0x780A0000, // 0045 JMPF R2 #0047 + 0x80063A00, // 0046 RET 1 K29 + 0x80061400, // 0047 RET 1 K10 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_TLV_item_tlv2raw, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[404]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C0C0203, // 0002 EQ R3 R1 R3 + 0x780E0002, // 0003 JMPF R3 #0007 + 0x600C0015, // 0004 GETGBL R3 G21 + 0x7C0C0000, // 0005 CALL R3 0 + 0x5C040600, // 0006 MOVE R1 R3 + 0x880C0106, // 0007 GETMBR R3 R0 K6 + 0x8810050B, // 0008 GETMBR R4 R2 K11 + 0x1C0C0604, // 0009 EQ R3 R3 R4 + 0x780E0002, // 000A JMPF R3 #000E + 0x880C0107, // 000B GETMBR R3 R0 K7 + 0x400C0203, // 000C CONNECT R3 R1 R3 + 0x80040200, // 000D RET 1 R1 + 0x880C0106, // 000E GETMBR R3 R0 K6 + 0x8810051F, // 000F GETMBR R4 R2 K31 + 0x1C0C0604, // 0010 EQ R3 R3 R4 + 0x740E0003, // 0011 JMPT R3 #0016 + 0x880C0106, // 0012 GETMBR R3 R0 K6 + 0x88100520, // 0013 GETMBR R4 R2 K32 + 0x1C0C0604, // 0014 EQ R3 R3 R4 + 0x780E000D, // 0015 JMPF R3 #0024 + 0x600C0004, // 0016 GETGBL R3 G4 + 0x88100107, // 0017 GETMBR R4 R0 K7 + 0x7C0C0200, // 0018 CALL R3 1 + 0x1C0C072E, // 0019 EQ R3 R3 K46 + 0x780E0008, // 001A JMPF R3 #0024 + 0x880C0106, // 001B GETMBR R3 R0 K6 + 0x8810051F, // 001C GETMBR R4 R2 K31 + 0x1C0C0604, // 001D EQ R3 R3 R4 + 0x780E0002, // 001E JMPF R3 #0022 + 0x880C050F, // 001F GETMBR R3 R2 K15 + 0x90020C03, // 0020 SETMBR R0 K6 R3 + 0x70020001, // 0021 JMP #0024 + 0x880C0512, // 0022 GETMBR R3 R2 K18 + 0x90020C03, // 0023 SETMBR R0 K6 R3 + 0x880C0106, // 0024 GETMBR R3 R0 K6 + 0x8810050C, // 0025 GETMBR R4 R2 K12 + 0x1C0C0604, // 0026 EQ R3 R3 R4 + 0x740E0003, // 0027 JMPT R3 #002C + 0x880C0106, // 0028 GETMBR R3 R0 K6 + 0x8810050D, // 0029 GETMBR R4 R2 K13 + 0x1C0C0604, // 002A EQ R3 R3 R4 + 0x780E0008, // 002B JMPF R3 #0035 + 0x600C0017, // 002C GETGBL R3 G23 + 0x88100107, // 002D GETMBR R4 R0 K7 + 0x7C0C0200, // 002E CALL R3 1 + 0x780E0001, // 002F JMPF R3 #0032 + 0x880C050D, // 0030 GETMBR R3 R2 K13 + 0x70020000, // 0031 JMP #0033 + 0x880C050C, // 0032 GETMBR R3 R2 K12 + 0x90020C03, // 0033 SETMBR R0 K6 R3 + 0x70020070, // 0034 JMP #00A6 + 0x880C0106, // 0035 GETMBR R3 R0 K6 + 0x8810050E, // 0036 GETMBR R4 R2 K14 + 0x280C0604, // 0037 GE R3 R3 R4 + 0x780E0018, // 0038 JMPF R3 #0052 + 0x880C0106, // 0039 GETMBR R3 R0 K6 + 0x8810050F, // 003A GETMBR R4 R2 K15 + 0x180C0604, // 003B LE R3 R3 R4 + 0x780E0014, // 003C JMPF R3 #0052 + 0x600C0009, // 003D GETGBL R3 G9 + 0x88100107, // 003E GETMBR R4 R0 K7 + 0x7C0C0200, // 003F CALL R3 1 + 0x5412007E, // 0040 LDINT R4 127 + 0x18100604, // 0041 LE R4 R3 R4 + 0x78120005, // 0042 JMPF R4 #0049 + 0x5411FF7F, // 0043 LDINT R4 -128 + 0x28100604, // 0044 GE R4 R3 R4 + 0x78120002, // 0045 JMPF R4 #0049 + 0x88100510, // 0046 GETMBR R4 R2 K16 + 0x90020C04, // 0047 SETMBR R0 K6 R4 + 0x70020007, // 0048 JMP #0051 + 0x54127FFE, // 0049 LDINT R4 32767 + 0x18100604, // 004A LE R4 R3 R4 + 0x78120004, // 004B JMPF R4 #0051 + 0x54117FFF, // 004C LDINT R4 -32768 + 0x28100604, // 004D GE R4 R3 R4 + 0x78120001, // 004E JMPF R4 #0051 + 0x8810050E, // 004F GETMBR R4 R2 K14 + 0x90020C04, // 0050 SETMBR R0 K6 R4 + 0x70020053, // 0051 JMP #00A6 + 0x880C0106, // 0052 GETMBR R3 R0 K6 + 0x88100511, // 0053 GETMBR R4 R2 K17 + 0x280C0604, // 0054 GE R3 R3 R4 + 0x780E0016, // 0055 JMPF R3 #006D + 0x880C0106, // 0056 GETMBR R3 R0 K6 + 0x88100512, // 0057 GETMBR R4 R2 K18 + 0x180C0604, // 0058 LE R3 R3 R4 + 0x780E0012, // 0059 JMPF R3 #006D + 0x600C0009, // 005A GETGBL R3 G9 + 0x88100107, // 005B GETMBR R4 R0 K7 + 0x7C0C0200, // 005C CALL R3 1 + 0x541200FE, // 005D LDINT R4 255 + 0x18100604, // 005E LE R4 R3 R4 + 0x78120004, // 005F JMPF R4 #0065 + 0x2810070A, // 0060 GE R4 R3 K10 + 0x78120002, // 0061 JMPF R4 #0065 + 0x88100513, // 0062 GETMBR R4 R2 K19 + 0x90020C04, // 0063 SETMBR R0 K6 R4 + 0x70020006, // 0064 JMP #006C + 0x5412FFFE, // 0065 LDINT R4 65535 + 0x18100604, // 0066 LE R4 R3 R4 + 0x78120003, // 0067 JMPF R4 #006C + 0x2810070A, // 0068 GE R4 R3 K10 + 0x78120001, // 0069 JMPF R4 #006C + 0x88100511, // 006A GETMBR R4 R2 K17 + 0x90020C04, // 006B SETMBR R0 K6 R4 + 0x70020038, // 006C JMP #00A6 + 0x880C0106, // 006D GETMBR R3 R0 K6 + 0x88100514, // 006E GETMBR R4 R2 K20 + 0x280C0604, // 006F GE R3 R3 R4 + 0x780E0018, // 0070 JMPF R3 #008A + 0x880C0106, // 0071 GETMBR R3 R0 K6 + 0x88100515, // 0072 GETMBR R4 R2 K21 + 0x180C0604, // 0073 LE R3 R3 R4 + 0x780E0014, // 0074 JMPF R3 #008A + 0x600C000C, // 0075 GETGBL R3 G12 + 0x88100107, // 0076 GETMBR R4 R0 K7 + 0x7C0C0200, // 0077 CALL R3 1 + 0x541200FE, // 0078 LDINT R4 255 + 0x180C0604, // 0079 LE R3 R3 R4 + 0x780E0002, // 007A JMPF R3 #007E + 0x880C0514, // 007B GETMBR R3 R2 K20 + 0x90020C03, // 007C SETMBR R0 K6 R3 + 0x7002000A, // 007D JMP #0089 + 0x600C000C, // 007E GETGBL R3 G12 + 0x88100107, // 007F GETMBR R4 R0 K7 + 0x7C0C0200, // 0080 CALL R3 1 + 0x5412FFFE, // 0081 LDINT R4 65535 + 0x180C0604, // 0082 LE R3 R3 R4 + 0x780E0002, // 0083 JMPF R3 #0087 + 0x880C0516, // 0084 GETMBR R3 R2 K22 + 0x90020C03, // 0085 SETMBR R0 K6 R3 + 0x70020001, // 0086 JMP #0089 + 0x880C0517, // 0087 GETMBR R3 R2 K23 + 0x90020C03, // 0088 SETMBR R0 K6 R3 + 0x7002001B, // 0089 JMP #00A6 + 0x880C0106, // 008A GETMBR R3 R0 K6 + 0x88100518, // 008B GETMBR R4 R2 K24 + 0x280C0604, // 008C GE R3 R3 R4 + 0x780E0017, // 008D JMPF R3 #00A6 + 0x880C0106, // 008E GETMBR R3 R0 K6 + 0x88100519, // 008F GETMBR R4 R2 K25 + 0x180C0604, // 0090 LE R3 R3 R4 + 0x780E0013, // 0091 JMPF R3 #00A6 + 0x600C000C, // 0092 GETGBL R3 G12 + 0x88100107, // 0093 GETMBR R4 R0 K7 + 0x7C0C0200, // 0094 CALL R3 1 + 0x541200FE, // 0095 LDINT R4 255 + 0x180C0604, // 0096 LE R3 R3 R4 + 0x780E0002, // 0097 JMPF R3 #009B + 0x880C0518, // 0098 GETMBR R3 R2 K24 + 0x90020C03, // 0099 SETMBR R0 K6 R3 + 0x7002000A, // 009A JMP #00A6 + 0x600C000C, // 009B GETGBL R3 G12 + 0x88100107, // 009C GETMBR R4 R0 K7 + 0x7C0C0200, // 009D CALL R3 1 + 0x5412FFFE, // 009E LDINT R4 65535 + 0x180C0604, // 009F LE R3 R3 R4 + 0x780E0002, // 00A0 JMPF R3 #00A4 + 0x880C051A, // 00A1 GETMBR R3 R2 K26 + 0x90020C03, // 00A2 SETMBR R0 K6 R3 + 0x70020001, // 00A3 JMP #00A6 + 0x880C051B, // 00A4 GETMBR R3 R2 K27 + 0x90020C03, // 00A5 SETMBR R0 K6 R3 + 0x8C0C014F, // 00A6 GETMET R3 R0 K79 + 0x5C140200, // 00A7 MOVE R5 R1 + 0x7C0C0400, // 00A8 CALL R3 2 + 0x880C0106, // 00A9 GETMBR R3 R0 K6 + 0x88100510, // 00AA GETMBR R4 R2 K16 + 0x1C0C0604, // 00AB EQ R3 R3 R4 + 0x740E0003, // 00AC JMPT R3 #00B1 + 0x880C0106, // 00AD GETMBR R3 R0 K6 + 0x88100513, // 00AE GETMBR R4 R2 K19 + 0x1C0C0604, // 00AF EQ R3 R3 R4 + 0x780E0006, // 00B0 JMPF R3 #00B8 + 0x8C0C034B, // 00B1 GETMET R3 R1 K75 + 0x60140009, // 00B2 GETGBL R5 G9 + 0x88180107, // 00B3 GETMBR R6 R0 K7 + 0x7C140200, // 00B4 CALL R5 1 + 0x5818001D, // 00B5 LDCONST R6 K29 + 0x7C0C0600, // 00B6 CALL R3 3 + 0x700200DA, // 00B7 JMP #0193 + 0x880C0106, // 00B8 GETMBR R3 R0 K6 + 0x8810050E, // 00B9 GETMBR R4 R2 K14 + 0x1C0C0604, // 00BA EQ R3 R3 R4 + 0x740E0003, // 00BB JMPT R3 #00C0 + 0x880C0106, // 00BC GETMBR R3 R0 K6 + 0x88100511, // 00BD GETMBR R4 R2 K17 + 0x1C0C0604, // 00BE EQ R3 R3 R4 + 0x780E0006, // 00BF JMPF R3 #00C7 + 0x8C0C034B, // 00C0 GETMET R3 R1 K75 + 0x60140009, // 00C1 GETGBL R5 G9 + 0x88180107, // 00C2 GETMBR R6 R0 K7 + 0x7C140200, // 00C3 CALL R5 1 + 0x5818001E, // 00C4 LDCONST R6 K30 + 0x7C0C0600, // 00C5 CALL R3 3 + 0x700200CB, // 00C6 JMP #0193 + 0x880C0106, // 00C7 GETMBR R3 R0 K6 + 0x8810050F, // 00C8 GETMBR R4 R2 K15 + 0x1C0C0604, // 00C9 EQ R3 R3 R4 + 0x740E0003, // 00CA JMPT R3 #00CF + 0x880C0106, // 00CB GETMBR R3 R0 K6 + 0x88100512, // 00CC GETMBR R4 R2 K18 + 0x1C0C0604, // 00CD EQ R3 R3 R4 + 0x780E0006, // 00CE JMPF R3 #00D6 + 0x8C0C034B, // 00CF GETMET R3 R1 K75 + 0x60140009, // 00D0 GETGBL R5 G9 + 0x88180107, // 00D1 GETMBR R6 R0 K7 + 0x7C140200, // 00D2 CALL R5 1 + 0x541A0003, // 00D3 LDINT R6 4 + 0x7C0C0600, // 00D4 CALL R3 3 + 0x700200BC, // 00D5 JMP #0193 + 0x880C0106, // 00D6 GETMBR R3 R0 K6 + 0x8810051F, // 00D7 GETMBR R4 R2 K31 + 0x1C0C0604, // 00D8 EQ R3 R3 R4 + 0x740E0003, // 00D9 JMPT R3 #00DE + 0x880C0106, // 00DA GETMBR R3 R0 K6 + 0x88100520, // 00DB GETMBR R4 R2 K32 + 0x1C0C0604, // 00DC EQ R3 R3 R4 + 0x780E002D, // 00DD JMPF R3 #010C + 0x880C0107, // 00DE GETMBR R3 R0 K7 + 0x6010000F, // 00DF GETGBL R4 G15 + 0x5C140600, // 00E0 MOVE R5 R3 + 0x60180015, // 00E1 GETGBL R6 G21 + 0x7C100400, // 00E2 CALL R4 2 + 0x78120006, // 00E3 JMPF R4 #00EB + 0x8C100750, // 00E4 GETMET R4 R3 K80 + 0x7C100200, // 00E5 CALL R4 1 + 0x8C100951, // 00E6 GETMET R4 R4 K81 + 0x541A0007, // 00E7 LDINT R6 8 + 0x7C100400, // 00E8 CALL R4 2 + 0x5C0C0800, // 00E9 MOVE R3 R4 + 0x7002001E, // 00EA JMP #010A + 0x6010000F, // 00EB GETGBL R4 G15 + 0x5C140600, // 00EC MOVE R5 R3 + 0xB81A7200, // 00ED GETNGBL R6 K57 + 0x7C100400, // 00EE CALL R4 2 + 0x78120003, // 00EF JMPF R4 #00F4 + 0x8C100752, // 00F0 GETMET R4 R3 K82 + 0x7C100200, // 00F1 CALL R4 1 + 0x5C0C0800, // 00F2 MOVE R3 R4 + 0x70020015, // 00F3 JMP #010A + 0x88100106, // 00F4 GETMBR R4 R0 K6 + 0x8814051F, // 00F5 GETMBR R5 R2 K31 + 0x1C100805, // 00F6 EQ R4 R4 R5 + 0x78120008, // 00F7 JMPF R4 #0101 + 0xB8127200, // 00F8 GETNGBL R4 K57 + 0x60140009, // 00F9 GETGBL R5 G9 + 0x5C180600, // 00FA MOVE R6 R3 + 0x7C140200, // 00FB CALL R5 1 + 0x7C100200, // 00FC CALL R4 1 + 0x8C100952, // 00FD GETMET R4 R4 K82 + 0x7C100200, // 00FE CALL R4 1 + 0x5C0C0800, // 00FF MOVE R3 R4 + 0x70020008, // 0100 JMP #010A + 0xB8127200, // 0101 GETNGBL R4 K57 + 0x8C100953, // 0102 GETMET R4 R4 K83 + 0x60180009, // 0103 GETGBL R6 G9 + 0x5C1C0600, // 0104 MOVE R7 R3 + 0x7C180200, // 0105 CALL R6 1 + 0x7C100400, // 0106 CALL R4 2 + 0x8C100952, // 0107 GETMET R4 R4 K82 + 0x7C100200, // 0108 CALL R4 1 + 0x5C0C0800, // 0109 MOVE R3 R4 + 0x40100203, // 010A CONNECT R4 R1 R3 + 0x70020086, // 010B JMP #0193 + 0x880C0106, // 010C GETMBR R3 R0 K6 + 0x8810050C, // 010D GETMBR R4 R2 K12 + 0x1C0C0604, // 010E EQ R3 R3 R4 + 0x740E0003, // 010F JMPT R3 #0114 + 0x880C0106, // 0110 GETMBR R3 R0 K6 + 0x8810050D, // 0111 GETMBR R4 R2 K13 + 0x1C0C0604, // 0112 EQ R3 R3 R4 + 0x780E0000, // 0113 JMPF R3 #0115 + 0x7002007D, // 0114 JMP #0193 + 0x880C0106, // 0115 GETMBR R3 R0 K6 + 0x88100521, // 0116 GETMBR R4 R2 K33 + 0x1C0C0604, // 0117 EQ R3 R3 R4 + 0x780E000D, // 0118 JMPF R3 #0127 + 0x600C000C, // 0119 GETGBL R3 G12 + 0x5C100200, // 011A MOVE R4 R1 + 0x7C0C0200, // 011B CALL R3 1 + 0x8C10034B, // 011C GETMET R4 R1 K75 + 0x5818000A, // 011D LDCONST R6 K10 + 0x541E0003, // 011E LDINT R7 4 + 0x7C100600, // 011F CALL R4 3 + 0x8C100354, // 0120 GETMET R4 R1 K84 + 0x5C180600, // 0121 MOVE R6 R3 + 0x601C000A, // 0122 GETGBL R7 G10 + 0x88200107, // 0123 GETMBR R8 R0 K7 + 0x7C1C0200, // 0124 CALL R7 1 + 0x7C100600, // 0125 CALL R4 3 + 0x7002006B, // 0126 JMP #0193 + 0x880C0106, // 0127 GETMBR R3 R0 K6 + 0x88100522, // 0128 GETMBR R4 R2 K34 + 0x1C0C0604, // 0129 EQ R3 R3 R4 + 0x780E0001, // 012A JMPF R3 #012D + 0xB0064724, // 012B RAISE 1 K35 K36 + 0x70020065, // 012C JMP #0193 + 0x880C0106, // 012D GETMBR R3 R0 K6 + 0x88100518, // 012E GETMBR R4 R2 K24 + 0x1C0C0604, // 012F EQ R3 R3 R4 + 0x780E0015, // 0130 JMPF R3 #0147 + 0x600C000C, // 0131 GETGBL R3 G12 + 0x88100107, // 0132 GETMBR R4 R0 K7 + 0x7C0C0200, // 0133 CALL R3 1 + 0x541200FE, // 0134 LDINT R4 255 + 0x240C0604, // 0135 GT R3 R3 R4 + 0x780E0000, // 0136 JMPF R3 #0138 + 0xB0064755, // 0137 RAISE 1 K35 K85 + 0x8C0C034B, // 0138 GETMET R3 R1 K75 + 0x6014000C, // 0139 GETGBL R5 G12 + 0x88180107, // 013A GETMBR R6 R0 K7 + 0x7C140200, // 013B CALL R5 1 + 0x5818001D, // 013C LDCONST R6 K29 + 0x7C0C0600, // 013D CALL R3 3 + 0x600C0015, // 013E GETGBL R3 G21 + 0x7C0C0000, // 013F CALL R3 0 + 0x8C0C0756, // 0140 GETMET R3 R3 K86 + 0x60140008, // 0141 GETGBL R5 G8 + 0x88180107, // 0142 GETMBR R6 R0 K7 + 0x7C140200, // 0143 CALL R5 1 + 0x7C0C0400, // 0144 CALL R3 2 + 0x400C0203, // 0145 CONNECT R3 R1 R3 + 0x7002004B, // 0146 JMP #0193 + 0x880C0106, // 0147 GETMBR R3 R0 K6 + 0x8810051A, // 0148 GETMBR R4 R2 K26 + 0x1C0C0604, // 0149 EQ R3 R3 R4 + 0x780E0015, // 014A JMPF R3 #0161 + 0x600C000C, // 014B GETGBL R3 G12 + 0x88100107, // 014C GETMBR R4 R0 K7 + 0x7C0C0200, // 014D CALL R3 1 + 0x5412FFFE, // 014E LDINT R4 65535 + 0x240C0604, // 014F GT R3 R3 R4 + 0x780E0000, // 0150 JMPF R3 #0152 + 0xB0064755, // 0151 RAISE 1 K35 K85 + 0x8C0C034B, // 0152 GETMET R3 R1 K75 + 0x6014000C, // 0153 GETGBL R5 G12 + 0x88180107, // 0154 GETMBR R6 R0 K7 + 0x7C140200, // 0155 CALL R5 1 + 0x5818001E, // 0156 LDCONST R6 K30 + 0x7C0C0600, // 0157 CALL R3 3 + 0x600C0015, // 0158 GETGBL R3 G21 + 0x7C0C0000, // 0159 CALL R3 0 + 0x8C0C0757, // 015A GETMET R3 R3 K87 + 0x60140008, // 015B GETGBL R5 G8 + 0x88180107, // 015C GETMBR R6 R0 K7 + 0x7C140200, // 015D CALL R5 1 + 0x7C0C0400, // 015E CALL R3 2 + 0x400C0203, // 015F CONNECT R3 R1 R3 + 0x70020031, // 0160 JMP #0193 + 0x880C0106, // 0161 GETMBR R3 R0 K6 + 0x88100514, // 0162 GETMBR R4 R2 K20 + 0x1C0C0604, // 0163 EQ R3 R3 R4 + 0x780E000F, // 0164 JMPF R3 #0175 + 0x600C000C, // 0165 GETGBL R3 G12 + 0x88100107, // 0166 GETMBR R4 R0 K7 + 0x7C0C0200, // 0167 CALL R3 1 + 0x541200FE, // 0168 LDINT R4 255 + 0x240C0604, // 0169 GT R3 R3 R4 + 0x780E0000, // 016A JMPF R3 #016C + 0xB0064758, // 016B RAISE 1 K35 K88 + 0x8C0C034B, // 016C GETMET R3 R1 K75 + 0x6014000C, // 016D GETGBL R5 G12 + 0x88180107, // 016E GETMBR R6 R0 K7 + 0x7C140200, // 016F CALL R5 1 + 0x5818001D, // 0170 LDCONST R6 K29 + 0x7C0C0600, // 0171 CALL R3 3 + 0x880C0107, // 0172 GETMBR R3 R0 K7 + 0x400C0203, // 0173 CONNECT R3 R1 R3 + 0x7002001D, // 0174 JMP #0193 + 0x880C0106, // 0175 GETMBR R3 R0 K6 + 0x88100516, // 0176 GETMBR R4 R2 K22 + 0x1C0C0604, // 0177 EQ R3 R3 R4 + 0x780E000F, // 0178 JMPF R3 #0189 + 0x600C000C, // 0179 GETGBL R3 G12 + 0x88100107, // 017A GETMBR R4 R0 K7 + 0x7C0C0200, // 017B CALL R3 1 + 0x5412FFFE, // 017C LDINT R4 65535 + 0x240C0604, // 017D GT R3 R3 R4 + 0x780E0000, // 017E JMPF R3 #0180 + 0xB0064758, // 017F RAISE 1 K35 K88 + 0x8C0C034B, // 0180 GETMET R3 R1 K75 + 0x6014000C, // 0181 GETGBL R5 G12 + 0x88180107, // 0182 GETMBR R6 R0 K7 + 0x7C140200, // 0183 CALL R5 1 + 0x5818001E, // 0184 LDCONST R6 K30 + 0x7C0C0600, // 0185 CALL R3 3 + 0x880C0107, // 0186 GETMBR R3 R0 K7 + 0x400C0203, // 0187 CONNECT R3 R1 R3 + 0x70020009, // 0188 JMP #0193 + 0x880C0106, // 0189 GETMBR R3 R0 K6 + 0x88100525, // 018A GETMBR R4 R2 K37 + 0x1C0C0604, // 018B EQ R3 R3 R4 + 0x780E0000, // 018C JMPF R3 #018E + 0x70020004, // 018D JMP #0193 + 0x600C0008, // 018E GETGBL R3 G8 + 0x88100106, // 018F GETMBR R4 R0 K6 + 0x7C0C0200, // 0190 CALL R3 1 + 0x000E4C03, // 0191 ADD R3 K38 R3 + 0xB0064603, // 0192 RAISE 1 K35 R3 + 0x80040200, // 0193 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _encode_tag_len +********************************************************************/ +be_local_closure(class_Matter_TLV_item__encode_tag_len, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(_encode_tag_len), + &be_const_str_solidified, + ( &(const binstruction[54]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060001, // 0003 JMPF R1 #0006 + 0x88040104, // 0004 GETMBR R1 R0 K4 + 0x70020000, // 0005 JMP #0007 + 0x5804000A, // 0006 LDCONST R1 K10 + 0x540AFFFF, // 0007 LDINT R2 65536 + 0x28080202, // 0008 GE R2 R1 R2 + 0x740A0002, // 0009 JMPT R2 #000D + 0x1408030A, // 000A LT R2 R1 K10 + 0x740A0000, // 000B JMPT R2 #000D + 0x50080001, // 000C LDBOOL R2 0 1 + 0x50080200, // 000D LDBOOL R2 1 0 + 0x580C000A, // 000E LDCONST R3 K10 + 0x88100102, // 000F GETMBR R4 R0 K2 + 0x4C140000, // 0010 LDNIL R5 + 0x20100805, // 0011 NE R4 R4 R5 + 0x78120006, // 0012 JMPF R4 #001A + 0x780A0002, // 0013 JMPF R2 #0017 + 0x54120008, // 0014 LDINT R4 9 + 0x80040800, // 0015 RET 1 R4 + 0x70020001, // 0016 JMP #0019 + 0x54120006, // 0017 LDINT R4 7 + 0x80040800, // 0018 RET 1 R4 + 0x7002001A, // 0019 JMP #0035 + 0x88100103, // 001A GETMBR R4 R0 K3 + 0x5415FFFE, // 001B LDINT R5 -1 + 0x1C100805, // 001C EQ R4 R4 R5 + 0x78120005, // 001D JMPF R4 #0024 + 0x780A0002, // 001E JMPF R2 #0022 + 0x54120004, // 001F LDINT R4 5 + 0x80040800, // 0020 RET 1 R4 + 0x70020000, // 0021 JMP #0023 + 0x80069000, // 0022 RET 1 K72 + 0x70020010, // 0023 JMP #0035 + 0x88100103, // 0024 GETMBR R4 R0 K3 + 0x4C140000, // 0025 LDNIL R5 + 0x20100805, // 0026 NE R4 R4 R5 + 0x78120005, // 0027 JMPF R4 #002E + 0x780A0002, // 0028 JMPF R2 #002C + 0x54120004, // 0029 LDINT R4 5 + 0x80040800, // 002A RET 1 R4 + 0x70020000, // 002B JMP #002D + 0x80069000, // 002C RET 1 K72 + 0x70020006, // 002D JMP #0035 + 0x88100105, // 002E GETMBR R4 R0 K5 + 0x4C140000, // 002F LDNIL R5 + 0x20100805, // 0030 NE R4 R4 R5 + 0x78120001, // 0031 JMPF R4 #0034 + 0x80063C00, // 0032 RET 1 K30 + 0x70020000, // 0033 JMP #0035 + 0x80063A00, // 0034 RET 1 K29 + 0x80000000, // 0035 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_contextspecific +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_contextspecific, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_contextspecific), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C08014A, // 0000 GETMET R2 R0 K74 + 0x7C080200, // 0001 CALL R2 1 + 0x60080009, // 0002 GETGBL R2 G9 + 0x5C0C0200, // 0003 MOVE R3 R1 + 0x7C080200, // 0004 CALL R2 1 + 0x90020A02, // 0005 SETMBR R0 K5 R2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_parent +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_parent, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_parent), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_TLV +********************************************************************/ +be_local_closure(class_Matter_TLV_item_create_TLV, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(create_TLV), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x5808004C, // 0000 LDCONST R2 K76 + 0x4C0C0000, // 0001 LDNIL R3 + 0x200C0203, // 0002 NE R3 R1 R3 + 0x740E0002, // 0003 JMPT R3 #0007 + 0x540E0013, // 0004 LDINT R3 20 + 0x1C0C0003, // 0005 EQ R3 R0 R3 + 0x780E0004, // 0006 JMPF R3 #000C + 0x5C0C0400, // 0007 MOVE R3 R2 + 0x7C0C0000, // 0008 CALL R3 0 + 0x900E0C00, // 0009 SETMBR R3 K6 R0 + 0x900E0E01, // 000A SETMBR R3 K7 R1 + 0x80040600, // 000B RET 1 R3 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_anonymoustag +********************************************************************/ +be_local_closure(class_Matter_TLV_item_set_anonymoustag, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_item, /* shared constants */ + be_str_weak(set_anonymoustag), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04014A, // 0000 GETMET R1 R0 K74 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TLV_item +********************************************************************/ +be_local_class(Matter_TLV_item, + 8, + NULL, + be_nested_map(32, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_TLV_item_reset_closure) }, + { be_const_key_weak(set_or_nil, -1), be_const_closure(class_Matter_TLV_item_set_or_nil_closure) }, + { be_const_key_weak(set_anonymoustag, 30), be_const_closure(class_Matter_TLV_item_set_anonymoustag_closure) }, + { be_const_key_weak(set, -1), be_const_closure(class_Matter_TLV_item_set_closure) }, + { be_const_key_weak(create_TLV, -1), be_const_static_closure(class_Matter_TLV_item_create_TLV_closure) }, + { be_const_key_weak(tostring, 22), be_const_closure(class_Matter_TLV_item_tostring_closure) }, + { be_const_key_weak(tag_sub, -1), be_const_var(5) }, + { be_const_key_weak(is_array, -1), be_const_bool(0) }, + { be_const_key_weak(to_str_val, 4), be_const_closure(class_Matter_TLV_item_to_str_val_closure) }, + { be_const_key_weak(parent, -1), be_const_var(0) }, + { be_const_key_weak(is_list, -1), be_const_bool(0) }, + { be_const_key_weak(is_struct, -1), be_const_bool(0) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_TLV_item_parse_closure) }, + { be_const_key_weak(set_parent, -1), be_const_closure(class_Matter_TLV_item_set_parent_closure) }, + { be_const_key_weak(set_commonprofile, -1), be_const_closure(class_Matter_TLV_item_set_commonprofile_closure) }, + { be_const_key_weak(_encode_tag, -1), be_const_closure(class_Matter_TLV_item__encode_tag_closure) }, + { be_const_key_weak(TLV, -1), be_const_class(be_class_Matter_TLV) }, + { be_const_key_weak(sort, 25), be_const_static_closure(class_Matter_TLV_item_sort_closure) }, + { be_const_key_weak(tag_vendor, -1), be_const_var(2) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_item_init_closure) }, + { be_const_key_weak(_cmp_gt, -1), be_const_closure(class_Matter_TLV_item__cmp_gt_closure) }, + { be_const_key_weak(tag_number, -1), be_const_var(4) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_TLV_item_tlv2raw_closure) }, + { be_const_key_weak(_encode_tag_len, -1), be_const_closure(class_Matter_TLV_item__encode_tag_len_closure) }, + { be_const_key_weak(next_idx, -1), be_const_var(1) }, + { be_const_key_weak(tag_profile, 16), be_const_var(3) }, + { be_const_key_weak(typ, -1), be_const_var(6) }, + { be_const_key_weak(set_contextspecific, -1), be_const_closure(class_Matter_TLV_item_set_contextspecific_closure) }, + { be_const_key_weak(val, 13), be_const_var(7) }, + { be_const_key_weak(to_TLV, 9), be_const_closure(class_Matter_TLV_item_to_TLV_closure) }, + { be_const_key_weak(set_fulltag, -1), be_const_closure(class_Matter_TLV_item_set_fulltag_closure) }, + { be_const_key_weak(encode_len, 2), be_const_closure(class_Matter_TLV_item_encode_len_closure) }, + })), + be_str_weak(Matter_TLV_item) +); +// compact class 'Matter_TLV_list' ktab size: 49, total: 94 (saved 360 bytes) +static const bvalue be_ktab_class_Matter_TLV_list[49] = { + /* K0 */ be_nested_str_weak(findsub), + /* K1 */ be_nested_str_weak(val), + /* K2 */ be_nested_str_weak(_encode_tag), + /* K3 */ be_nested_str_weak(is_struct), + /* K4 */ be_nested_str_weak(copy), + /* K5 */ be_nested_str_weak(sort), + /* K6 */ be_nested_str_weak(tlv2raw), + /* K7 */ be_nested_str_weak(stop_iteration), + /* K8 */ be_nested_str_weak(add), + /* K9 */ be_nested_str_weak(TLV), + /* K10 */ be_nested_str_weak(EOC), + /* K11 */ be_const_int(1), + /* K12 */ be_nested_str_weak(tostring), + /* K13 */ be_nested_str_weak(tostring_inner), + /* K14 */ be_nested_str_weak(_X5B_X5B), + /* K15 */ be_nested_str_weak(_X5D_X5D), + /* K16 */ be_nested_str_weak(Matter_TLV_struct), + /* K17 */ be_nested_str_weak(tag_sub), + /* K18 */ be_nested_str_weak(push), + /* K19 */ be_nested_str_weak(Matter_TLV_list), + /* K20 */ be_nested_str_weak(parse), + /* K21 */ be_nested_str_weak(next_idx), + /* K22 */ be_nested_str_weak(init), + /* K23 */ be_nested_str_weak(typ), + /* K24 */ be_nested_str_weak(LIST), + /* K25 */ be_nested_str_weak(getsub), + /* K26 */ be_nested_str_weak(value_error), + /* K27 */ be_nested_str_weak(sub_X20not_X20found), + /* K28 */ be_nested_str_weak(to_TLV), + /* K29 */ be_nested_str_weak(matter), + /* K30 */ be_nested_str_weak(NULL), + /* K31 */ be_nested_str_weak(Matter_TLV_item), + /* K32 */ be_nested_str_weak(Matter_TLV_array), + /* K33 */ be_nested_str_weak(), + /* K34 */ be_nested_str_weak(tag_profile), + /* K35 */ be_nested_str_weak(Matter_X3A_X3A), + /* K36 */ be_nested_str_weak(tag_number), + /* K37 */ be_nested_str_weak(0x_X2508X_X20), + /* K38 */ be_nested_str_weak(tag_vendor), + /* K39 */ be_nested_str_weak(0x_X2504X_X3A_X3A), + /* K40 */ be_nested_str_weak(0x_X2504X_X3A), + /* K41 */ be_nested_str_weak(_X25i_X20), + /* K42 */ be_const_int(0), + /* K43 */ be_nested_str_weak(_X3D_X20), + /* K44 */ be_nested_str_weak(concat), + /* K45 */ be_nested_str_weak(_X2C_X20), + /* K46 */ be_nested_str_weak(_X20), + /* K47 */ be_nested_str_weak(_encode_tag_len), + /* K48 */ be_nested_str_weak(encode_len), +}; + + +extern const bclass be_class_Matter_TLV_list; + +/******************************************************************** +** Solidified function: findsubval +********************************************************************/ +be_local_closure(class_Matter_TLV_list_findsubval, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(findsubval), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x5C140200, // 0001 MOVE R5 R1 + 0x7C0C0400, // 0002 CALL R3 2 + 0x4C100000, // 0003 LDNIL R4 + 0x20100604, // 0004 NE R4 R3 R4 + 0x78120001, // 0005 JMPF R4 #0008 + 0x88100701, // 0006 GETMBR R4 R3 K1 + 0x80040800, // 0007 RET 1 R4 + 0x80040400, // 0008 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tlv2raw +********************************************************************/ +be_local_closure(class_Matter_TLV_list_tlv2raw, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(tlv2raw), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0002, // 0002 JMPF R2 #0006 + 0x60080015, // 0003 GETGBL R2 G21 + 0x7C080000, // 0004 CALL R2 0 + 0x5C040400, // 0005 MOVE R1 R2 + 0x8C080102, // 0006 GETMET R2 R0 K2 + 0x5C100200, // 0007 MOVE R4 R1 + 0x7C080400, // 0008 CALL R2 2 + 0x88080101, // 0009 GETMBR R2 R0 K1 + 0x880C0103, // 000A GETMBR R3 R0 K3 + 0x780E0005, // 000B JMPF R3 #0012 + 0x8C0C0504, // 000C GETMET R3 R2 K4 + 0x7C0C0200, // 000D CALL R3 1 + 0x5C080600, // 000E MOVE R2 R3 + 0x8C0C0105, // 000F GETMET R3 R0 K5 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x600C0010, // 0012 GETGBL R3 G16 + 0x5C100400, // 0013 MOVE R4 R2 + 0x7C0C0200, // 0014 CALL R3 1 + 0xA802000C, // 0015 EXBLK 0 #0023 + 0x5C100600, // 0016 MOVE R4 R3 + 0x7C100000, // 0017 CALL R4 0 + 0x6014000F, // 0018 GETGBL R5 G15 + 0x5C180800, // 0019 MOVE R6 R4 + 0x601C0015, // 001A GETGBL R7 G21 + 0x7C140400, // 001B CALL R5 2 + 0x78160001, // 001C JMPF R5 #001F + 0x40140204, // 001D CONNECT R5 R1 R4 + 0x70020002, // 001E JMP #0022 + 0x8C140906, // 001F GETMET R5 R4 K6 + 0x5C1C0200, // 0020 MOVE R7 R1 + 0x7C140400, // 0021 CALL R5 2 + 0x7001FFF2, // 0022 JMP #0016 + 0x580C0007, // 0023 LDCONST R3 K7 + 0xAC0C0200, // 0024 CATCH R3 1 0 + 0xB0080000, // 0025 RAISE 2 R0 R0 + 0x8C0C0308, // 0026 GETMET R3 R1 K8 + 0x88140109, // 0027 GETMBR R5 R0 K9 + 0x88140B0A, // 0028 GETMBR R5 R5 K10 + 0x5818000B, // 0029 LDCONST R6 K11 + 0x7C0C0600, // 002A CALL R3 3 + 0x80040200, // 002B RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_str_val +********************************************************************/ +be_local_closure(class_Matter_TLV_list_to_str_val, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(to_str_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C04010C, // 0000 GETMET R1 R0 K12 + 0x500C0200, // 0001 LDBOOL R3 1 0 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_TLV_list_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C08010D, // 0000 GETMET R2 R0 K13 + 0x50100000, // 0001 LDBOOL R4 0 0 + 0x5814000E, // 0002 LDCONST R5 K14 + 0x5818000F, // 0003 LDCONST R6 K15 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x7C080A00, // 0005 CALL R2 5 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: size +********************************************************************/ +be_local_closure(class_Matter_TLV_list_size, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(size), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x6004000C, // 0000 GETGBL R1 G12 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_Matter_TLV_list_setitem, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(setitem), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x880C0101, // 0000 GETMBR R3 R0 K1 + 0x980C0202, // 0001 SETIDX R3 R1 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_struct +********************************************************************/ +be_local_closure(class_Matter_TLV_list_add_struct, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(add_struct), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x8C080510, // 0001 GETMET R2 R2 K16 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C080400, // 0003 CALL R2 2 + 0x900A2201, // 0004 SETMBR R2 K17 R1 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x8C0C0712, // 0006 GETMET R3 R3 K18 + 0x5C140400, // 0007 MOVE R5 R2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_list +********************************************************************/ +be_local_closure(class_Matter_TLV_list_add_list, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(add_list), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x8C080513, // 0001 GETMET R2 R2 K19 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C080400, // 0003 CALL R2 2 + 0x900A2201, // 0004 SETMBR R2 K17 R1 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x8C0C0712, // 0006 GETMET R3 R3 K18 + 0x5C140400, // 0007 MOVE R5 R2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_TLV_list_parse, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x940C0202, // 0000 GETIDX R3 R1 R2 + 0x88100109, // 0001 GETMBR R4 R0 K9 + 0x8810090A, // 0002 GETMBR R4 R4 K10 + 0x200C0604, // 0003 NE R3 R3 R4 + 0x780E000B, // 0004 JMPF R3 #0011 + 0x880C0109, // 0005 GETMBR R3 R0 K9 + 0x8C0C0714, // 0006 GETMET R3 R3 K20 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x5C1C0000, // 0009 MOVE R7 R0 + 0x7C0C0800, // 000A CALL R3 4 + 0x88080715, // 000B GETMBR R2 R3 K21 + 0x88100101, // 000C GETMBR R4 R0 K1 + 0x8C100912, // 000D GETMET R4 R4 K18 + 0x5C180600, // 000E MOVE R6 R3 + 0x7C100400, // 000F CALL R4 2 + 0x7001FFEE, // 0010 JMP #0000 + 0x0008050B, // 0011 ADD R2 R2 K11 + 0x90022A02, // 0012 SETMBR R0 K21 R2 + 0x80040400, // 0013 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_TLV_list_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080516, // 0003 GETMET R2 R2 K22 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080109, // 0006 GETMBR R2 R0 K9 + 0x88080518, // 0007 GETMBR R2 R2 K24 + 0x90022E02, // 0008 SETMBR R0 K23 R2 + 0x60080012, // 0009 GETGBL R2 G18 + 0x7C080000, // 000A CALL R2 0 + 0x90020202, // 000B SETMBR R0 K1 R2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: item +********************************************************************/ +be_local_closure(class_Matter_TLV_list_item, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(item), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x94080401, // 0001 GETIDX R2 R2 R1 + 0x80040400, // 0002 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: getsubval +********************************************************************/ +be_local_closure(class_Matter_TLV_list_getsubval, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(getsubval), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C080119, // 0000 GETMET R2 R0 K25 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x88080501, // 0003 GETMBR R2 R2 K1 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: getsub +********************************************************************/ +be_local_closure(class_Matter_TLV_list_getsub, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(getsub), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0403, // 0004 EQ R3 R2 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0xB006351B, // 0006 RAISE 1 K26 K27 + 0x80040400, // 0007 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_obj +********************************************************************/ +be_local_closure(class_Matter_TLV_list_add_obj, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(add_obj), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0403, // 0001 NE R3 R2 R3 + 0x780E0010, // 0002 JMPF R3 #0014 + 0x600C000F, // 0003 GETGBL R3 G15 + 0x5C100400, // 0004 MOVE R4 R2 + 0x60140015, // 0005 GETGBL R5 G21 + 0x7C0C0400, // 0006 CALL R3 2 + 0x780E0004, // 0007 JMPF R3 #000D + 0x880C0101, // 0008 GETMBR R3 R0 K1 + 0x8C0C0712, // 0009 GETMET R3 R3 K18 + 0x5C140400, // 000A MOVE R5 R2 + 0x7C0C0400, // 000B CALL R3 2 + 0x70020006, // 000C JMP #0014 + 0x8C0C051C, // 000D GETMET R3 R2 K28 + 0x7C0C0200, // 000E CALL R3 1 + 0x900E2201, // 000F SETMBR R3 K17 R1 + 0x88100101, // 0010 GETMBR R4 R0 K1 + 0x8C100912, // 0011 GETMET R4 R4 K18 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C100400, // 0013 CALL R4 2 + 0x80040000, // 0014 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_TLV +********************************************************************/ +be_local_closure(class_Matter_TLV_list_add_TLV, /* name */ + be_nested_proto( + 8, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(add_TLV), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x20100604, // 0001 NE R4 R3 R4 + 0x74120004, // 0002 JMPT R4 #0008 + 0xB8123A00, // 0003 GETNGBL R4 K29 + 0x88100909, // 0004 GETMBR R4 R4 K9 + 0x8810091E, // 0005 GETMBR R4 R4 K30 + 0x1C100404, // 0006 EQ R4 R2 R4 + 0x7812000A, // 0007 JMPF R4 #0013 + 0x88100109, // 0008 GETMBR R4 R0 K9 + 0x8C10091F, // 0009 GETMET R4 R4 K31 + 0x5C180000, // 000A MOVE R6 R0 + 0x7C100400, // 000B CALL R4 2 + 0x90122201, // 000C SETMBR R4 K17 R1 + 0x90122E02, // 000D SETMBR R4 K23 R2 + 0x90120203, // 000E SETMBR R4 K1 R3 + 0x88140101, // 000F GETMBR R5 R0 K1 + 0x8C140B12, // 0010 GETMET R5 R5 K18 + 0x5C1C0800, // 0011 MOVE R7 R4 + 0x7C140400, // 0012 CALL R5 2 + 0x80040000, // 0013 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_array +********************************************************************/ +be_local_closure(class_Matter_TLV_list_add_array, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(add_array), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x8C080520, // 0001 GETMET R2 R2 K32 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C080400, // 0003 CALL R2 2 + 0x900A2201, // 0004 SETMBR R2 K17 R1 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x8C0C0712, // 0006 GETMET R3 R3 K18 + 0x5C140400, // 0007 MOVE R5 R2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x80040400, // 0009 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: findsub +********************************************************************/ +be_local_closure(class_Matter_TLV_list_findsub, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(findsub), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x600C0010, // 0000 GETGBL R3 G16 + 0x88100101, // 0001 GETMBR R4 R0 K1 + 0x7C0C0200, // 0002 CALL R3 1 + 0xA8020007, // 0003 EXBLK 0 #000C + 0x5C100600, // 0004 MOVE R4 R3 + 0x7C100000, // 0005 CALL R4 0 + 0x88140911, // 0006 GETMBR R5 R4 K17 + 0x1C140A01, // 0007 EQ R5 R5 R1 + 0x78160001, // 0008 JMPF R5 #000B + 0xA8040001, // 0009 EXBLK 1 1 + 0x80040800, // 000A RET 1 R4 + 0x7001FFF7, // 000B JMP #0004 + 0x580C0007, // 000C LDCONST R3 K7 + 0xAC0C0200, // 000D CATCH R3 1 0 + 0xB0080000, // 000E RAISE 2 R0 R0 + 0x80040400, // 000F RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring_inner +********************************************************************/ +be_local_closure(class_Matter_TLV_list_tostring_inner, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(tostring_inner), + &be_const_str_solidified, + ( &(const binstruction[85]) { /* code */ + 0x58140021, // 0000 LDCONST R5 K33 + 0xA802004A, // 0001 EXBLK 0 #004D + 0x50180200, // 0002 LDBOOL R6 1 0 + 0x20180806, // 0003 NE R6 R4 R6 + 0x781A0038, // 0004 JMPF R6 #003E + 0x88180122, // 0005 GETMBR R6 R0 K34 + 0x541DFFFE, // 0006 LDINT R7 -1 + 0x1C180C07, // 0007 EQ R6 R6 R7 + 0x781A000A, // 0008 JMPF R6 #0014 + 0x00140B23, // 0009 ADD R5 R5 K35 + 0x88180124, // 000A GETMBR R6 R0 K36 + 0x4C1C0000, // 000B LDNIL R7 + 0x20180C07, // 000C NE R6 R6 R7 + 0x781A0004, // 000D JMPF R6 #0013 + 0x60180018, // 000E GETGBL R6 G24 + 0x581C0025, // 000F LDCONST R7 K37 + 0x88200124, // 0010 GETMBR R8 R0 K36 + 0x7C180400, // 0011 CALL R6 2 + 0x00140A06, // 0012 ADD R5 R5 R6 + 0x70020023, // 0013 JMP #0038 + 0x88180126, // 0014 GETMBR R6 R0 K38 + 0x4C1C0000, // 0015 LDNIL R7 + 0x20180C07, // 0016 NE R6 R6 R7 + 0x781A0004, // 0017 JMPF R6 #001D + 0x60180018, // 0018 GETGBL R6 G24 + 0x581C0027, // 0019 LDCONST R7 K39 + 0x88200126, // 001A GETMBR R8 R0 K38 + 0x7C180400, // 001B CALL R6 2 + 0x00140A06, // 001C ADD R5 R5 R6 + 0x88180122, // 001D GETMBR R6 R0 K34 + 0x4C1C0000, // 001E LDNIL R7 + 0x20180C07, // 001F NE R6 R6 R7 + 0x781A0004, // 0020 JMPF R6 #0026 + 0x60180018, // 0021 GETGBL R6 G24 + 0x581C0028, // 0022 LDCONST R7 K40 + 0x88200122, // 0023 GETMBR R8 R0 K34 + 0x7C180400, // 0024 CALL R6 2 + 0x00140A06, // 0025 ADD R5 R5 R6 + 0x88180124, // 0026 GETMBR R6 R0 K36 + 0x4C1C0000, // 0027 LDNIL R7 + 0x20180C07, // 0028 NE R6 R6 R7 + 0x781A0004, // 0029 JMPF R6 #002F + 0x60180018, // 002A GETGBL R6 G24 + 0x581C0025, // 002B LDCONST R7 K37 + 0x88200124, // 002C GETMBR R8 R0 K36 + 0x7C180400, // 002D CALL R6 2 + 0x00140A06, // 002E ADD R5 R5 R6 + 0x88180111, // 002F GETMBR R6 R0 K17 + 0x4C1C0000, // 0030 LDNIL R7 + 0x20180C07, // 0031 NE R6 R6 R7 + 0x781A0004, // 0032 JMPF R6 #0038 + 0x60180018, // 0033 GETGBL R6 G24 + 0x581C0029, // 0034 LDCONST R7 K41 + 0x88200111, // 0035 GETMBR R8 R0 K17 + 0x7C180400, // 0036 CALL R6 2 + 0x00140A06, // 0037 ADD R5 R5 R6 + 0x6018000C, // 0038 GETGBL R6 G12 + 0x5C1C0A00, // 0039 MOVE R7 R5 + 0x7C180200, // 003A CALL R6 1 + 0x24180D2A, // 003B GT R6 R6 K42 + 0x781A0000, // 003C JMPF R6 #003E + 0x00140B2B, // 003D ADD R5 R5 K43 + 0x00140A02, // 003E ADD R5 R5 R2 + 0x88180101, // 003F GETMBR R6 R0 K1 + 0x8C180D04, // 0040 GETMET R6 R6 K4 + 0x7C180200, // 0041 CALL R6 1 + 0x78060002, // 0042 JMPF R1 #0046 + 0x8C1C0105, // 0043 GETMET R7 R0 K5 + 0x5C240C00, // 0044 MOVE R9 R6 + 0x7C1C0400, // 0045 CALL R7 2 + 0x8C1C0D2C, // 0046 GETMET R7 R6 K44 + 0x5824002D, // 0047 LDCONST R9 K45 + 0x7C1C0400, // 0048 CALL R7 2 + 0x00140A07, // 0049 ADD R5 R5 R7 + 0x00140A03, // 004A ADD R5 R5 R3 + 0xA8040001, // 004B EXBLK 1 1 + 0x70020006, // 004C JMP #0054 + 0xAC180002, // 004D CATCH R6 0 2 + 0x70020003, // 004E JMP #0053 + 0x00200D2E, // 004F ADD R8 R6 K46 + 0x00201007, // 0050 ADD R8 R8 R7 + 0x80041000, // 0051 RET 1 R8 + 0x70020000, // 0052 JMP #0054 + 0xB0080000, // 0053 RAISE 2 R0 R0 + 0x80040A00, // 0054 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: push +********************************************************************/ +be_local_closure(class_Matter_TLV_list_push, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(push), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C080512, // 0001 GETMET R2 R2 K18 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: findsubtyp +********************************************************************/ +be_local_closure(class_Matter_TLV_list_findsubtyp, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(findsubtyp), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0001, // 0005 JMPF R3 #0008 + 0x880C0517, // 0006 GETMBR R3 R2 K23 + 0x80040600, // 0007 RET 1 R3 + 0x4C0C0000, // 0008 LDNIL R3 + 0x80040600, // 0009 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: encode_len +********************************************************************/ +be_local_closure(class_Matter_TLV_list_encode_len, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_list, /* shared constants */ + be_str_weak(encode_len), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x8C04012F, // 0000 GETMET R1 R0 K47 + 0x7C040200, // 0001 CALL R1 1 + 0x5808002A, // 0002 LDCONST R2 K42 + 0x600C000C, // 0003 GETGBL R3 G12 + 0x88100101, // 0004 GETMBR R4 R0 K1 + 0x7C0C0200, // 0005 CALL R3 1 + 0x140C0403, // 0006 LT R3 R2 R3 + 0x780E0006, // 0007 JMPF R3 #000F + 0x880C0101, // 0008 GETMBR R3 R0 K1 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x8C0C0730, // 000A GETMET R3 R3 K48 + 0x7C0C0200, // 000B CALL R3 1 + 0x00040203, // 000C ADD R1 R1 R3 + 0x0008050B, // 000D ADD R2 R2 K11 + 0x7001FFF3, // 000E JMP #0003 + 0x0004030B, // 000F ADD R1 R1 K11 + 0x80040200, // 0010 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TLV_list +********************************************************************/ +extern const bclass be_class_Matter_TLV_item; +be_local_class(Matter_TLV_list, + 0, + &be_class_Matter_TLV_item, + be_nested_map(22, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(encode_len, 7), be_const_closure(class_Matter_TLV_list_encode_len_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_TLV_list_tlv2raw_closure) }, + { be_const_key_weak(to_str_val, 14), be_const_closure(class_Matter_TLV_list_to_str_val_closure) }, + { be_const_key_weak(findsubval, 5), be_const_closure(class_Matter_TLV_list_findsubval_closure) }, + { be_const_key_weak(size, -1), be_const_closure(class_Matter_TLV_list_size_closure) }, + { be_const_key_weak(findsubtyp, 21), be_const_closure(class_Matter_TLV_list_findsubtyp_closure) }, + { be_const_key_weak(add_struct, 19), be_const_closure(class_Matter_TLV_list_add_struct_closure) }, + { be_const_key_weak(push, -1), be_const_closure(class_Matter_TLV_list_push_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_TLV_list_parse_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_Matter_TLV_list_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_Matter_TLV_list_item_closure) }, + { be_const_key_weak(tostring_inner, -1), be_const_closure(class_Matter_TLV_list_tostring_inner_closure) }, + { be_const_key_weak(getsubval, 20), be_const_closure(class_Matter_TLV_list_getsubval_closure) }, + { be_const_key_weak(getsub, -1), be_const_closure(class_Matter_TLV_list_getsub_closure) }, + { be_const_key_weak(findsub, -1), be_const_closure(class_Matter_TLV_list_findsub_closure) }, + { be_const_key_weak(add_list, 17), be_const_closure(class_Matter_TLV_list_add_list_closure) }, + { be_const_key_weak(add_array, -1), be_const_closure(class_Matter_TLV_list_add_array_closure) }, + { be_const_key_weak(add_TLV, -1), be_const_closure(class_Matter_TLV_list_add_TLV_closure) }, + { be_const_key_weak(setitem, 11), be_const_closure(class_Matter_TLV_list_setitem_closure) }, + { be_const_key_weak(add_obj, -1), be_const_closure(class_Matter_TLV_list_add_obj_closure) }, + { be_const_key_weak(is_list, -1), be_const_bool(1) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_TLV_list_tostring_closure) }, + })), + be_str_weak(Matter_TLV_list) +); + +extern const bclass be_class_Matter_TLV_struct; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_TLV_struct_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(tostring_inner), + /* K1 */ be_nested_str_weak(_X7B), + /* K2 */ be_nested_str_weak(_X7D), + }), + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x50100200, // 0001 LDBOOL R4 1 0 + 0x58140001, // 0002 LDCONST R5 K1 + 0x58180002, // 0003 LDCONST R6 K2 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x7C080A00, // 0005 CALL R2 5 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_TLV_struct_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(typ), + /* K2 */ be_nested_str_weak(TLV), + /* K3 */ be_nested_str_weak(STRUCT), + /* K4 */ be_nested_str_weak(val), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080102, // 0006 GETMBR R2 R0 K2 + 0x88080503, // 0007 GETMBR R2 R2 K3 + 0x90020202, // 0008 SETMBR R0 K1 R2 + 0x60080012, // 0009 GETGBL R2 G18 + 0x7C080000, // 000A CALL R2 0 + 0x90020802, // 000B SETMBR R0 K4 R2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TLV_struct +********************************************************************/ +extern const bclass be_class_Matter_TLV_list; +be_local_class(Matter_TLV_struct, + 0, + &be_class_Matter_TLV_list, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_struct_init_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_TLV_struct_tostring_closure) }, + { be_const_key_weak(is_list, -1), be_const_bool(0) }, + { be_const_key_weak(is_struct, 0), be_const_bool(1) }, + })), + be_str_weak(Matter_TLV_struct) +); +// compact class 'Matter_TLV_array' ktab size: 17, total: 19 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_TLV_array[17] = { + /* K0 */ be_nested_str_weak(tostring_inner), + /* K1 */ be_nested_str_weak(_X5B), + /* K2 */ be_nested_str_weak(_X5D), + /* K3 */ be_nested_str_weak(init), + /* K4 */ be_nested_str_weak(typ), + /* K5 */ be_nested_str_weak(TLV), + /* K6 */ be_nested_str_weak(ARRAY), + /* K7 */ be_nested_str_weak(val), + /* K8 */ be_nested_str_weak(EOC), + /* K9 */ be_nested_str_weak(parse), + /* K10 */ be_nested_str_weak(next_idx), + /* K11 */ be_nested_str_weak(tag_vendor), + /* K12 */ be_nested_str_weak(tag_profile), + /* K13 */ be_nested_str_weak(tag_number), + /* K14 */ be_nested_str_weak(tag_sub), + /* K15 */ be_nested_str_weak(push), + /* K16 */ be_const_int(1), +}; + + +extern const bclass be_class_Matter_TLV_array; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Matter_TLV_array_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_array, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x50100000, // 0001 LDBOOL R4 0 0 + 0x58140001, // 0002 LDCONST R5 K1 + 0x58180002, // 0003 LDCONST R6 K2 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x7C080A00, // 0005 CALL R2 5 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_TLV_array_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_array, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080503, // 0003 GETMET R2 R2 K3 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080105, // 0006 GETMBR R2 R0 K5 + 0x88080506, // 0007 GETMBR R2 R2 K6 + 0x90020802, // 0008 SETMBR R0 K4 R2 + 0x60080012, // 0009 GETGBL R2 G18 + 0x7C080000, // 000A CALL R2 0 + 0x90020E02, // 000B SETMBR R0 K7 R2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_TLV_array_parse, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV_array, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x940C0202, // 0000 GETIDX R3 R1 R2 + 0x88100105, // 0001 GETMBR R4 R0 K5 + 0x88100908, // 0002 GETMBR R4 R4 K8 + 0x200C0604, // 0003 NE R3 R3 R4 + 0x780E0013, // 0004 JMPF R3 #0019 + 0x880C0105, // 0005 GETMBR R3 R0 K5 + 0x8C0C0709, // 0006 GETMET R3 R3 K9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x5C180400, // 0008 MOVE R6 R2 + 0x5C1C0000, // 0009 MOVE R7 R0 + 0x7C0C0800, // 000A CALL R3 4 + 0x8808070A, // 000B GETMBR R2 R3 K10 + 0x4C100000, // 000C LDNIL R4 + 0x900E1604, // 000D SETMBR R3 K11 R4 + 0x4C100000, // 000E LDNIL R4 + 0x900E1804, // 000F SETMBR R3 K12 R4 + 0x4C100000, // 0010 LDNIL R4 + 0x900E1A04, // 0011 SETMBR R3 K13 R4 + 0x4C100000, // 0012 LDNIL R4 + 0x900E1C04, // 0013 SETMBR R3 K14 R4 + 0x88100107, // 0014 GETMBR R4 R0 K7 + 0x8C10090F, // 0015 GETMET R4 R4 K15 + 0x5C180600, // 0016 MOVE R6 R3 + 0x7C100400, // 0017 CALL R4 2 + 0x7001FFE6, // 0018 JMP #0000 + 0x00080510, // 0019 ADD R2 R2 K16 + 0x90021402, // 001A SETMBR R0 K10 R2 + 0x80040400, // 001B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TLV_array +********************************************************************/ +extern const bclass be_class_Matter_TLV_list; +be_local_class(Matter_TLV_array, + 0, + &be_class_Matter_TLV_list, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tostring, 1), be_const_closure(class_Matter_TLV_array_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_array_init_closure) }, + { be_const_key_weak(parse, 3), be_const_closure(class_Matter_TLV_array_parse_closure) }, + { be_const_key_weak(is_list, -1), be_const_bool(0) }, + { be_const_key_weak(is_array, -1), be_const_bool(1) }, + })), + be_str_weak(Matter_TLV_array) +); +extern const bclass be_class_Matter_TLV; +// compact class 'Matter_TLV' ktab size: 22, total: 24 (saved 16 bytes) +static const bvalue be_ktab_class_Matter_TLV[22] = { + /* K0 */ be_const_class(be_class_Matter_TLV), + /* K1 */ be_nested_str_weak(Matter_TLV_item), + /* K2 */ be_nested_str_weak(create_TLV), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str_weak(EOC), + /* K6 */ be_nested_str_weak(invalid_X20TLV_X20type_X20), + /* K7 */ be_nested_str_weak(TLV_error), + /* K8 */ be_nested_str_weak(STRUCT), + /* K9 */ be_nested_str_weak(Matter_TLV_struct), + /* K10 */ be_nested_str_weak(ARRAY), + /* K11 */ be_nested_str_weak(Matter_TLV_array), + /* K12 */ be_nested_str_weak(LIST), + /* K13 */ be_nested_str_weak(Matter_TLV_list), + /* K14 */ be_nested_str_weak(typ), + /* K15 */ be_nested_str_weak(tag_vendor), + /* K16 */ be_nested_str_weak(get), + /* K17 */ be_const_int(2), + /* K18 */ be_nested_str_weak(tag_profile), + /* K19 */ be_nested_str_weak(tag_sub), + /* K20 */ be_nested_str_weak(tag_number), + /* K21 */ be_nested_str_weak(parse), +}; + + +extern const bclass be_class_Matter_TLV; + +/******************************************************************** +** Solidified function: create_TLV +********************************************************************/ +be_local_closure(class_Matter_TLV_create_TLV, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV, /* shared constants */ + be_str_weak(create_TLV), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x880C0501, // 0001 GETMBR R3 R2 K1 + 0x8C0C0702, // 0002 GETMET R3 R3 K2 + 0x5C140000, // 0003 MOVE R5 R0 + 0x5C180200, // 0004 MOVE R6 R1 + 0x7C0C0600, // 0005 CALL R3 3 + 0x80040600, // 0006 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Matter_TLV_parse, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_TLV, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[118]) { /* code */ + 0x580C0000, // 0000 LDCONST R3 K0 + 0x5C100600, // 0001 MOVE R4 R3 + 0x4C140000, // 0002 LDNIL R5 + 0x1C140205, // 0003 EQ R5 R1 R5 + 0x78160000, // 0004 JMPF R5 #0006 + 0x58040003, // 0005 LDCONST R1 K3 + 0x94140001, // 0006 GETIDX R5 R0 R1 + 0x541A001E, // 0007 LDINT R6 31 + 0x2C140A06, // 0008 AND R5 R5 R6 + 0x94180001, // 0009 GETIDX R6 R0 R1 + 0x541E00DF, // 000A LDINT R7 224 + 0x2C180C07, // 000B AND R6 R6 R7 + 0x00040304, // 000C ADD R1 R1 K4 + 0x881C0905, // 000D GETMBR R7 R4 K5 + 0x241C0A07, // 000E GT R7 R5 R7 + 0x781E0004, // 000F JMPF R7 #0015 + 0x601C0008, // 0010 GETGBL R7 G8 + 0x5C200A00, // 0011 MOVE R8 R5 + 0x7C1C0200, // 0012 CALL R7 1 + 0x001E0C07, // 0013 ADD R7 K6 R7 + 0xB0060E07, // 0014 RAISE 1 K7 R7 + 0x4C1C0000, // 0015 LDNIL R7 + 0x88200908, // 0016 GETMBR R8 R4 K8 + 0x1C200A08, // 0017 EQ R8 R5 R8 + 0x78220004, // 0018 JMPF R8 #001E + 0x8C200709, // 0019 GETMET R8 R3 K9 + 0x5C280400, // 001A MOVE R10 R2 + 0x7C200400, // 001B CALL R8 2 + 0x5C1C1000, // 001C MOVE R7 R8 + 0x70020013, // 001D JMP #0032 + 0x8820090A, // 001E GETMBR R8 R4 K10 + 0x1C200A08, // 001F EQ R8 R5 R8 + 0x78220004, // 0020 JMPF R8 #0026 + 0x8C20070B, // 0021 GETMET R8 R3 K11 + 0x5C280400, // 0022 MOVE R10 R2 + 0x7C200400, // 0023 CALL R8 2 + 0x5C1C1000, // 0024 MOVE R7 R8 + 0x7002000B, // 0025 JMP #0032 + 0x8820090C, // 0026 GETMBR R8 R4 K12 + 0x1C200A08, // 0027 EQ R8 R5 R8 + 0x78220004, // 0028 JMPF R8 #002E + 0x8C20070D, // 0029 GETMET R8 R3 K13 + 0x5C280400, // 002A MOVE R10 R2 + 0x7C200400, // 002B CALL R8 2 + 0x5C1C1000, // 002C MOVE R7 R8 + 0x70020003, // 002D JMP #0032 + 0x8C200701, // 002E GETMET R8 R3 K1 + 0x5C280400, // 002F MOVE R10 R2 + 0x7C200400, // 0030 CALL R8 2 + 0x5C1C1000, // 0031 MOVE R7 R8 + 0x901E1C05, // 0032 SETMBR R7 K14 R5 + 0x542200BF, // 0033 LDINT R8 192 + 0x1C200C08, // 0034 EQ R8 R6 R8 + 0x74220002, // 0035 JMPT R8 #0039 + 0x542200DF, // 0036 LDINT R8 224 + 0x1C200C08, // 0037 EQ R8 R6 R8 + 0x7822000B, // 0038 JMPF R8 #0045 + 0x8C200110, // 0039 GETMET R8 R0 K16 + 0x5C280200, // 003A MOVE R10 R1 + 0x582C0011, // 003B LDCONST R11 K17 + 0x7C200600, // 003C CALL R8 3 + 0x901E1E08, // 003D SETMBR R7 K15 R8 + 0x8C200110, // 003E GETMET R8 R0 K16 + 0x00280311, // 003F ADD R10 R1 K17 + 0x582C0011, // 0040 LDCONST R11 K17 + 0x7C200600, // 0041 CALL R8 3 + 0x901E2408, // 0042 SETMBR R7 K18 R8 + 0x54220003, // 0043 LDINT R8 4 + 0x00040208, // 0044 ADD R1 R1 R8 + 0x5422003F, // 0045 LDINT R8 64 + 0x1C200C08, // 0046 EQ R8 R6 R8 + 0x74220002, // 0047 JMPT R8 #004B + 0x5422005F, // 0048 LDINT R8 96 + 0x1C200C08, // 0049 EQ R8 R6 R8 + 0x78220003, // 004A JMPF R8 #004F + 0x4C200000, // 004B LDNIL R8 + 0x901E1E08, // 004C SETMBR R7 K15 R8 + 0x5421FFFE, // 004D LDINT R8 -1 + 0x901E2408, // 004E SETMBR R7 K18 R8 + 0x1C200D03, // 004F EQ R8 R6 K3 + 0x78220000, // 0050 JMPF R8 #0052 + 0x7002001D, // 0051 JMP #0070 + 0x5422001F, // 0052 LDINT R8 32 + 0x1C200C08, // 0053 EQ R8 R6 R8 + 0x78220003, // 0054 JMPF R8 #0059 + 0x94200001, // 0055 GETIDX R8 R0 R1 + 0x901E2608, // 0056 SETMBR R7 K19 R8 + 0x00040304, // 0057 ADD R1 R1 K4 + 0x70020016, // 0058 JMP #0070 + 0x542200BF, // 0059 LDINT R8 192 + 0x1C200C08, // 005A EQ R8 R6 R8 + 0x74220005, // 005B JMPT R8 #0062 + 0x5422007F, // 005C LDINT R8 128 + 0x1C200C08, // 005D EQ R8 R6 R8 + 0x74220002, // 005E JMPT R8 #0062 + 0x5422003F, // 005F LDINT R8 64 + 0x1C200C08, // 0060 EQ R8 R6 R8 + 0x78220006, // 0061 JMPF R8 #0069 + 0x8C200110, // 0062 GETMET R8 R0 K16 + 0x5C280200, // 0063 MOVE R10 R1 + 0x582C0011, // 0064 LDCONST R11 K17 + 0x7C200600, // 0065 CALL R8 3 + 0x901E2808, // 0066 SETMBR R7 K20 R8 + 0x00040311, // 0067 ADD R1 R1 K17 + 0x70020006, // 0068 JMP #0070 + 0x8C200110, // 0069 GETMET R8 R0 K16 + 0x5C280200, // 006A MOVE R10 R1 + 0x542E0003, // 006B LDINT R11 4 + 0x7C200600, // 006C CALL R8 3 + 0x901E2808, // 006D SETMBR R7 K20 R8 + 0x54220003, // 006E LDINT R8 4 + 0x00040208, // 006F ADD R1 R1 R8 + 0x8C200F15, // 0070 GETMET R8 R7 K21 + 0x5C280000, // 0071 MOVE R10 R0 + 0x5C2C0200, // 0072 MOVE R11 R1 + 0x7C200600, // 0073 CALL R8 3 + 0x5C041000, // 0074 MOVE R1 R8 + 0x80040E00, // 0075 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_TLV +********************************************************************/ +be_local_class(Matter_TLV, + 0, + NULL, + be_nested_map(35, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(BFALSE, -1), be_const_int(8) }, + { be_const_key_weak(create_TLV, -1), be_const_static_closure(class_Matter_TLV_create_TLV_closure) }, + { be_const_key_weak(Matter_TLV_list, -1), be_const_class(be_class_Matter_TLV_list) }, + { be_const_key_weak(I4, 33), be_const_int(2) }, + { be_const_key_weak(U2, -1), be_const_int(5) }, + { be_const_key_weak(UTF4, -1), be_const_int(14) }, + { be_const_key_weak(DOUBLE, 3), be_const_int(11) }, + { be_const_key_weak(U4, 28), be_const_int(6) }, + { be_const_key_weak(UTF2, 14), be_const_int(13) }, + { be_const_key_weak(Matter_TLV_struct, 2), be_const_class(be_class_Matter_TLV_struct) }, + { be_const_key_weak(BOOL, -1), be_const_int(8) }, + { be_const_key_weak(RAW, -1), be_const_int(255) }, + { be_const_key_weak(parse, -1), be_const_static_closure(class_Matter_TLV_parse_closure) }, + { be_const_key_weak(U8, -1), be_const_int(7) }, + { be_const_key_weak(LIST, -1), be_const_int(23) }, + { be_const_key_weak(I2, 27), be_const_int(1) }, + { be_const_key_weak(B2, -1), be_const_int(17) }, + { be_const_key_weak(_len, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(25, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(1), + be_const_int(2), + be_const_int(4), + be_const_int(8), + be_const_int(1), + be_const_int(2), + be_const_int(4), + be_const_int(8), + be_const_int(0), + be_const_int(0), + be_const_int(4), + be_const_int(8), + be_const_int(-1), + be_const_int(-2), + be_const_int(-4), + be_const_int(-8), + be_const_int(-1), + be_const_int(-2), + be_const_int(-4), + be_const_int(-8), + be_const_int(0), + be_const_int(-99), + be_const_int(-99), + be_const_int(-99), + be_const_int(0), + })) ) } )) }, + { be_const_key_weak(EOC, -1), be_const_int(24) }, + { be_const_key_weak(Matter_TLV_array, -1), be_const_class(be_class_Matter_TLV_array) }, + { be_const_key_weak(U1, 32), be_const_int(4) }, + { be_const_key_weak(STRUCT, -1), be_const_int(21) }, + { be_const_key_weak(Matter_TLV_item, 19), be_const_class(be_class_Matter_TLV_item) }, + { be_const_key_weak(_type, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(25, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(i1), + be_nested_str_weak(i2), + be_nested_str_weak(i4), + be_nested_str_weak(i8), + be_nested_str_weak(u1), + be_nested_str_weak(u2), + be_nested_str_weak(u4), + be_nested_str_weak(u8), + be_nested_str_weak(bool), + be_nested_str_weak(bool), + be_nested_str_weak(float), + be_nested_str_weak(double), + be_nested_str_weak(UTF1), + be_nested_str_weak(UTF2), + be_nested_str_weak(UTF4), + be_nested_str_weak(UTF8), + be_nested_str_weak(b1), + be_nested_str_weak(b2), + be_nested_str_weak(b4), + be_nested_str_weak(b8), + be_nested_str_weak(null), + be_nested_str_weak(struct), + be_nested_str_weak(array), + be_nested_str_weak(list), + be_nested_str_weak(end), + })) ) } )) }, + { be_const_key_weak(I8, 26), be_const_int(3) }, + { be_const_key_weak(B8, 11), be_const_int(19) }, + { be_const_key_weak(FLOAT, -1), be_const_int(10) }, + { be_const_key_weak(ARRAY, -1), be_const_int(22) }, + { be_const_key_weak(B4, -1), be_const_int(18) }, + { be_const_key_weak(B1, -1), be_const_int(16) }, + { be_const_key_weak(UTF1, -1), be_const_int(12) }, + { be_const_key_weak(I1, -1), be_const_int(0) }, + { be_const_key_weak(BTRUE, -1), be_const_int(9) }, + { be_const_key_weak(NULL, -1), be_const_int(20) }, + { be_const_key_weak(UTF8, -1), be_const_int(15) }, + })), + be_str_weak(Matter_TLV) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UDPServer.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UDPServer.h new file mode 100644 index 000000000..d3a39ff4e --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UDPServer.h @@ -0,0 +1,820 @@ +/* Solidification of Matter_UDPServer.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_UDPPacket_sent; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_UDPPacket_sent_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[19]) { /* constants */ + /* K0 */ be_nested_str_weak(raw), + /* K1 */ be_nested_str_weak(addr), + /* K2 */ be_nested_str_weak(remote_ip), + /* K3 */ be_nested_str_weak(port), + /* K4 */ be_nested_str_weak(remote_port), + /* K5 */ be_nested_str_weak(msg_id), + /* K6 */ be_nested_str_weak(x_flag_r), + /* K7 */ be_nested_str_weak(message_counter), + /* K8 */ be_nested_str_weak(exchange_id), + /* K9 */ be_const_int(0), + /* K10 */ be_nested_str_weak(session_id), + /* K11 */ be_nested_str_weak(local_session_id), + /* K12 */ be_nested_str_weak(retries), + /* K13 */ be_nested_str_weak(next_try), + /* K14 */ be_nested_str_weak(tasmota), + /* K15 */ be_nested_str_weak(millis), + /* K16 */ be_nested_str_weak(matter), + /* K17 */ be_nested_str_weak(UDPServer), + /* K18 */ be_nested_str_weak(_backoff_time), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0x90020002, // 0001 SETMBR R0 K0 R2 + 0x88080302, // 0002 GETMBR R2 R1 K2 + 0x90020202, // 0003 SETMBR R0 K1 R2 + 0x88080304, // 0004 GETMBR R2 R1 K4 + 0x90020602, // 0005 SETMBR R0 K3 R2 + 0x88080306, // 0006 GETMBR R2 R1 K6 + 0x780A0001, // 0007 JMPF R2 #000A + 0x88080307, // 0008 GETMBR R2 R1 K7 + 0x70020000, // 0009 JMP #000B + 0x4C080000, // 000A LDNIL R2 + 0x90020A02, // 000B SETMBR R0 K5 R2 + 0x88080308, // 000C GETMBR R2 R1 K8 + 0x4C0C0000, // 000D LDNIL R3 + 0x20080403, // 000E NE R2 R2 R3 + 0x780A0001, // 000F JMPF R2 #0012 + 0x88080308, // 0010 GETMBR R2 R1 K8 + 0x70020000, // 0011 JMP #0013 + 0x58080009, // 0012 LDCONST R2 K9 + 0x90021002, // 0013 SETMBR R0 K8 R2 + 0x8808030B, // 0014 GETMBR R2 R1 K11 + 0x4C0C0000, // 0015 LDNIL R3 + 0x20080403, // 0016 NE R2 R2 R3 + 0x780A0001, // 0017 JMPF R2 #001A + 0x8808030B, // 0018 GETMBR R2 R1 K11 + 0x70020000, // 0019 JMP #001B + 0x58080009, // 001A LDCONST R2 K9 + 0x90021402, // 001B SETMBR R0 K10 R2 + 0x90021909, // 001C SETMBR R0 K12 K9 + 0xB80A1C00, // 001D GETNGBL R2 K14 + 0x8C08050F, // 001E GETMET R2 R2 K15 + 0x7C080200, // 001F CALL R2 1 + 0xB80E2000, // 0020 GETNGBL R3 K16 + 0x880C0711, // 0021 GETMBR R3 R3 K17 + 0x8C0C0712, // 0022 GETMET R3 R3 K18 + 0x8814010C, // 0023 GETMBR R5 R0 K12 + 0x7C0C0400, // 0024 CALL R3 2 + 0x00080403, // 0025 ADD R2 R2 R3 + 0x90021A02, // 0026 SETMBR R0 K13 R2 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_UDPPacket_sent +********************************************************************/ +be_local_class(Matter_UDPPacket_sent, + 8, + NULL, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(next_try, -1), be_const_var(7) }, + { be_const_key_weak(session_id, 8), be_const_var(5) }, + { be_const_key_weak(retries, 3), be_const_var(6) }, + { be_const_key_weak(addr, -1), be_const_var(1) }, + { be_const_key_weak(port, 0), be_const_var(2) }, + { be_const_key_weak(raw, -1), be_const_var(0) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPPacket_sent_init_closure) }, + { be_const_key_weak(exchange_id, -1), be_const_var(4) }, + { be_const_key_weak(msg_id, -1), be_const_var(3) }, + })), + be_str_weak(Matter_UDPPacket_sent) +); +extern const bclass be_class_Matter_UDPServer; +// compact class 'Matter_UDPServer' ktab size: 61, total: 103 (saved 336 bytes) +static const bvalue be_ktab_class_Matter_UDPServer[61] = { + /* K0 */ be_nested_str_weak(loop), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(UDPPacket_sent), + /* K3 */ be_nested_str_weak(send), + /* K4 */ be_nested_str_weak(msg_id), + /* K5 */ be_nested_str_weak(packets_sent), + /* K6 */ be_nested_str_weak(push), + /* K7 */ be_nested_str_weak(ack_message_counter), + /* K8 */ be_nested_str_weak(exchange_id), + /* K9 */ be_const_int(0), + /* K10 */ be_nested_str_weak(remove), + /* K11 */ be_nested_str_weak(tasmota), + /* K12 */ be_nested_str_weak(loglevel), + /* K13 */ be_nested_str_weak(log), + /* K14 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D), + /* K15 */ be_const_int(1), + /* K16 */ be_nested_str_weak(listening), + /* K17 */ be_nested_str_weak(udp_socket), + /* K18 */ be_nested_str_weak(udp), + /* K19 */ be_nested_str_weak(begin), + /* K20 */ be_nested_str_weak(addr), + /* K21 */ be_nested_str_weak(port), + /* K22 */ be_nested_str_weak(network_error), + /* K23 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server), + /* K24 */ be_nested_str_weak(dispatch_cb), + /* K25 */ be_nested_str_weak(add_fast_loop), + /* K26 */ be_nested_str_weak(loop_cb), + /* K27 */ be_nested_str_weak(remote_ip), + /* K28 */ be_nested_str_weak(remote_port), + /* K29 */ be_nested_str_weak(raw), + /* K30 */ be_nested_str_weak(MTR_X3A_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27), + /* K31 */ be_const_int(3), + /* K32 */ be_nested_str_weak(MTR_X3A_X20error_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27), + /* K33 */ be_nested_str_weak(stop), + /* K34 */ be_nested_str_weak(remove_fast_loop), + /* K35 */ be_nested_str_weak(device), + /* K36 */ be_nested_str_weak(), + /* K37 */ be_nested_str_weak(time_reached), + /* K38 */ be_nested_str_weak(next_try), + /* K39 */ be_nested_str_weak(retries), + /* K40 */ be_nested_str_weak(RETRIES), + /* K41 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Resending_X20packet_X20id_X3D), + /* K42 */ be_nested_str_weak(millis), + /* K43 */ be_nested_str_weak(_backoff_time), + /* K44 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20Unacked_X20packet_X20_X27_X5B_X25s_X5D_X3A_X25i_X27_X20msg_id_X3D_X25i), + /* K45 */ be_nested_str_weak(session_id), + /* K46 */ be_const_class(be_class_Matter_UDPServer), + /* K47 */ be_nested_str_weak(math), + /* K48 */ be_nested_str_weak(rand), + /* K49 */ be_const_real_hex(0x3FCCCCCD), + /* K50 */ be_const_real_hex(0x3F800000), + /* K51 */ be_const_real_hex(0x3E800000), + /* K52 */ be_nested_str_weak(profiler), + /* K53 */ be_nested_str_weak(read), + /* K54 */ be_nested_str_weak(packet), + /* K55 */ be_nested_str_weak(start), + /* K56 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i), + /* K57 */ be_nested_str_weak(dump), + /* K58 */ be_const_int(2), + /* K59 */ be_nested_str_weak(MAX_PACKETS_READ), + /* K60 */ be_nested_str_weak(_resend_packets), +}; + + +extern const bclass be_class_Matter_UDPServer; + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_UDPServer_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_UDP +********************************************************************/ +be_local_closure(class_Matter_UDPServer_send_UDP, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(send_UDP), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xB80A0200, // 0000 GETNGBL R2 K1 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x8C0C0103, // 0004 GETMET R3 R0 K3 + 0x5C140400, // 0005 MOVE R5 R2 + 0x7C0C0400, // 0006 CALL R3 2 + 0x880C0504, // 0007 GETMBR R3 R2 K4 + 0x780E0003, // 0008 JMPF R3 #000D + 0x880C0105, // 0009 GETMBR R3 R0 K5 + 0x8C0C0706, // 000A GETMET R3 R3 K6 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: received_ack +********************************************************************/ +be_local_closure(class_Matter_UDPServer_received_ack, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(received_ack), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x88080307, // 0000 GETMBR R2 R1 K7 + 0x880C0308, // 0001 GETMBR R3 R1 K8 + 0x4C100000, // 0002 LDNIL R4 + 0x1C100404, // 0003 EQ R4 R2 R4 + 0x78120000, // 0004 JMPF R4 #0006 + 0x80000800, // 0005 RET 0 + 0x58100009, // 0006 LDCONST R4 K9 + 0x6014000C, // 0007 GETGBL R5 G12 + 0x88180105, // 0008 GETMBR R6 R0 K5 + 0x7C140200, // 0009 CALL R5 1 + 0x14140805, // 000A LT R5 R4 R5 + 0x7816001A, // 000B JMPF R5 #0027 + 0x88140105, // 000C GETMBR R5 R0 K5 + 0x94140A04, // 000D GETIDX R5 R5 R4 + 0x88180B04, // 000E GETMBR R6 R5 K4 + 0x1C180C02, // 000F EQ R6 R6 R2 + 0x781A0013, // 0010 JMPF R6 #0025 + 0x88180B08, // 0011 GETMBR R6 R5 K8 + 0x1C180C03, // 0012 EQ R6 R6 R3 + 0x781A0010, // 0013 JMPF R6 #0025 + 0x88180105, // 0014 GETMBR R6 R0 K5 + 0x8C180D0A, // 0015 GETMET R6 R6 K10 + 0x5C200800, // 0016 MOVE R8 R4 + 0x7C180400, // 0017 CALL R6 2 + 0xB81A1600, // 0018 GETNGBL R6 K11 + 0x8C180D0C, // 0019 GETMET R6 R6 K12 + 0x54220003, // 001A LDINT R8 4 + 0x7C180400, // 001B CALL R6 2 + 0x781A0006, // 001C JMPF R6 #0024 + 0xB81A1A00, // 001D GETNGBL R6 K13 + 0x601C0008, // 001E GETGBL R7 G8 + 0x5C200400, // 001F MOVE R8 R2 + 0x7C1C0200, // 0020 CALL R7 1 + 0x001E1C07, // 0021 ADD R7 K14 R7 + 0x54220003, // 0022 LDINT R8 4 + 0x7C180400, // 0023 CALL R6 2 + 0x70020000, // 0024 JMP #0026 + 0x0010090F, // 0025 ADD R4 R4 K15 + 0x7001FFDF, // 0026 JMP #0007 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Matter_UDPServer_start, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x88080110, // 0000 GETMBR R2 R0 K16 + 0x740A0011, // 0001 JMPT R2 #0014 + 0xB80A2400, // 0002 GETNGBL R2 K18 + 0x7C080000, // 0003 CALL R2 0 + 0x90022202, // 0004 SETMBR R0 K17 R2 + 0x88080111, // 0005 GETMBR R2 R0 K17 + 0x8C080513, // 0006 GETMET R2 R2 K19 + 0x88100114, // 0007 GETMBR R4 R0 K20 + 0x88140115, // 0008 GETMBR R5 R0 K21 + 0x7C080600, // 0009 CALL R2 3 + 0x5C0C0400, // 000A MOVE R3 R2 + 0x740E0000, // 000B JMPT R3 #000D + 0xB0062D17, // 000C RAISE 1 K22 K23 + 0x500C0200, // 000D LDBOOL R3 1 0 + 0x90022003, // 000E SETMBR R0 K16 R3 + 0x90023001, // 000F SETMBR R0 K24 R1 + 0xB80E1600, // 0010 GETNGBL R3 K11 + 0x8C0C0719, // 0011 GETMET R3 R3 K25 + 0x8814011A, // 0012 GETMBR R5 R0 K26 + 0x7C0C0400, // 0013 CALL R3 2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send +********************************************************************/ +be_local_closure(class_Matter_UDPServer_send, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(send), + &be_const_str_solidified, + ( &(const binstruction[45]) { /* code */ + 0x88080111, // 0000 GETMBR R2 R0 K17 + 0x8C080503, // 0001 GETMET R2 R2 K3 + 0x88100314, // 0002 GETMBR R4 R1 K20 + 0x78120001, // 0003 JMPF R4 #0006 + 0x88100314, // 0004 GETMBR R4 R1 K20 + 0x70020001, // 0005 JMP #0008 + 0x88100111, // 0006 GETMBR R4 R0 K17 + 0x8810091B, // 0007 GETMBR R4 R4 K27 + 0x88140315, // 0008 GETMBR R5 R1 K21 + 0x78160001, // 0009 JMPF R5 #000C + 0x88140315, // 000A GETMBR R5 R1 K21 + 0x70020001, // 000B JMP #000E + 0x88140111, // 000C GETMBR R5 R0 K17 + 0x88140B1C, // 000D GETMBR R5 R5 K28 + 0x8818031D, // 000E GETMBR R6 R1 K29 + 0x7C080800, // 000F CALL R2 4 + 0x780A000D, // 0010 JMPF R2 #001F + 0xB80E1600, // 0011 GETNGBL R3 K11 + 0x8C0C070C, // 0012 GETMET R3 R3 K12 + 0x54160003, // 0013 LDINT R5 4 + 0x7C0C0400, // 0014 CALL R3 2 + 0x780E0007, // 0015 JMPF R3 #001E + 0xB80E1A00, // 0016 GETNGBL R3 K13 + 0x60100018, // 0017 GETGBL R4 G24 + 0x5814001E, // 0018 LDCONST R5 K30 + 0x88180314, // 0019 GETMBR R6 R1 K20 + 0x881C0315, // 001A GETMBR R7 R1 K21 + 0x7C100600, // 001B CALL R4 3 + 0x54160003, // 001C LDINT R5 4 + 0x7C0C0400, // 001D CALL R3 2 + 0x7002000C, // 001E JMP #002C + 0xB80E1600, // 001F GETNGBL R3 K11 + 0x8C0C070C, // 0020 GETMET R3 R3 K12 + 0x5814001F, // 0021 LDCONST R5 K31 + 0x7C0C0400, // 0022 CALL R3 2 + 0x780E0007, // 0023 JMPF R3 #002C + 0xB80E1A00, // 0024 GETNGBL R3 K13 + 0x60100018, // 0025 GETGBL R4 G24 + 0x58140020, // 0026 LDCONST R5 K32 + 0x88180314, // 0027 GETMBR R6 R1 K20 + 0x881C0315, // 0028 GETMBR R7 R1 K21 + 0x7C100600, // 0029 CALL R4 3 + 0x5814001F, // 002A LDCONST R5 K31 + 0x7C0C0400, // 002B CALL R3 2 + 0x80040400, // 002C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: stop +********************************************************************/ +be_local_closure(class_Matter_UDPServer_stop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(stop), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040110, // 0000 GETMBR R1 R0 K16 + 0x78060008, // 0001 JMPF R1 #000B + 0x88040111, // 0002 GETMBR R1 R0 K17 + 0x8C040321, // 0003 GETMET R1 R1 K33 + 0x7C040200, // 0004 CALL R1 1 + 0x50040000, // 0005 LDBOOL R1 0 0 + 0x90022001, // 0006 SETMBR R0 K16 R1 + 0xB8061600, // 0007 GETNGBL R1 K11 + 0x8C040322, // 0008 GETMET R1 R1 K34 + 0x880C011A, // 0009 GETMBR R3 R0 K26 + 0x7C040400, // 000A CALL R1 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_UDPServer_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x90024601, // 0000 SETMBR R0 K35 R1 + 0x780A0001, // 0001 JMPF R2 #0004 + 0x5C100400, // 0002 MOVE R4 R2 + 0x70020000, // 0003 JMP #0005 + 0x58100024, // 0004 LDCONST R4 K36 + 0x90022804, // 0005 SETMBR R0 K20 R4 + 0x780E0001, // 0006 JMPF R3 #0009 + 0x5C100600, // 0007 MOVE R4 R3 + 0x70020000, // 0008 JMP #000A + 0x541215A3, // 0009 LDINT R4 5540 + 0x90022A04, // 000A SETMBR R0 K21 R4 + 0x50100000, // 000B LDBOOL R4 0 0 + 0x90022004, // 000C SETMBR R0 K16 R4 + 0x60100012, // 000D GETGBL R4 G18 + 0x7C100000, // 000E CALL R4 0 + 0x90020A04, // 000F SETMBR R0 K5 R4 + 0x84100000, // 0010 CLOSURE R4 P0 + 0x90023404, // 0011 SETMBR R0 K26 R4 + 0xA0000000, // 0012 CLOSE R0 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _resend_packets +********************************************************************/ +be_local_closure(class_Matter_UDPServer__resend_packets, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(_resend_packets), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x58040009, // 0000 LDCONST R1 K9 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x880C0105, // 0002 GETMBR R3 R0 K5 + 0x7C080200, // 0003 CALL R2 1 + 0x14080202, // 0004 LT R2 R1 R2 + 0x780A0032, // 0005 JMPF R2 #0039 + 0x88080105, // 0006 GETMBR R2 R0 K5 + 0x94080401, // 0007 GETIDX R2 R2 R1 + 0xB80E1600, // 0008 GETNGBL R3 K11 + 0x8C0C0725, // 0009 GETMET R3 R3 K37 + 0x88140526, // 000A GETMBR R5 R2 K38 + 0x7C0C0400, // 000B CALL R3 2 + 0x780E0029, // 000C JMPF R3 #0037 + 0x880C0527, // 000D GETMBR R3 R2 K39 + 0x88100128, // 000E GETMBR R4 R0 K40 + 0x180C0604, // 000F LE R3 R3 R4 + 0x780E0016, // 0010 JMPF R3 #0028 + 0xB80E1A00, // 0011 GETNGBL R3 K13 + 0x60100008, // 0012 GETGBL R4 G8 + 0x88140504, // 0013 GETMBR R5 R2 K4 + 0x7C100200, // 0014 CALL R4 1 + 0x00125204, // 0015 ADD R4 K41 R4 + 0x54160003, // 0016 LDINT R5 4 + 0x7C0C0400, // 0017 CALL R3 2 + 0x8C0C0103, // 0018 GETMET R3 R0 K3 + 0x5C140400, // 0019 MOVE R5 R2 + 0x7C0C0400, // 001A CALL R3 2 + 0xB80E1600, // 001B GETNGBL R3 K11 + 0x8C0C072A, // 001C GETMET R3 R3 K42 + 0x7C0C0200, // 001D CALL R3 1 + 0x8C10012B, // 001E GETMET R4 R0 K43 + 0x88180527, // 001F GETMBR R6 R2 K39 + 0x7C100400, // 0020 CALL R4 2 + 0x000C0604, // 0021 ADD R3 R3 R4 + 0x900A4C03, // 0022 SETMBR R2 K38 R3 + 0x880C0527, // 0023 GETMBR R3 R2 K39 + 0x000C070F, // 0024 ADD R3 R3 K15 + 0x900A4E03, // 0025 SETMBR R2 K39 R3 + 0x0004030F, // 0026 ADD R1 R1 K15 + 0x7002000D, // 0027 JMP #0036 + 0x880C0105, // 0028 GETMBR R3 R0 K5 + 0x8C0C070A, // 0029 GETMET R3 R3 K10 + 0x5C140200, // 002A MOVE R5 R1 + 0x7C0C0400, // 002B CALL R3 2 + 0xB80E1A00, // 002C GETNGBL R3 K13 + 0x60100018, // 002D GETGBL R4 G24 + 0x5814002C, // 002E LDCONST R5 K44 + 0x8818052D, // 002F GETMBR R6 R2 K45 + 0x881C0514, // 0030 GETMBR R7 R2 K20 + 0x88200515, // 0031 GETMBR R8 R2 K21 + 0x88240504, // 0032 GETMBR R9 R2 K4 + 0x7C100A00, // 0033 CALL R4 5 + 0x5814001F, // 0034 LDCONST R5 K31 + 0x7C0C0400, // 0035 CALL R3 2 + 0x70020000, // 0036 JMP #0038 + 0x0004030F, // 0037 ADD R1 R1 K15 + 0x7001FFC7, // 0038 JMP #0001 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _backoff_time +********************************************************************/ +be_local_closure(class_Matter_UDPServer__backoff_time, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_const_int(1), + /* K1 */ be_const_int(0), + }), + be_str_weak(power_int), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x240C0301, // 0001 GT R3 R1 K1 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x08080400, // 0003 MUL R2 R2 R0 + 0x04040300, // 0004 SUB R1 R1 K0 + 0x7001FFFA, // 0005 JMP #0001 + 0x80040400, // 0006 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(_backoff_time), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x5804002E, // 0000 LDCONST R1 K46 + 0x84080000, // 0001 CLOSURE R2 P0 + 0xA40E5E00, // 0002 IMPORT R3 K47 + 0x5412012B, // 0003 LDINT R4 300 + 0x6014000A, // 0004 GETGBL R5 G10 + 0x8C180730, // 0005 GETMET R6 R3 K48 + 0x7C180200, // 0006 CALL R6 1 + 0x541E00FE, // 0007 LDINT R7 255 + 0x2C180C07, // 0008 AND R6 R6 R7 + 0x7C140200, // 0009 CALL R5 1 + 0x541A00FE, // 000A LDINT R6 255 + 0x0C140A06, // 000B DIV R5 R5 R6 + 0x24180109, // 000C GT R6 R0 K9 + 0x781A0001, // 000D JMPF R6 #0010 + 0x0418010F, // 000E SUB R6 R0 K15 + 0x70020000, // 000F JMP #0011 + 0x58180009, // 0010 LDCONST R6 K9 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x58200031, // 0012 LDCONST R8 K49 + 0x5C240C00, // 0013 MOVE R9 R6 + 0x7C1C0400, // 0014 CALL R7 2 + 0x081C0807, // 0015 MUL R7 R4 R7 + 0x08200B33, // 0016 MUL R8 R5 K51 + 0x00226408, // 0017 ADD R8 K50 R8 + 0x081C0E08, // 0018 MUL R7 R7 R8 + 0x60200009, // 0019 GETGBL R8 G9 + 0x5C240E00, // 001A MOVE R9 R7 + 0x7C200200, // 001B CALL R8 1 + 0x80041000, // 001C RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: loop +********************************************************************/ +be_local_closure(class_Matter_UDPServer_loop, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(loop), + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88040334, // 0001 GETMBR R1 R1 K52 + 0x58080009, // 0002 LDCONST R2 K9 + 0x880C0111, // 0003 GETMBR R3 R0 K17 + 0x4C100000, // 0004 LDNIL R4 + 0x1C0C0604, // 0005 EQ R3 R3 R4 + 0x780E0000, // 0006 JMPF R3 #0008 + 0x80000600, // 0007 RET 0 + 0x880C0111, // 0008 GETMBR R3 R0 K17 + 0x8C0C0735, // 0009 GETMET R3 R3 K53 + 0x88140136, // 000A GETMBR R5 R0 K54 + 0x7C0C0400, // 000B CALL R3 2 + 0x4C100000, // 000C LDNIL R4 + 0x20100604, // 000D NE R4 R3 R4 + 0x78120028, // 000E JMPF R4 #0038 + 0x8C100337, // 000F GETMET R4 R1 K55 + 0x7C100200, // 0010 CALL R4 1 + 0x90026C03, // 0011 SETMBR R0 K54 R3 + 0x0008050F, // 0012 ADD R2 R2 K15 + 0x88100111, // 0013 GETMBR R4 R0 K17 + 0x8810091B, // 0014 GETMBR R4 R4 K27 + 0x88140111, // 0015 GETMBR R5 R0 K17 + 0x88140B1C, // 0016 GETMBR R5 R5 K28 + 0xB81A1600, // 0017 GETNGBL R6 K11 + 0x8C180D0C, // 0018 GETMET R6 R6 K12 + 0x54220003, // 0019 LDINT R8 4 + 0x7C180400, // 001A CALL R6 2 + 0x781A0007, // 001B JMPF R6 #0024 + 0xB81A1A00, // 001C GETNGBL R6 K13 + 0x601C0018, // 001D GETGBL R7 G24 + 0x58200038, // 001E LDCONST R8 K56 + 0x5C240800, // 001F MOVE R9 R4 + 0x5C280A00, // 0020 MOVE R10 R5 + 0x7C1C0600, // 0021 CALL R7 3 + 0x54220003, // 0022 LDINT R8 4 + 0x7C180400, // 0023 CALL R6 2 + 0x88180118, // 0024 GETMBR R6 R0 K24 + 0x781A0004, // 0025 JMPF R6 #002B + 0x8C180118, // 0026 GETMET R6 R0 K24 + 0x5C200600, // 0027 MOVE R8 R3 + 0x5C240800, // 0028 MOVE R9 R4 + 0x5C280A00, // 0029 MOVE R10 R5 + 0x7C180800, // 002A CALL R6 4 + 0x8C180339, // 002B GETMET R6 R1 K57 + 0x5820003A, // 002C LDCONST R8 K58 + 0x7C180400, // 002D CALL R6 2 + 0x8818013B, // 002E GETMBR R6 R0 K59 + 0x14180406, // 002F LT R6 R2 R6 + 0x781A0004, // 0030 JMPF R6 #0036 + 0x88180111, // 0031 GETMBR R6 R0 K17 + 0x8C180D35, // 0032 GETMET R6 R6 K53 + 0x7C180200, // 0033 CALL R6 1 + 0x5C0C0C00, // 0034 MOVE R3 R6 + 0x70020000, // 0035 JMP #0037 + 0x4C0C0000, // 0036 LDNIL R3 + 0x7001FFD3, // 0037 JMP #000C + 0x8C10013C, // 0038 GETMET R4 R0 K60 + 0x7C100200, // 0039 CALL R4 1 + 0x80000000, // 003A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_UDPServer_every_second, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UDPServer, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_UDPServer +********************************************************************/ +be_local_class(Matter_UDPServer, + 9, + NULL, + be_nested_map(22, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_UDPServer_every_50ms_closure) }, + { be_const_key_weak(send_UDP, -1), be_const_closure(class_Matter_UDPServer_send_UDP_closure) }, + { be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_UDPServer_received_ack_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_UDPServer_every_second_closure) }, + { be_const_key_weak(stop, 18), be_const_closure(class_Matter_UDPServer_stop_closure) }, + { be_const_key_weak(start, 4), be_const_closure(class_Matter_UDPServer_start_closure) }, + { be_const_key_weak(listening, -1), be_const_var(3) }, + { be_const_key_weak(send, -1), be_const_closure(class_Matter_UDPServer_send_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_Matter_UDPServer_loop_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPServer_init_closure) }, + { be_const_key_weak(udp_socket, 6), be_const_var(4) }, + { be_const_key_weak(packet, -1), be_const_var(8) }, + { be_const_key_weak(_backoff_time, -1), be_const_static_closure(class_Matter_UDPServer__backoff_time_closure) }, + { be_const_key_weak(_resend_packets, -1), be_const_closure(class_Matter_UDPServer__resend_packets_closure) }, + { be_const_key_weak(addr, -1), be_const_var(0) }, + { be_const_key_weak(dispatch_cb, 8), be_const_var(5) }, + { be_const_key_weak(port, 12), be_const_var(1) }, + { be_const_key_weak(packets_sent, -1), be_const_var(6) }, + { be_const_key_weak(device, -1), be_const_var(2) }, + { be_const_key_weak(loop_cb, -1), be_const_var(7) }, + { be_const_key_weak(MAX_PACKETS_READ, -1), be_const_int(4) }, + { be_const_key_weak(RETRIES, 3), be_const_int(5) }, + })), + be_str_weak(Matter_UDPServer) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UI.h new file mode 100644 index 000000000..eb9a0bee3 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_UI.h @@ -0,0 +1,3182 @@ +/* Solidification of Matter_UI.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_UI; +// compact class 'Matter_UI' ktab size: 232, total: 361 (saved 1032 bytes) +static const bvalue be_ktab_class_Matter_UI[232] = { + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(device), + /* K2 */ be_nested_str_weak(commissioning), + /* K3 */ be_nested_str_weak(commissioning_open), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(millis), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(content_send), + /* K8 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BCommissioning_X20open_X20for_X20_X25i_X20min_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K9 */ be_nested_str_weak(compute_manual_pairing_code), + /* K10 */ be_nested_str_weak(_X3Cp_X3EManual_X20pairing_X20code_X3A_X3Cbr_X3E_X3Cb_X3E_X25s_X2D_X25s_X2D_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Chr_X3E), + /* K11 */ be_const_int(3), + /* K12 */ be_const_int(2147483647), + /* K13 */ be_nested_str_weak(_X3Cdiv_X3E_X3Ccenter_X3E), + /* K14 */ be_nested_str_weak(compute_qrcode_content), + /* K15 */ be_nested_str_weak(show_qrcode), + /* K16 */ be_nested_str_weak(_X3Cp_X3E_X20_X25s_X3C_X2Fp_X3E), + /* K17 */ be_nested_str_weak(_X3C_X2Fdiv_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K18 */ be_nested_str_weak(contains), + /* K19 */ be_nested_str_weak(POWER), + /* K20 */ be_const_int(1), + /* K21 */ be_nested_str_weak(HSBColor), + /* K22 */ be_nested_str_weak(CT), + /* K23 */ be_nested_str_weak(Dimmer), + /* K24 */ be_nested_str_weak(push), + /* K25 */ be_nested_str_weak(type), + /* K26 */ be_nested_str_weak(light0), + /* K27 */ be_nested_str_weak(relay), + /* K28 */ be_nested_str_weak(stop_iteration), + /* K29 */ be_nested_str_weak(light1), + /* K30 */ be_nested_str_weak(light2), + /* K31 */ be_nested_str_weak(light3), + /* K32 */ be_nested_str_weak(autoconf), + /* K33 */ be_nested_str_weak(autoconf_sensors_list), + /* K34 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BFabrics_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3Cp_X3EAssociated_X20fabrics_X3A_X3C_X2Fp_X3E), + /* K35 */ be_nested_str_weak(sessions), + /* K36 */ be_nested_str_weak(_X3Cp_X3E_X3Cb_X3ENone_X3C_X2Fb_X3E_X3C_X2Fp_X3E), + /* K37 */ be_nested_str_weak(fabrics), + /* K38 */ be_nested_str_weak(persistables), + /* K39 */ be_nested_str_weak(_X3Chr_X3E), + /* K40 */ be_nested_str_weak(fabric_label), + /* K41 */ be_nested_str_weak(_X3CNo_X20label_X3E), + /* K42 */ be_nested_str_weak(html_escape), + /* K43 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3B_X23_X25i_X20_X25s_X3C_X2Fb_X3E_X20_X28_X25s_X29_X26nbsp_X3B_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K44 */ be_nested_str_weak(get_fabric_index), + /* K45 */ be_nested_str_weak(get_admin_vendor_name), + /* K46 */ be_nested_str_weak(get_fabric_id), + /* K47 */ be_nested_str_weak(copy), + /* K48 */ be_nested_str_weak(reverse), + /* K49 */ be_nested_str_weak(get_device_id), + /* K50 */ be_nested_str_weak(Fabric_X3A_X20_X25s_X3Cbr_X3E), + /* K51 */ be_nested_str_weak(tohex), + /* K52 */ be_nested_str_weak(Device_X3A_X20_X25s_X3Cbr_X3E_X26nbsp_X3B), + /* K53 */ be_nested_str_weak(_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X20onsubmit_X3D_X27return_X20confirm_X28_X22Are_X20you_X20sure_X3F_X22_X29_X3B_X27_X3E), + /* K54 */ be_nested_str_weak(_X3Cinput_X20name_X3D_X27del_fabric_X27_X20type_X3D_X27hidden_X27_X20value_X3D_X27_X25i_X27_X3E), + /* K55 */ be_nested_str_weak(_X3Cbutton_X20name_X3D_X27del_X27_X20class_X3D_X27button_X20bgrn_X27_X3EDelete_X20Fabric_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K56 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K57 */ be_nested_str_weak(_X20), + /* K58 */ be_nested_str_weak(_XE2_X96_X84), + /* K59 */ be_nested_str_weak(_XE2_X96_X80), + /* K60 */ be_nested_str_weak(_XE2_X96_X88), + /* K61 */ be_nested_str_weak(matter), + /* K62 */ be_nested_str_weak(QRCode), + /* K63 */ be_nested_str_weak(encode_str), + /* K64 */ be_nested_str_weak(bitmap), + /* K65 */ be_nested_str_weak(size), + /* K66 */ be_nested_str_weak(_X3Cstyle_X3E_X2Eqr_X7Bfont_X2Dfamily_X3Amonospace_X3B_X20margin_X3A0_X3B_X20padding_X3A0_X3B_X20white_X2Dspace_X3Apre_X3B_X20font_X2Dsize_X3A18px_X3B_X20color_X3A_X23fff_X3B_X20line_X2Dheight_X3A100_X25_X3B_X7D_X3C_X2Fstyle_X3E), + /* K67 */ be_nested_str_weak(_X3Cdiv_X20style_X3D_X27transform_X3Ascale_X28_X2E8_X2C1_X29_X3B_X20display_X3Ainline_X2Dblock_X3B_X27_X3E), + /* K68 */ be_nested_str_weak(_X3Cdiv_X20class_X3D_X27qr_X27_X3E), + /* K69 */ be_nested_str_weak(), + /* K70 */ be_nested_str_weak(_X3C_X2Fdiv_X3E), + /* K71 */ be_const_int(2), + /* K72 */ be_nested_str_weak(_X3Cdiv_X20class_X3D_X27qr_X27_X20style_X3D_X27background_X2Dcolor_X3A_X23000_X3B_X27_X3E), + /* K73 */ be_nested_str_weak(_X2F_X3Cdiv_X3E), + /* K74 */ be_nested_str_weak(matter_enabled), + /* K75 */ be_nested_str_weak(count_active_fabrics), + /* K76 */ be_nested_str_weak(_X3Cdiv_X20style_X3D_X27text_X2Dalign_X3Aright_X3Bfont_X2Dsize_X3A11px_X3Bcolor_X3A_X23aaa_X3Bpadding_X3A0px_X3B_X27_X3E_X25s_X3C_X2Fdiv_X3E), + /* K77 */ be_nested_str_weak(Matter_X3A_X20No_X20active_X20association), + /* K78 */ be_nested_str_weak(Matter_X3A_X20), + /* K79 */ be_nested_str_weak(_X20active_X20association), + /* K80 */ be_nested_str_weak(s), + /* K81 */ be_nested_str_weak(show_bridge_status), + /* K82 */ be_nested_str_weak(is_root_commissioning_open), + /* K83 */ be_nested_str_weak(show_commissioning_info), + /* K84 */ be_nested_str_weak(check_privileged_access), + /* K85 */ be_nested_str_weak(content_start), + /* K86 */ be_nested_str_weak(Matter), + /* K87 */ be_nested_str_weak(content_send_style), + /* K88 */ be_nested_str_weak(show_enable), + /* K89 */ be_nested_str_weak(show_plugins_configuration), + /* K90 */ be_nested_str_weak(_X3Cdiv_X20style_X3D_X27display_X3A_X20block_X3B_X27_X3E_X3C_X2Fdiv_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3Cform_X20id_X3D_X27butmat_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27mattera_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X20name_X3D_X27_X27_X3EAdvanced_X20Configuration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E), + /* K91 */ be_nested_str_weak(content_button), + /* K92 */ be_nested_str_weak(BUTTON_CONFIGURATION), + /* K93 */ be_nested_str_weak(content_stop), + /* K94 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BMatter_X20Advanced_X20Configuration_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X20onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E_X3Cp_X3EPasscode_X3A_X3C_X2Fp_X3E), + /* K95 */ be_nested_str_weak(_X3Cinput_X20type_X3D_X27number_X27_X20min_X3D_X271_X27_X20max_X3D_X2799999998_X27_X20name_X3D_X27passcode_X27_X20value_X3D_X27_X25i_X27_X3E), + /* K96 */ be_nested_str_weak(root_passcode), + /* K97 */ be_nested_str_weak(_X3Cp_X3EDistinguish_X20id_X3A_X3C_X2Fp_X3E), + /* K98 */ be_nested_str_weak(_X3Cinput_X20type_X3D_X27number_X27_X20min_X3D_X270_X27_X20max_X3D_X274095_X27_X20name_X3D_X27discriminator_X27_X20value_X3D_X27_X25i_X27_X3E), + /* K99 */ be_nested_str_weak(root_discriminator), + /* K100 */ be_nested_str_weak(ipv4only), + /* K101 */ be_nested_str_weak(_X20checked), + /* K102 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27ipv4_X27_X25s_X3EIPv4_X20only_X3C_X2Fp_X3E), + /* K103 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27passcode_X27_X20class_X3D_X27button_X20bgrn_X27_X3EChange_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K104 */ be_nested_str_weak(json), + /* K105 */ be_nested_str_weak(string), + /* K106 */ be_nested_str_weak(split), + /* K107 */ be_nested_str_weak(_X7C), + /* K108 */ be_nested_str_weak(plugins_classes), + /* K109 */ be_nested_str_weak(find), + /* K110 */ be_nested_str_weak(ARG_HINT), + /* K111 */ be_nested_str_weak(_X3Cscript_X20type_X3D_X27text_X2Fjavascript_X27_X3Evar_X20hm_X3D_X25s_X3Bvar_X20hl_X3D_X25s_X3B_X3C_X2Fscript_X3E), + /* K112 */ be_nested_str_weak(dump), + /* K113 */ be_nested_str_weak(_ADD_ENDPOINT_JS), + /* K114 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BMatter_X20_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X20style_X3D_X27width_X3A320px_X3B_X27_X3ECheck_X20the_X20_X3Ca_X20href_X3D_X27https_X3A_X2F_X2Ftasmota_X2Egithub_X2Eio_X2Fdocs_X2FMatter_X2F_X27_X20target_X3D_X27_blank_X27_X3EMatter_X20documentation_X3C_X2Fa_X3E_X2E_X3C_X2Fp_X3E_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X3E), + /* K115 */ be_nested_str_weak(checked), + /* K116 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27menable_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27menable_X27_X20_X25s_X3E), + /* K117 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27menable_X27_X3E_X3Cb_X3EMatter_X20enable_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), + /* K118 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E), + /* K119 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), + /* K120 */ be_nested_str_weak(disable_bridge_mode), + /* K121 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27nobridge_X27_X25s_X3E_X3Cb_X3EForce_X20Static_X20endpoints_X3C_X2Fb_X3E_X20_X28non_X2Dbridge_X29_X3C_X2Fp_X3E), + /* K122 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27save_X27_X20class_X3D_X27button_X20bgrn_X27_X3ESave_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K123 */ be_const_class(be_class_Matter_UI), + /* K124 */ be_nested_str_weak(keys), + /* K125 */ be_nested_str_weak(has_arg), + /* K126 */ be_nested_str_weak(mtc0), + /* K127 */ be_nested_str_weak(stop_basic_commissioning), + /* K128 */ be_nested_str_weak(mtc1), + /* K129 */ be_nested_str_weak(start_root_basic_commissioning), + /* K130 */ be_nested_str_weak(introspect), + /* K131 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BCurrent_X20Configuration_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K132 */ be_nested_str_weak(_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X3E_X3Cp_X3E_X3Cb_X3ELocal_X20sensors_X20and_X20devices_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E), + /* K133 */ be_nested_str_weak(_X3Ctr_X3E_X3Ctd_X20width_X3D_X2725_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X23_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X2778_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EName_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X27115_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EType_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EParameter_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X2715_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K134 */ be_nested_str_weak(plugins_config), + /* K135 */ be_nested_str_weak(remove), + /* K136 */ be_nested_str_weak(0), + /* K137 */ be_nested_str_weak(k2l_num), + /* K138 */ be_nested_str_weak(http_), + /* K139 */ be_nested_str_weak(ui_conf_to_string), + /* K140 */ be_nested_str_weak(_X3Ctr_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3E_X25i_X3C_X2Fb_X3E_X3C_X2Ftd_X3E), + /* K141 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27nam_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X25s_X27_X3E_X3C_X2Ftd_X3E), + /* K142 */ be_nested_str_weak(name), + /* K143 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Ftd_X3E), + /* K144 */ be_nested_str_weak(plugin_name), + /* K145 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27arg_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X25s_X27_X20placeholder_X3D_X27_X25s_X27_X20title_X3D_X27_X25s_X27_X3E_X3C_X2Ftd_X3E), + /* K146 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27text_X2Dalign_X3Acenter_X3B_X27_X3E_X3Cbutton_X20name_X3D_X27del_X25i_X27_X20title_X3D_X27Delete_X20Endpoint_X20_X25i_X27_X20style_X3D_X27background_X3Anone_X3Bborder_X3Anone_X3Bline_X2Dheight_X3A1_X3B_X27_X20onclick_X3D_X22return_X20confirm_X28_X27Confirm_X20removing_X20endpoint_X20_X25i_X27_X29_X22_X3E_X26_X23128293_X3B_X3C_X2Fbutton_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K147 */ be_nested_str_weak(_X3C_X2Ftable_X3E), + /* K148 */ be_nested_str_weak(_X3Cp_X3E_X26lt_X3Bnone_X26gt_X3B_X3C_X2Fp_X3E), + /* K149 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E), + /* K150 */ be_nested_str_weak(url), + /* K151 */ be_nested_str_weak(sort_distinct), + /* K152 */ be_nested_str_weak(get_plugin_remote_info), + /* K153 */ be_nested_str_weak(_X26_X23x1F517_X3B_X20_X3Ca_X20target_X3D_X27_blank_X27_X20title_X3D_X27http_X3A_X2F_X2F_X25s_X2F_X27_X20href_X3D_X22http_X3A_X2F_X2F_X25s_X2F_X3F_X22_X3E_X25s_X3C_X2Fa_X3E), + /* K154 */ be_nested_str_weak(_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E_X3Ctr_X3E_X3Ctd_X20width_X3D_X2725_X27_X3E_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X2778_X27_X3E_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X27115_X27_X3E_X3C_X2Ftd_X3E_X3Ctd_X3E_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X2715_X27_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K155 */ be_nested_str_weak(_X3Ctr_X3E_X3Ctd_X20width_X3D_X2722_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3E_X25i_X3C_X2Fb_X3E_X3C_X2Ftd_X3E), + /* K156 */ be_nested_str_weak(_X3Ctd_X20width_X3D_X2778_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27nam_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X25s_X27_X20placeholder_X3D_X27_X28optional_X29_X27_X3E_X3C_X2Ftd_X3E), + /* K157 */ be_nested_str_weak(_X3Ctd_X20width_X3D_X27115_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fselect_X3E_X3C_X2Ftd_X3E), + /* K158 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27arg_X25i_X27_X20size_X3D_X278_X27_X20value_X3D_X27_X25s_X27_X20title_X3D_X27_X25s_X27_X3E_X3C_X2Ftd_X3E), + /* K159 */ be_nested_str_weak(_X3Ctd_X20width_X3D_X2715_X27_X20style_X3D_X27text_X2Dalign_X3Acenter_X3B_X27_X3E_X3Cbutton_X20name_X3D_X27del_X25i_X27_X20style_X3D_X27background_X3Anone_X3Bborder_X3Anone_X3Bline_X2Dheight_X3A1_X3B_X27_X20onclick_X3D_X22return_X20confirm_X28_X27Confirm_X20removing_X20endpoint_X27_X29_X22_X3E_X26_X23128293_X3B_X3C_X2Fbutton_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K160 */ be_nested_str_weak(_X3C_X2Ftable_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K161 */ be_nested_str_weak(_X3Cbutton_X20name_X3D_X27config_X27_X20class_X3D_X27button_X20bgrn_X27_X3EChange_X20configuration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E), + /* K162 */ be_nested_str_weak(zigbee), + /* K163 */ be_nested_str_weak(show_plugins_hints_js), + /* K164 */ be_nested_str_weak(_CLASSES_TYPES_STD), + /* K165 */ be_nested_str_weak(_CLASSES_TYPES), + /* K166 */ be_nested_str_weak(_CLASSES_TYPES_VIRTUAL), + /* K167 */ be_nested_str_long(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BAdd_X20to_X20Configuration_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3EAdd_X20local_X20sensor_X20or_X20device_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X3E_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E_X3Ctr_X3E_X3Ctd_X20width_X3D_X27100_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EName_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X27115_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EType_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EParameter_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E_X3Ctr_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27nam_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X27_X20placeholder_X3D_X27_X28optional_X29_X27_X20title_X3D_X27_X27_X3E_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cselect_X20id_X3D_X27pi_X27_X20name_X3D_X27pi_X27_X20onchange_X3D_X27otm_X28_X22arg_X22_X2Cthis_X2Evalue_X29_X27_X3E), + /* K168 */ be_nested_str_weak(plugin_option), + /* K169 */ be_nested_str_long(_X3C_X2Fselect_X3E_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20id_X3D_X27arg_X27_X20name_X3D_X27arg_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X27_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E_X3C_X2Ftable_X3E_X3Cdiv_X20style_X3D_X27display_X3A_X20block_X3B_X27_X3E_X3C_X2Fdiv_X3E_X3Cbutton_X20name_X3D_X27addep_X27_X20class_X3D_X27button_X20bgrn_X27_X3ECreate_X20new_X20endpoint_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3Chr_X3E_X3Cp_X3E_X3Cb_X3EAdd_X20Remote_X20Tasmota_X20or_X20OpenBK_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Cform_X20action_X3D_X27_X2Fmatteradd_X27_X20method_X3D_X27get_X27_X3E_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E_X3Ctr_X3E_X3Ctd_X20width_X3D_X2730_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3Ehttp_X3A_X2F_X2F_X3C_X2Fb_X3E_X3C_X2Ftd_X3E_X3Ctd_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27url_X27_X20size_X3D_X278_X27_X20value_X3D_X27_X27_X20required_X20placeholder_X3D_X27IP_X20or_X20domain_X27_X3E_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X2710_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cb_X3E_X2F_X3C_X2Fb_X3E_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E_X3C_X2Ftr_X3E_X3C_X2Ftable_X3E_X3Cdiv_X20style_X3D_X27display_X3A_X20block_X3B_X27_X3E_X3C_X2Fdiv_X3E_X3Cbutton_X20class_X3D_X27button_X20bgrn_X27_X3EAuto_X2Dconfigure_X20remote_X20Tasmota_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3Chr_X3E_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20RESET_X20the_X20configuration_X20to_X20the_X20default_X2E_X20You_X20will_X20need_X20to_X20associate_X20again_X2E_X22_X29_X3B_X27_X3E_X3Cbutton_X20name_X3D_X27auto_X27_X20class_X3D_X27button_X20bred_X27_X3EReset_X20all_X20and_X20Auto_X2Ddiscover_X3C_X2Fbutton_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Fform_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E), + /* K170 */ be_nested_str_weak(plugins), + /* K171 */ be_nested_str_weak(BRIDGE), + /* K172 */ be_nested_str_weak(http_remote), + /* K173 */ be_nested_str_weak(addr), + /* K174 */ be_nested_str_weak(_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E), + /* K175 */ be_nested_str_weak(_STYLESHEET), + /* K176 */ be_nested_str_weak(k2l), + /* K177 */ be_nested_str_weak(_X3Ctr_X20class_X3D_X27ztdm_X20htrm_X27_X3E_X3Ctd_X3E_X26_X23x1F517_X3B_X20_X3Ca_X20target_X3D_X27_blank_X27_X20title_X3D_X27http_X3A_X2F_X2F_X25s_X2F_X27_X20href_X3D_X22http_X3A_X2F_X2F_X25s_X2F_X3F_X22_X27_X3E_X25s_X3C_X2Fa_X3E_X3C_X2Ftd_X3E), + /* K178 */ be_nested_str_weak(web_last_seen), + /* K179 */ be_nested_str_weak(_X3Ctr_X20class_X3D_X27htrm_X27_X3E_X3Ctd_X20colspan_X3D_X272_X27_X3E), + /* K180 */ be_nested_str_weak(web_values), + /* K181 */ be_nested_str_weak(_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K182 */ be_nested_str_weak(_X3C_X2Ftable_X3E_X3Chr_X3E), + /* K183 */ be_nested_str_weak(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27matterc_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E), + /* K184 */ be_nested_str_weak(_LOGO), + /* K185 */ be_nested_str_weak(_X20Matter_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E), + /* K186 */ be_nested_str_weak(get_plugin_class_displayname), + /* K187 */ be_nested_str_weak(Matter_X20Advanced_X20Configuration), + /* K188 */ be_nested_str_weak(show_passcode_form), + /* K189 */ be_nested_str_weak(show_fabric_info), + /* K190 */ be_nested_str_weak(web_add_config_button), + /* K191 */ be_nested_str_weak(Matter_X20Create_X20new_X20endpoint), + /* K192 */ be_nested_str_weak(arg), + /* K193 */ be_nested_str_weak(show_remote_autoconf), + /* K194 */ be_nested_str_weak(on), + /* K195 */ be_nested_str_weak(_X2Fmatterc), + /* K196 */ be_nested_str_weak(HTTP_GET), + /* K197 */ be_nested_str_weak(HTTP_POST), + /* K198 */ be_nested_str_weak(_X2Fmattera), + /* K199 */ be_nested_str_weak(_X2Fmatteradd), + /* K200 */ be_nested_str_weak(add_driver), + /* K201 */ be_nested_str_weak(_X3Coption_X20value_X3D_X27_X27_X3E_X3C_X2Foption_X3E), + /* K202 */ be_nested_str_weak(_X2Dvirtual), + /* K203 */ be_nested_str_weak(_X3Coption_X20value_X3D_X27_X27_X20disabled_X3E_X2D_X2D_X2D_X20Virtual_X20Devices_X20_X2D_X2D_X2D_X3C_X2Foption_X3E), + /* K204 */ be_nested_str_weak(_X2Dzigbee), + /* K205 */ be_nested_str_weak(_X3Coption_X20value_X3D_X27_X27_X20disabled_X3E_X2D_X2D_X2D_X20Zigbee_X20Devices_X20_X2D_X2D_X2D_X3C_X2Foption_X3E), + /* K206 */ be_nested_str_weak(_X3Coption_X20value_X3D_X27_X25s_X27_X25s_X3E_X25s_X3C_X2Foption_X3E), + /* K207 */ be_nested_str_weak(_X20selected), + /* K208 */ be_nested_str_weak(Plugin_Device), + /* K209 */ be_nested_str_weak(PROBE_TIMEOUT), + /* K210 */ be_nested_str_weak(HTTP_remote), + /* K211 */ be_nested_str_weak(call_sync), + /* K212 */ be_nested_str_weak(Status_X2010), + /* K213 */ be_nested_str_weak(load), + /* K214 */ be_nested_str_weak(StatusSNS), + /* K215 */ be_nested_str_weak(Status_X2011), + /* K216 */ be_nested_str_weak(StatusSTS), + /* K217 */ be_nested_str_weak(log), + /* K218 */ be_nested_str_weak(MTR_X3A_X20probed_X20_X27_X25s_X27_X20status10_X3D_X25s_X20satus11_X3D_X25s), + /* K219 */ be_nested_str_weak(generate_config_from_status), + /* K220 */ be_nested_str_weak(_CLASSES_TYPES2), + /* K221 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BMatter_X20Remote_X20Device_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3EAdd_X20Remote_X20sensor_X20or_X20device_X3C_X2Fb_X3E_X3C_X2Fp_X3E), + /* K222 */ be_nested_str_weak(_X3Cp_X3E_X26_X23x1F517_X3B_X20_X3Ca_X20target_X3D_X27_blank_X27_X20href_X3D_X22http_X3A_X2F_X2F_X25s_X2F_X3F_X22_X3E_X25s_X3C_X2Fa_X3E_X3C_X2Fp_X3E), + /* K223 */ be_nested_str_weak(_X3Cform_X20action_X3D_X27_X2Fmatterc_X27_X20method_X3D_X27post_X27_X3E_X3Ctable_X20style_X3D_X27width_X3A100_X25_X27_X3E_X3Ctr_X3E_X3Ctd_X20width_X3D_X27100_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EName_X3C_X2Ftd_X3E_X3Ctd_X20width_X3D_X27115_X27_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EType_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3EParameter_X3C_X2Ftd_X3E_X3C_X2Ftr_X3E), + /* K224 */ be_nested_str_weak(_X3Cinput_X20name_X3D_X27url_X27_X20type_X3D_X27hidden_X27_X20value_X3D_X27_X25s_X27_X3E), + /* K225 */ be_nested_str_weak(_X3Ctr_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cinput_X20type_X3D_X27text_X27_X20name_X3D_X27nam_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X27_X20placeholder_X3D_X27_X28optional_X29_X27_X3E_X3C_X2Ftd_X3E), + /* K226 */ be_nested_str_weak(_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E_X3Cselect_X20name_X3D_X27pi_X25i_X27_X20onchange_X3D_X27otm_X28_X22arg_X25i_X22_X2Cthis_X2Evalue_X29_X27_X3E), + /* K227 */ be_nested_str_weak(_X3C_X2Fselect_X3E_X3C_X2Ftd_X3E_X3Ctd_X20style_X3D_X27font_X2Dsize_X3Asmaller_X3B_X27_X3E), + /* K228 */ be_nested_str_weak(_X3Cinput_X20type_X3D_X27text_X27_X20id_X3D_X27arg_X25i_X27_X20name_X3D_X27arg_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X25s_X27_X20placeholder_X3D_X27_X25s_X27_X20title_X3D_X27_X25s_X27_X3E), + /* K229 */ be_nested_str_weak(_X3Cinput_X20type_X3D_X27text_X27_X20id_X3D_X27arg_X25i_X27_X20name_X3D_X27arg_X25i_X27_X20size_X3D_X271_X27_X20value_X3D_X27_X25s_X27_X3E), + /* K230 */ be_nested_str_weak(_X3C_X2Ftable_X3E_X3Cdiv_X20style_X3D_X27display_X3A_X20block_X3B_X27_X3E_X3C_X2Fdiv_X3E_X3Cbutton_X20name_X3D_X27addrem_X27_X20class_X3D_X27button_X20bgrn_X27_X3EAdd_X20endpoints_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fform_X3E_X3C_X2Ffieldset_X3E), + /* K231 */ be_nested_str_weak(_X3Cp_X3E_X3Cb_X3EUnable_X20to_X20connect_X20to_X20_X27_X25s_X27_X3C_X2Fb_X3E_X3C_X2Fp_X3E), +}; + + +extern const bclass be_class_Matter_UI; + +/******************************************************************** +** Solidified function: show_commissioning_info +********************************************************************/ +be_local_closure(class_Matter_UI_show_commissioning_info, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_commissioning_info), + &be_const_str_solidified, + ( &(const binstruction[61]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x88080502, // 0002 GETMBR R2 R2 K2 + 0x88080503, // 0003 GETMBR R2 R2 K3 + 0xB80E0800, // 0004 GETNGBL R3 K4 + 0x8C0C0705, // 0005 GETMET R3 R3 K5 + 0x7C0C0200, // 0006 CALL R3 1 + 0x04080403, // 0007 SUB R2 R2 R3 + 0x540E03E7, // 0008 LDINT R3 1000 + 0x0C080403, // 0009 DIV R2 R2 R3 + 0x140C0506, // 000A LT R3 R2 K6 + 0x780E0000, // 000B JMPF R3 #000D + 0x58080006, // 000C LDCONST R2 K6 + 0x540E001D, // 000D LDINT R3 30 + 0x000C0403, // 000E ADD R3 R2 R3 + 0x5412003B, // 000F LDINT R4 60 + 0x0C0C0604, // 0010 DIV R3 R3 R4 + 0x8C100307, // 0011 GETMET R4 R1 K7 + 0x60180018, // 0012 GETGBL R6 G24 + 0x581C0008, // 0013 LDCONST R7 K8 + 0x5C200600, // 0014 MOVE R8 R3 + 0x7C180400, // 0015 CALL R6 2 + 0x7C100400, // 0016 CALL R4 2 + 0x88100101, // 0017 GETMBR R4 R0 K1 + 0x88100902, // 0018 GETMBR R4 R4 K2 + 0x8C100909, // 0019 GETMET R4 R4 K9 + 0x7C100200, // 001A CALL R4 1 + 0x8C140307, // 001B GETMET R5 R1 K7 + 0x601C0018, // 001C GETGBL R7 G24 + 0x5820000A, // 001D LDCONST R8 K10 + 0x40260D0B, // 001E CONNECT R9 K6 K11 + 0x94240809, // 001F GETIDX R9 R4 R9 + 0x542A0003, // 0020 LDINT R10 4 + 0x542E0005, // 0021 LDINT R11 6 + 0x4028140B, // 0022 CONNECT R10 R10 R11 + 0x9428080A, // 0023 GETIDX R10 R4 R10 + 0x542E0006, // 0024 LDINT R11 7 + 0x402C170C, // 0025 CONNECT R11 R11 K12 + 0x942C080B, // 0026 GETIDX R11 R4 R11 + 0x7C1C0800, // 0027 CALL R7 4 + 0x7C140400, // 0028 CALL R5 2 + 0x8C140307, // 0029 GETMET R5 R1 K7 + 0x581C000D, // 002A LDCONST R7 K13 + 0x7C140400, // 002B CALL R5 2 + 0x88140101, // 002C GETMBR R5 R0 K1 + 0x88140B02, // 002D GETMBR R5 R5 K2 + 0x8C140B0E, // 002E GETMET R5 R5 K14 + 0x7C140200, // 002F CALL R5 1 + 0x8C18010F, // 0030 GETMET R6 R0 K15 + 0x5C200A00, // 0031 MOVE R8 R5 + 0x7C180400, // 0032 CALL R6 2 + 0x8C180307, // 0033 GETMET R6 R1 K7 + 0x60200018, // 0034 GETGBL R8 G24 + 0x58240010, // 0035 LDCONST R9 K16 + 0x5C280A00, // 0036 MOVE R10 R5 + 0x7C200400, // 0037 CALL R8 2 + 0x7C180400, // 0038 CALL R6 2 + 0x8C180307, // 0039 GETMET R6 R1 K7 + 0x58200011, // 003A LDCONST R8 K17 + 0x7C180400, // 003B CALL R6 2 + 0x80000000, // 003C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: generate_config_from_status +********************************************************************/ +be_local_closure(class_Matter_UI_generate_config_from_status, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(generate_config_from_status), + &be_const_str_solidified, + ( &(const binstruction[97]) { /* code */ + 0x600C0012, // 0000 GETGBL R3 G18 + 0x7C0C0000, // 0001 CALL R3 0 + 0x58100006, // 0002 LDCONST R4 K6 + 0x8C140512, // 0003 GETMET R5 R2 K18 + 0x581C0013, // 0004 LDCONST R7 K19 + 0x7C140400, // 0005 CALL R5 2 + 0x78160001, // 0006 JMPF R5 #0009 + 0x58100014, // 0007 LDCONST R4 K20 + 0x7002000E, // 0008 JMP #0018 + 0x58140014, // 0009 LDCONST R5 K20 + 0x50180200, // 000A LDBOOL R6 1 0 + 0x781A000B, // 000B JMPF R6 #0018 + 0x8C180512, // 000C GETMET R6 R2 K18 + 0x60200008, // 000D GETGBL R8 G8 + 0x5C240A00, // 000E MOVE R9 R5 + 0x7C200200, // 000F CALL R8 1 + 0x00222608, // 0010 ADD R8 K19 R8 + 0x7C180400, // 0011 CALL R6 2 + 0x781A0002, // 0012 JMPF R6 #0016 + 0x5C100A00, // 0013 MOVE R4 R5 + 0x00140B14, // 0014 ADD R5 R5 K20 + 0x70020000, // 0015 JMP #0017 + 0x70020000, // 0016 JMP #0018 + 0x7001FFF1, // 0017 JMP #000A + 0x4C140000, // 0018 LDNIL R5 + 0x4C180000, // 0019 LDNIL R6 + 0x4C1C0000, // 001A LDNIL R7 + 0x8C200512, // 001B GETMET R8 R2 K18 + 0x58280015, // 001C LDCONST R10 K21 + 0x7C200400, // 001D CALL R8 2 + 0x78220002, // 001E JMPF R8 #0022 + 0x5C1C0800, // 001F MOVE R7 R4 + 0x04100914, // 0020 SUB R4 R4 K20 + 0x7002000C, // 0021 JMP #002F + 0x8C200512, // 0022 GETMET R8 R2 K18 + 0x58280016, // 0023 LDCONST R10 K22 + 0x7C200400, // 0024 CALL R8 2 + 0x78220002, // 0025 JMPF R8 #0029 + 0x5C180800, // 0026 MOVE R6 R4 + 0x04100914, // 0027 SUB R4 R4 K20 + 0x70020005, // 0028 JMP #002F + 0x8C200512, // 0029 GETMET R8 R2 K18 + 0x58280017, // 002A LDCONST R10 K23 + 0x7C200400, // 002B CALL R8 2 + 0x78220001, // 002C JMPF R8 #002F + 0x5C140800, // 002D MOVE R5 R4 + 0x04100914, // 002E SUB R4 R4 K20 + 0x60200010, // 002F GETGBL R8 G16 + 0x40262804, // 0030 CONNECT R9 K20 R4 + 0x7C200200, // 0031 CALL R8 1 + 0xA8020008, // 0032 EXBLK 0 #003C + 0x5C241000, // 0033 MOVE R9 R8 + 0x7C240000, // 0034 CALL R9 0 + 0x8C280718, // 0035 GETMET R10 R3 K24 + 0x60300013, // 0036 GETGBL R12 G19 + 0x7C300000, // 0037 CALL R12 0 + 0x9832331A, // 0038 SETIDX R12 K25 K26 + 0x98323609, // 0039 SETIDX R12 K27 R9 + 0x7C280400, // 003A CALL R10 2 + 0x7001FFF6, // 003B JMP #0033 + 0x5820001C, // 003C LDCONST R8 K28 + 0xAC200200, // 003D CATCH R8 1 0 + 0xB0080000, // 003E RAISE 2 R0 R0 + 0x4C200000, // 003F LDNIL R8 + 0x20200A08, // 0040 NE R8 R5 R8 + 0x78220005, // 0041 JMPF R8 #0048 + 0x8C200718, // 0042 GETMET R8 R3 K24 + 0x60280013, // 0043 GETGBL R10 G19 + 0x7C280000, // 0044 CALL R10 0 + 0x982A331D, // 0045 SETIDX R10 K25 K29 + 0x982A3605, // 0046 SETIDX R10 K27 R5 + 0x7C200400, // 0047 CALL R8 2 + 0x4C200000, // 0048 LDNIL R8 + 0x20200C08, // 0049 NE R8 R6 R8 + 0x78220005, // 004A JMPF R8 #0051 + 0x8C200718, // 004B GETMET R8 R3 K24 + 0x60280013, // 004C GETGBL R10 G19 + 0x7C280000, // 004D CALL R10 0 + 0x982A331E, // 004E SETIDX R10 K25 K30 + 0x982A3606, // 004F SETIDX R10 K27 R6 + 0x7C200400, // 0050 CALL R8 2 + 0x4C200000, // 0051 LDNIL R8 + 0x20200E08, // 0052 NE R8 R7 R8 + 0x78220005, // 0053 JMPF R8 #005A + 0x8C200718, // 0054 GETMET R8 R3 K24 + 0x60280013, // 0055 GETGBL R10 G19 + 0x7C280000, // 0056 CALL R10 0 + 0x982A331F, // 0057 SETIDX R10 K25 K31 + 0x982A3607, // 0058 SETIDX R10 K27 R7 + 0x7C200400, // 0059 CALL R8 2 + 0x88200101, // 005A GETMBR R8 R0 K1 + 0x88201120, // 005B GETMBR R8 R8 K32 + 0x8C201121, // 005C GETMET R8 R8 K33 + 0x5C280200, // 005D MOVE R10 R1 + 0x7C200400, // 005E CALL R8 2 + 0x000C0608, // 005F ADD R3 R3 R8 + 0x80040600, // 0060 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_fabric_info +********************************************************************/ +be_local_closure(class_Matter_UI_show_fabric_info, /* name */ + be_nested_proto( + 14, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_fabric_info), + &be_const_str_solidified, + ( &(const binstruction[97]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080307, // 0001 GETMET R2 R1 K7 + 0x58100022, // 0002 LDCONST R4 K34 + 0x7C080400, // 0003 CALL R2 2 + 0x6008000C, // 0004 GETGBL R2 G12 + 0x880C0101, // 0005 GETMBR R3 R0 K1 + 0x880C0723, // 0006 GETMBR R3 R3 K35 + 0x880C0723, // 0007 GETMBR R3 R3 K35 + 0x7C080200, // 0008 CALL R2 1 + 0x1C080506, // 0009 EQ R2 R2 K6 + 0x780A0003, // 000A JMPF R2 #000F + 0x8C080307, // 000B GETMET R2 R1 K7 + 0x58100024, // 000C LDCONST R4 K36 + 0x7C080400, // 000D CALL R2 2 + 0x7002004D, // 000E JMP #005D + 0x50080200, // 000F LDBOOL R2 1 0 + 0x600C0010, // 0010 GETGBL R3 G16 + 0x88100101, // 0011 GETMBR R4 R0 K1 + 0x88100923, // 0012 GETMBR R4 R4 K35 + 0x88100925, // 0013 GETMBR R4 R4 K37 + 0x8C100926, // 0014 GETMET R4 R4 K38 + 0x7C100200, // 0015 CALL R4 1 + 0x7C0C0200, // 0016 CALL R3 1 + 0xA8020041, // 0017 EXBLK 0 #005A + 0x5C100600, // 0018 MOVE R4 R3 + 0x7C100000, // 0019 CALL R4 0 + 0x5C140400, // 001A MOVE R5 R2 + 0x74160002, // 001B JMPT R5 #001F + 0x8C140307, // 001C GETMET R5 R1 K7 + 0x581C0027, // 001D LDCONST R7 K39 + 0x7C140400, // 001E CALL R5 2 + 0x50080000, // 001F LDBOOL R2 0 0 + 0x88140928, // 0020 GETMBR R5 R4 K40 + 0x5C180A00, // 0021 MOVE R6 R5 + 0x741A0000, // 0022 JMPT R6 #0024 + 0x58140029, // 0023 LDCONST R5 K41 + 0x8C18032A, // 0024 GETMET R6 R1 K42 + 0x5C200A00, // 0025 MOVE R8 R5 + 0x7C180400, // 0026 CALL R6 2 + 0x5C140C00, // 0027 MOVE R5 R6 + 0x8C180307, // 0028 GETMET R6 R1 K7 + 0x60200018, // 0029 GETGBL R8 G24 + 0x5824002B, // 002A LDCONST R9 K43 + 0x8C28092C, // 002B GETMET R10 R4 K44 + 0x7C280200, // 002C CALL R10 1 + 0x5C2C0A00, // 002D MOVE R11 R5 + 0x8C30092D, // 002E GETMET R12 R4 K45 + 0x7C300200, // 002F CALL R12 1 + 0x7C200800, // 0030 CALL R8 4 + 0x7C180400, // 0031 CALL R6 2 + 0x8C18092E, // 0032 GETMET R6 R4 K46 + 0x7C180200, // 0033 CALL R6 1 + 0x8C180D2F, // 0034 GETMET R6 R6 K47 + 0x7C180200, // 0035 CALL R6 1 + 0x8C180D30, // 0036 GETMET R6 R6 K48 + 0x7C180200, // 0037 CALL R6 1 + 0x8C1C0931, // 0038 GETMET R7 R4 K49 + 0x7C1C0200, // 0039 CALL R7 1 + 0x8C1C0F2F, // 003A GETMET R7 R7 K47 + 0x7C1C0200, // 003B CALL R7 1 + 0x8C1C0F30, // 003C GETMET R7 R7 K48 + 0x7C1C0200, // 003D CALL R7 1 + 0x8C200307, // 003E GETMET R8 R1 K7 + 0x60280018, // 003F GETGBL R10 G24 + 0x582C0032, // 0040 LDCONST R11 K50 + 0x8C300D33, // 0041 GETMET R12 R6 K51 + 0x7C300200, // 0042 CALL R12 1 + 0x7C280400, // 0043 CALL R10 2 + 0x7C200400, // 0044 CALL R8 2 + 0x8C200307, // 0045 GETMET R8 R1 K7 + 0x60280018, // 0046 GETGBL R10 G24 + 0x582C0034, // 0047 LDCONST R11 K52 + 0x8C300F33, // 0048 GETMET R12 R7 K51 + 0x7C300200, // 0049 CALL R12 1 + 0x7C280400, // 004A CALL R10 2 + 0x7C200400, // 004B CALL R8 2 + 0x8C200307, // 004C GETMET R8 R1 K7 + 0x58280035, // 004D LDCONST R10 K53 + 0x7C200400, // 004E CALL R8 2 + 0x8C200307, // 004F GETMET R8 R1 K7 + 0x60280018, // 0050 GETGBL R10 G24 + 0x582C0036, // 0051 LDCONST R11 K54 + 0x8C30092C, // 0052 GETMET R12 R4 K44 + 0x7C300200, // 0053 CALL R12 1 + 0x7C280400, // 0054 CALL R10 2 + 0x7C200400, // 0055 CALL R8 2 + 0x8C200307, // 0056 GETMET R8 R1 K7 + 0x58280037, // 0057 LDCONST R10 K55 + 0x7C200400, // 0058 CALL R8 2 + 0x7001FFBD, // 0059 JMP #0018 + 0x580C001C, // 005A LDCONST R3 K28 + 0xAC0C0200, // 005B CATCH R3 1 0 + 0xB0080000, // 005C RAISE 2 R0 R0 + 0x8C080307, // 005D GETMET R2 R1 K7 + 0x58100038, // 005E LDCONST R4 K56 + 0x7C080400, // 005F CALL R2 2 + 0x80000000, // 0060 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_qrcode +********************************************************************/ +be_local_closure(class_Matter_UI_show_qrcode, /* name */ + be_nested_proto( + 18, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_qrcode), + &be_const_str_solidified, + ( &(const binstruction[120]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x580C0039, // 0001 LDCONST R3 K57 + 0x5810003A, // 0002 LDCONST R4 K58 + 0x5814003B, // 0003 LDCONST R5 K59 + 0x5818003C, // 0004 LDCONST R6 K60 + 0xB81E7A00, // 0005 GETNGBL R7 K61 + 0x881C0F3E, // 0006 GETMBR R7 R7 K62 + 0x8C1C0F3F, // 0007 GETMET R7 R7 K63 + 0x5C240200, // 0008 MOVE R9 R1 + 0x7C1C0400, // 0009 CALL R7 2 + 0x94200F40, // 000A GETIDX R8 R7 K64 + 0x94240F41, // 000B GETIDX R9 R7 K65 + 0x8C280507, // 000C GETMET R10 R2 K7 + 0x58300042, // 000D LDCONST R12 K66 + 0x7C280400, // 000E CALL R10 2 + 0x8C280507, // 000F GETMET R10 R2 K7 + 0x58300043, // 0010 LDCONST R12 K67 + 0x7C280400, // 0011 CALL R10 2 + 0x58280044, // 0012 LDCONST R10 K68 + 0x8C2C0507, // 0013 GETMET R11 R2 K7 + 0x5C341400, // 0014 MOVE R13 R10 + 0x7C2C0400, // 0015 CALL R11 2 + 0x58280045, // 0016 LDCONST R10 K69 + 0x602C0010, // 0017 GETGBL R11 G16 + 0x00301314, // 0018 ADD R12 R9 K20 + 0x40320C0C, // 0019 CONNECT R12 K6 R12 + 0x7C2C0200, // 001A CALL R11 1 + 0xA8020003, // 001B EXBLK 0 #0020 + 0x5C301600, // 001C MOVE R12 R11 + 0x7C300000, // 001D CALL R12 0 + 0x00281404, // 001E ADD R10 R10 R4 + 0x7001FFFB, // 001F JMP #001C + 0x582C001C, // 0020 LDCONST R11 K28 + 0xAC2C0200, // 0021 CATCH R11 1 0 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x00281546, // 0023 ADD R10 R10 K70 + 0x8C2C0507, // 0024 GETMET R11 R2 K7 + 0x5C341400, // 0025 MOVE R13 R10 + 0x7C2C0400, // 0026 CALL R11 2 + 0x602C0010, // 0027 GETGBL R11 G16 + 0x00301314, // 0028 ADD R12 R9 K20 + 0x0C301947, // 0029 DIV R12 R12 K71 + 0x04301914, // 002A SUB R12 R12 K20 + 0x40320C0C, // 002B CONNECT R12 K6 R12 + 0x7C2C0200, // 002C CALL R11 1 + 0xA802002E, // 002D EXBLK 0 #005D + 0x5C301600, // 002E MOVE R12 R11 + 0x7C300000, // 002F CALL R12 0 + 0x00369006, // 0030 ADD R13 K72 R6 + 0x5C281A00, // 0031 MOVE R10 R13 + 0x60340010, // 0032 GETGBL R13 G16 + 0x04381314, // 0033 SUB R14 R9 K20 + 0x403A0C0E, // 0034 CONNECT R14 K6 R14 + 0x7C340200, // 0035 CALL R13 1 + 0xA802001C, // 0036 EXBLK 0 #0054 + 0x5C381A00, // 0037 MOVE R14 R13 + 0x7C380000, // 0038 CALL R14 0 + 0x083C1947, // 0039 MUL R15 R12 K71 + 0x943C100F, // 003A GETIDX R15 R8 R15 + 0x943C1E0E, // 003B GETIDX R15 R15 R14 + 0x1C3C1F39, // 003C EQ R15 R15 K57 + 0x08401947, // 003D MUL R16 R12 K71 + 0x00402114, // 003E ADD R16 R16 K20 + 0x14402009, // 003F LT R16 R16 R9 + 0x78420005, // 0040 JMPF R16 #0047 + 0x08401947, // 0041 MUL R16 R12 K71 + 0x00402114, // 0042 ADD R16 R16 K20 + 0x94401010, // 0043 GETIDX R16 R8 R16 + 0x9440200E, // 0044 GETIDX R16 R16 R14 + 0x1C402139, // 0045 EQ R16 R16 K57 + 0x70020000, // 0046 JMP #0048 + 0x50400200, // 0047 LDBOOL R16 1 0 + 0x783E0004, // 0048 JMPF R15 #004E + 0x78420001, // 0049 JMPF R16 #004C + 0x5C440C00, // 004A MOVE R17 R6 + 0x70020000, // 004B JMP #004D + 0x5C440A00, // 004C MOVE R17 R5 + 0x70020003, // 004D JMP #0052 + 0x78420001, // 004E JMPF R16 #0051 + 0x5C440800, // 004F MOVE R17 R4 + 0x70020000, // 0050 JMP #0052 + 0x5C440600, // 0051 MOVE R17 R3 + 0x00281411, // 0052 ADD R10 R10 R17 + 0x7001FFE2, // 0053 JMP #0037 + 0x5834001C, // 0054 LDCONST R13 K28 + 0xAC340200, // 0055 CATCH R13 1 0 + 0xB0080000, // 0056 RAISE 2 R0 R0 + 0x00281406, // 0057 ADD R10 R10 R6 + 0x00281546, // 0058 ADD R10 R10 K70 + 0x8C340507, // 0059 GETMET R13 R2 K7 + 0x5C3C1400, // 005A MOVE R15 R10 + 0x7C340400, // 005B CALL R13 2 + 0x7001FFD0, // 005C JMP #002E + 0x582C001C, // 005D LDCONST R11 K28 + 0xAC2C0200, // 005E CATCH R11 1 0 + 0xB0080000, // 005F RAISE 2 R0 R0 + 0x102C1347, // 0060 MOD R11 R9 K71 + 0x1C2C1706, // 0061 EQ R11 R11 K6 + 0x782E0010, // 0062 JMPF R11 #0074 + 0x58280048, // 0063 LDCONST R10 K72 + 0x602C0010, // 0064 GETGBL R11 G16 + 0x00301314, // 0065 ADD R12 R9 K20 + 0x40320C0C, // 0066 CONNECT R12 K6 R12 + 0x7C2C0200, // 0067 CALL R11 1 + 0xA8020003, // 0068 EXBLK 0 #006D + 0x5C301600, // 0069 MOVE R12 R11 + 0x7C300000, // 006A CALL R12 0 + 0x00281405, // 006B ADD R10 R10 R5 + 0x7001FFFB, // 006C JMP #0069 + 0x582C001C, // 006D LDCONST R11 K28 + 0xAC2C0200, // 006E CATCH R11 1 0 + 0xB0080000, // 006F RAISE 2 R0 R0 + 0x00281549, // 0070 ADD R10 R10 K73 + 0x8C2C0507, // 0071 GETMET R11 R2 K7 + 0x5C341400, // 0072 MOVE R13 R10 + 0x7C2C0400, // 0073 CALL R11 2 + 0x8C2C0507, // 0074 GETMET R11 R2 K7 + 0x58340046, // 0075 LDCONST R13 K70 + 0x7C2C0400, // 0076 CALL R11 2 + 0x80000000, // 0077 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_sensor +********************************************************************/ +be_local_closure(class_Matter_UI_web_sensor, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(web_sensor), + &be_const_str_solidified, + ( &(const binstruction[49]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8808014A, // 0001 GETMBR R2 R0 K74 + 0x780A002C, // 0002 JMPF R2 #0030 + 0x88080101, // 0003 GETMBR R2 R0 K1 + 0x88080523, // 0004 GETMBR R2 R2 K35 + 0x4C0C0000, // 0005 LDNIL R3 + 0x20080403, // 0006 NE R2 R2 R3 + 0x780A0004, // 0007 JMPF R2 #000D + 0x88080101, // 0008 GETMBR R2 R0 K1 + 0x88080523, // 0009 GETMBR R2 R2 K35 + 0x8C08054B, // 000A GETMET R2 R2 K75 + 0x7C080200, // 000B CALL R2 1 + 0x70020000, // 000C JMP #000E + 0x58080006, // 000D LDCONST R2 K6 + 0x1C0C0506, // 000E EQ R3 R2 K6 + 0x780E0006, // 000F JMPF R3 #0017 + 0x8C0C0307, // 0010 GETMET R3 R1 K7 + 0x60140018, // 0011 GETGBL R5 G24 + 0x5818004C, // 0012 LDCONST R6 K76 + 0x581C004D, // 0013 LDCONST R7 K77 + 0x7C140400, // 0014 CALL R5 2 + 0x7C0C0400, // 0015 CALL R3 2 + 0x7002000F, // 0016 JMP #0027 + 0x240C0514, // 0017 GT R3 R2 K20 + 0x8C100307, // 0018 GETMET R4 R1 K7 + 0x60180018, // 0019 GETGBL R6 G24 + 0x581C004C, // 001A LDCONST R7 K76 + 0x60200008, // 001B GETGBL R8 G8 + 0x5C240400, // 001C MOVE R9 R2 + 0x7C200200, // 001D CALL R8 1 + 0x00229C08, // 001E ADD R8 K78 R8 + 0x0020114F, // 001F ADD R8 R8 K79 + 0x780E0001, // 0020 JMPF R3 #0023 + 0x58240050, // 0021 LDCONST R9 K80 + 0x70020000, // 0022 JMP #0024 + 0x58240045, // 0023 LDCONST R9 K69 + 0x00201009, // 0024 ADD R8 R8 R9 + 0x7C180400, // 0025 CALL R6 2 + 0x7C100400, // 0026 CALL R4 2 + 0x8C0C0151, // 0027 GETMET R3 R0 K81 + 0x7C0C0200, // 0028 CALL R3 1 + 0x880C0101, // 0029 GETMBR R3 R0 K1 + 0x880C0702, // 002A GETMBR R3 R3 K2 + 0x8C0C0752, // 002B GETMET R3 R3 K82 + 0x7C0C0200, // 002C CALL R3 1 + 0x780E0001, // 002D JMPF R3 #0030 + 0x8C0C0153, // 002E GETMET R3 R0 K83 + 0x7C0C0200, // 002F CALL R3 1 + 0x80000000, // 0030 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_part_ctl +********************************************************************/ +be_local_closure(class_Matter_UI_page_part_ctl, /* name */ + be_nested_proto( + 23, /* nstack */ + 1, /* argc */ + 18, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[103]) { /* constants */ + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(check_privileged_access), + /* K2 */ be_nested_str_weak(string), + /* K3 */ be_nested_str_weak(partition_core), + /* K4 */ be_nested_str_weak(persist), + /* K5 */ be_nested_str_weak(has_arg), + /* K6 */ be_nested_str_weak(passcode), + /* K7 */ be_nested_str_weak(discriminator), + /* K8 */ be_nested_str_weak(log), + /* K9 */ be_nested_str_weak(MTR_X3A_X20_X2Fmatterc_X20received_X20_X27_X25s_X27_X20command), + /* K10 */ be_const_int(3), + /* K11 */ be_nested_str_weak(device), + /* K12 */ be_nested_str_weak(root_passcode), + /* K13 */ be_nested_str_weak(arg), + /* K14 */ be_nested_str_weak(root_discriminator), + /* K15 */ be_nested_str_weak(ipv4only), + /* K16 */ be_nested_str_weak(ipv4), + /* K17 */ be_nested_str_weak(on), + /* K18 */ be_nested_str_weak(save_param), + /* K19 */ be_nested_str_weak(redirect), + /* K20 */ be_nested_str_weak(_X2F_X3Frst_X3D), + /* K21 */ be_nested_str_weak(save), + /* K22 */ be_nested_str_weak(menable), + /* K23 */ be_nested_str_weak(comm), + /* K24 */ be_nested_str_weak(nobridge), + /* K25 */ be_nested_str_weak(disable_bridge_mode), + /* K26 */ be_nested_str_weak(matter_enabled), + /* K27 */ be_nested_str_weak(enable), + /* K28 */ be_nested_str_weak(tasmota), + /* K29 */ be_nested_str_weak(cmd), + /* K30 */ be_nested_str_weak(SetOption), + /* K31 */ be_nested_str_weak(matter), + /* K32 */ be_nested_str_weak(MATTER_OPTION), + /* K33 */ be_nested_str_weak(_X201), + /* K34 */ be_nested_str_weak(disable), + /* K35 */ be_nested_str_weak(_X200), + /* K36 */ be_nested_str_weak(commissioning), + /* K37 */ be_nested_str_weak(commissioning_open), + /* K38 */ be_nested_str_weak(start_root_basic_commissioning), + /* K39 */ be_nested_str_weak(stop_basic_commissioning), + /* K40 */ be_nested_str_weak(_X2F), + /* K41 */ be_nested_str_weak(del_fabric), + /* K42 */ be_const_int(0), + /* K43 */ be_nested_str_weak(sessions), + /* K44 */ be_nested_str_weak(fabrics), + /* K45 */ be_nested_str_weak(get_fabric_index), + /* K46 */ be_nested_str_weak(remove_fabric), + /* K47 */ be_const_int(1), + /* K48 */ be_nested_str_weak(_X2Fmattera_X3F), + /* K49 */ be_nested_str_weak(auto), + /* K50 */ be_nested_str_weak(reset_param), + /* K51 */ be_nested_str_weak(config), + /* K52 */ be_nested_str_weak(arg_size), + /* K53 */ be_nested_str_weak(arg_name), + /* K54 */ be_nested_str_weak(find), + /* K55 */ be_const_int(2147483647), + /* K56 */ be_nested_str_weak(plugins_config), + /* K57 */ be_nested_str_weak(plugins_classes), + /* K58 */ be_nested_str_weak(type), + /* K59 */ be_nested_str_weak(), + /* K60 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s), + /* K61 */ be_nested_str_weak(ui_conf_to_string), + /* K62 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s), + /* K63 */ be_nested_str_weak(changed), + /* K64 */ be_nested_str_weak(ui_string_to_conf), + /* K65 */ be_nested_str_weak(find_plugin_by_endpoint), + /* K66 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), + /* K67 */ be_nested_str_weak(parse_configuration), + /* K68 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found), + /* K69 */ be_nested_str_weak(nam), + /* K70 */ be_nested_str_weak(name), + /* K71 */ be_nested_str_weak(set_name), + /* K72 */ be_nested_str_weak(remove), + /* K73 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), + /* K74 */ be_nested_str_weak(stop_iteration), + /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s), + /* K76 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s), + /* K77 */ be_nested_str_weak(plugins_persist), + /* K78 */ be_nested_str_weak(_X2Fmatterc_X3F), + /* K79 */ be_nested_str_weak(addep), + /* K80 */ be_nested_str_weak(pi), + /* K81 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K82 */ be_nested_str_weak(bridge_add_endpoint), + /* K83 */ be_nested_str_weak(addrem), + /* K84 */ be_nested_str_weak(url), + /* K85 */ be_nested_str_weak(value_error), + /* K86 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null), + /* K87 */ be_nested_str_weak(equal_map), + /* K88 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K89 */ be_nested_str_weak(del), + /* K90 */ be_nested_str_weak(bridge_remove_endpoint), + /* K91 */ be_nested_str_weak(content_start), + /* K92 */ be_nested_str_weak(Parameter_X20error), + /* K93 */ be_nested_str_weak(content_send_style), + /* K94 */ be_nested_str_weak(content_send), + /* K95 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E), + /* K96 */ be_nested_str_weak(html_escape), + /* K97 */ be_nested_str_weak(content_button), + /* K98 */ be_nested_str_weak(BUTTON_CONFIGURATION), + /* K99 */ be_nested_str_weak(content_stop), + /* K100 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K101 */ be_const_int(2), + /* K102 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E), + }), + be_str_weak(page_part_ctl), + &be_const_str_solidified, + ( &(const binstruction[658]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0001, // 0003 JMPT R2 #0006 + 0x4C080000, // 0004 LDNIL R2 + 0x80040400, // 0005 RET 1 R2 + 0xA40A0400, // 0006 IMPORT R2 K2 + 0xA40E0600, // 0007 IMPORT R3 K3 + 0xA4120800, // 0008 IMPORT R4 K4 + 0x4C140000, // 0009 LDNIL R5 + 0xA8020268, // 000A EXBLK 0 #0274 + 0x8C180305, // 000B GETMET R6 R1 K5 + 0x58200006, // 000C LDCONST R8 K6 + 0x7C180400, // 000D CALL R6 2 + 0x741A0003, // 000E JMPT R6 #0013 + 0x8C180305, // 000F GETMET R6 R1 K5 + 0x58200007, // 0010 LDCONST R8 K7 + 0x7C180400, // 0011 CALL R6 2 + 0x781A0029, // 0012 JMPF R6 #003D + 0xB81A1000, // 0013 GETNGBL R6 K8 + 0x601C0018, // 0014 GETGBL R7 G24 + 0x58200009, // 0015 LDCONST R8 K9 + 0x58240006, // 0016 LDCONST R9 K6 + 0x7C1C0400, // 0017 CALL R7 2 + 0x5820000A, // 0018 LDCONST R8 K10 + 0x7C180400, // 0019 CALL R6 2 + 0x8C180305, // 001A GETMET R6 R1 K5 + 0x58200006, // 001B LDCONST R8 K6 + 0x7C180400, // 001C CALL R6 2 + 0x781A0006, // 001D JMPF R6 #0025 + 0x8818010B, // 001E GETMBR R6 R0 K11 + 0x601C0009, // 001F GETGBL R7 G9 + 0x8C20030D, // 0020 GETMET R8 R1 K13 + 0x58280006, // 0021 LDCONST R10 K6 + 0x7C200400, // 0022 CALL R8 2 + 0x7C1C0200, // 0023 CALL R7 1 + 0x901A1807, // 0024 SETMBR R6 K12 R7 + 0x8C180305, // 0025 GETMET R6 R1 K5 + 0x58200007, // 0026 LDCONST R8 K7 + 0x7C180400, // 0027 CALL R6 2 + 0x781A0006, // 0028 JMPF R6 #0030 + 0x8818010B, // 0029 GETMBR R6 R0 K11 + 0x601C0009, // 002A GETGBL R7 G9 + 0x8C20030D, // 002B GETMET R8 R1 K13 + 0x58280007, // 002C LDCONST R10 K7 + 0x7C200400, // 002D CALL R8 2 + 0x7C1C0200, // 002E CALL R7 1 + 0x901A1C07, // 002F SETMBR R6 K14 R7 + 0x8818010B, // 0030 GETMBR R6 R0 K11 + 0x8C1C030D, // 0031 GETMET R7 R1 K13 + 0x58240010, // 0032 LDCONST R9 K16 + 0x7C1C0400, // 0033 CALL R7 2 + 0x1C1C0F11, // 0034 EQ R7 R7 K17 + 0x901A1E07, // 0035 SETMBR R6 K15 R7 + 0x8818010B, // 0036 GETMBR R6 R0 K11 + 0x8C180D12, // 0037 GETMET R6 R6 K18 + 0x7C180200, // 0038 CALL R6 1 + 0x8C180313, // 0039 GETMET R6 R1 K19 + 0x58200014, // 003A LDCONST R8 K20 + 0x7C180400, // 003B CALL R6 2 + 0x70020221, // 003C JMP #025F + 0x8C180305, // 003D GETMET R6 R1 K5 + 0x58200015, // 003E LDCONST R8 K21 + 0x7C180400, // 003F CALL R6 2 + 0x781A0054, // 0040 JMPF R6 #0096 + 0x8C180305, // 0041 GETMET R6 R1 K5 + 0x58200016, // 0042 LDCONST R8 K22 + 0x7C180400, // 0043 CALL R6 2 + 0x8C1C0305, // 0044 GETMET R7 R1 K5 + 0x58240017, // 0045 LDCONST R9 K23 + 0x7C1C0400, // 0046 CALL R7 2 + 0x8C20030D, // 0047 GETMET R8 R1 K13 + 0x58280018, // 0048 LDCONST R10 K24 + 0x7C200400, // 0049 CALL R8 2 + 0x1C201111, // 004A EQ R8 R8 K17 + 0x8824010B, // 004B GETMBR R9 R0 K11 + 0x88241319, // 004C GETMBR R9 R9 K25 + 0x20241208, // 004D NE R9 R9 R8 + 0x78260004, // 004E JMPF R9 #0054 + 0x8824010B, // 004F GETMBR R9 R0 K11 + 0x90263208, // 0050 SETMBR R9 K25 R8 + 0x8824010B, // 0051 GETMBR R9 R0 K11 + 0x8C241312, // 0052 GETMET R9 R9 K18 + 0x7C240200, // 0053 CALL R9 1 + 0x8824011A, // 0054 GETMBR R9 R0 K26 + 0x20240C09, // 0055 NE R9 R6 R9 + 0x78260025, // 0056 JMPF R9 #007D + 0x781A0010, // 0057 JMPF R6 #0069 + 0xB8261000, // 0058 GETNGBL R9 K8 + 0x60280018, // 0059 GETGBL R10 G24 + 0x582C0009, // 005A LDCONST R11 K9 + 0x5830001B, // 005B LDCONST R12 K27 + 0x7C280400, // 005C CALL R10 2 + 0x582C000A, // 005D LDCONST R11 K10 + 0x7C240400, // 005E CALL R9 2 + 0xB8263800, // 005F GETNGBL R9 K28 + 0x8C24131D, // 0060 GETMET R9 R9 K29 + 0x602C0008, // 0061 GETGBL R11 G8 + 0xB8323E00, // 0062 GETNGBL R12 K31 + 0x88301920, // 0063 GETMBR R12 R12 K32 + 0x7C2C0200, // 0064 CALL R11 1 + 0x002E3C0B, // 0065 ADD R11 K30 R11 + 0x002C1721, // 0066 ADD R11 R11 K33 + 0x7C240400, // 0067 CALL R9 2 + 0x7002000F, // 0068 JMP #0079 + 0xB8261000, // 0069 GETNGBL R9 K8 + 0x60280018, // 006A GETGBL R10 G24 + 0x582C0009, // 006B LDCONST R11 K9 + 0x58300022, // 006C LDCONST R12 K34 + 0x7C280400, // 006D CALL R10 2 + 0x582C000A, // 006E LDCONST R11 K10 + 0x7C240400, // 006F CALL R9 2 + 0xB8263800, // 0070 GETNGBL R9 K28 + 0x8C24131D, // 0071 GETMET R9 R9 K29 + 0x602C0008, // 0072 GETGBL R11 G8 + 0xB8323E00, // 0073 GETNGBL R12 K31 + 0x88301920, // 0074 GETMBR R12 R12 K32 + 0x7C2C0200, // 0075 CALL R11 1 + 0x002E3C0B, // 0076 ADD R11 K30 R11 + 0x002C1723, // 0077 ADD R11 R11 K35 + 0x7C240400, // 0078 CALL R9 2 + 0x8C240313, // 0079 GETMET R9 R1 K19 + 0x582C0014, // 007A LDCONST R11 K20 + 0x7C240400, // 007B CALL R9 2 + 0x70020017, // 007C JMP #0095 + 0x8824010B, // 007D GETMBR R9 R0 K11 + 0x88241324, // 007E GETMBR R9 R9 K36 + 0x88241325, // 007F GETMBR R9 R9 K37 + 0x4C280000, // 0080 LDNIL R10 + 0x2024120A, // 0081 NE R9 R9 R10 + 0x20240E09, // 0082 NE R9 R7 R9 + 0x7826000D, // 0083 JMPF R9 #0092 + 0x781E0004, // 0084 JMPF R7 #008A + 0x8824010B, // 0085 GETMBR R9 R0 K11 + 0x88241324, // 0086 GETMBR R9 R9 K36 + 0x8C241326, // 0087 GETMET R9 R9 K38 + 0x7C240200, // 0088 CALL R9 1 + 0x70020003, // 0089 JMP #008E + 0x8824010B, // 008A GETMBR R9 R0 K11 + 0x88241324, // 008B GETMBR R9 R9 K36 + 0x8C241327, // 008C GETMET R9 R9 K39 + 0x7C240200, // 008D CALL R9 1 + 0x8C240313, // 008E GETMET R9 R1 K19 + 0x582C0028, // 008F LDCONST R11 K40 + 0x7C240400, // 0090 CALL R9 2 + 0x70020002, // 0091 JMP #0095 + 0x8C240313, // 0092 GETMET R9 R1 K19 + 0x582C0028, // 0093 LDCONST R11 K40 + 0x7C240400, // 0094 CALL R9 2 + 0x700201C8, // 0095 JMP #025F + 0x8C180305, // 0096 GETMET R6 R1 K5 + 0x58200029, // 0097 LDCONST R8 K41 + 0x7C180400, // 0098 CALL R6 2 + 0x781A0025, // 0099 JMPF R6 #00C0 + 0xB81A1000, // 009A GETNGBL R6 K8 + 0x601C0018, // 009B GETGBL R7 G24 + 0x58200009, // 009C LDCONST R8 K9 + 0x58240029, // 009D LDCONST R9 K41 + 0x7C1C0400, // 009E CALL R7 2 + 0x5820000A, // 009F LDCONST R8 K10 + 0x7C180400, // 00A0 CALL R6 2 + 0x60180009, // 00A1 GETGBL R6 G9 + 0x8C1C030D, // 00A2 GETMET R7 R1 K13 + 0x58240029, // 00A3 LDCONST R9 K41 + 0x7C1C0400, // 00A4 CALL R7 2 + 0x7C180200, // 00A5 CALL R6 1 + 0x581C002A, // 00A6 LDCONST R7 K42 + 0x8820010B, // 00A7 GETMBR R8 R0 K11 + 0x8820112B, // 00A8 GETMBR R8 R8 K43 + 0x8820112C, // 00A9 GETMBR R8 R8 K44 + 0x6024000C, // 00AA GETGBL R9 G12 + 0x5C281000, // 00AB MOVE R10 R8 + 0x7C240200, // 00AC CALL R9 1 + 0x14240E09, // 00AD LT R9 R7 R9 + 0x7826000C, // 00AE JMPF R9 #00BC + 0x94241007, // 00AF GETIDX R9 R8 R7 + 0x8C24132D, // 00B0 GETMET R9 R9 K45 + 0x7C240200, // 00B1 CALL R9 1 + 0x1C241206, // 00B2 EQ R9 R9 R6 + 0x78260005, // 00B3 JMPF R9 #00BA + 0x8824010B, // 00B4 GETMBR R9 R0 K11 + 0x8C24132E, // 00B5 GETMET R9 R9 K46 + 0x942C1007, // 00B6 GETIDX R11 R8 R7 + 0x7C240400, // 00B7 CALL R9 2 + 0x70020002, // 00B8 JMP #00BC + 0x70020000, // 00B9 JMP #00BB + 0x001C0F2F, // 00BA ADD R7 R7 K47 + 0x7001FFED, // 00BB JMP #00AA + 0x8C240313, // 00BC GETMET R9 R1 K19 + 0x582C0030, // 00BD LDCONST R11 K48 + 0x7C240400, // 00BE CALL R9 2 + 0x7002019E, // 00BF JMP #025F + 0x8C180305, // 00C0 GETMET R6 R1 K5 + 0x58200031, // 00C1 LDCONST R8 K49 + 0x7C180400, // 00C2 CALL R6 2 + 0x781A000D, // 00C3 JMPF R6 #00D2 + 0xB81A1000, // 00C4 GETNGBL R6 K8 + 0x601C0018, // 00C5 GETGBL R7 G24 + 0x58200009, // 00C6 LDCONST R8 K9 + 0x58240031, // 00C7 LDCONST R9 K49 + 0x7C1C0400, // 00C8 CALL R7 2 + 0x5820000A, // 00C9 LDCONST R8 K10 + 0x7C180400, // 00CA CALL R6 2 + 0x8818010B, // 00CB GETMBR R6 R0 K11 + 0x8C180D32, // 00CC GETMET R6 R6 K50 + 0x7C180200, // 00CD CALL R6 1 + 0x8C180313, // 00CE GETMET R6 R1 K19 + 0x58200014, // 00CF LDCONST R8 K20 + 0x7C180400, // 00D0 CALL R6 2 + 0x7002018C, // 00D1 JMP #025F + 0x8C180305, // 00D2 GETMET R6 R1 K5 + 0x58200033, // 00D3 LDCONST R8 K51 + 0x7C180400, // 00D4 CALL R6 2 + 0x781A00CE, // 00D5 JMPF R6 #01A5 + 0xB81A1000, // 00D6 GETNGBL R6 K8 + 0x601C0018, // 00D7 GETGBL R7 G24 + 0x58200009, // 00D8 LDCONST R8 K9 + 0x58240033, // 00D9 LDCONST R9 K51 + 0x7C1C0400, // 00DA CALL R7 2 + 0x5820000A, // 00DB LDCONST R8 K10 + 0x7C180400, // 00DC CALL R6 2 + 0x50180000, // 00DD LDBOOL R6 0 0 + 0x601C0010, // 00DE GETGBL R7 G16 + 0x8C200334, // 00DF GETMET R8 R1 K52 + 0x7C200200, // 00E0 CALL R8 1 + 0x0420112F, // 00E1 SUB R8 R8 K47 + 0x40225408, // 00E2 CONNECT R8 K42 R8 + 0x7C1C0200, // 00E3 CALL R7 1 + 0xA802009B, // 00E4 EXBLK 0 #0181 + 0x5C200E00, // 00E5 MOVE R8 R7 + 0x7C200000, // 00E6 CALL R8 0 + 0x8C240335, // 00E7 GETMET R9 R1 K53 + 0x5C2C1000, // 00E8 MOVE R11 R8 + 0x7C240400, // 00E9 CALL R9 2 + 0x8C280536, // 00EA GETMET R10 R2 K54 + 0x5C301200, // 00EB MOVE R12 R9 + 0x5834000D, // 00EC LDCONST R13 K13 + 0x7C280600, // 00ED CALL R10 3 + 0x1C28152A, // 00EE EQ R10 R10 K42 + 0x782A0057, // 00EF JMPF R10 #0148 + 0x60280009, // 00F0 GETGBL R10 G9 + 0x402E1537, // 00F1 CONNECT R11 K10 K55 + 0x942C120B, // 00F2 GETIDX R11 R9 R11 + 0x7C280200, // 00F3 CALL R10 1 + 0x8C2C030D, // 00F4 GETMET R11 R1 K13 + 0x5C341000, // 00F5 MOVE R13 R8 + 0x7C2C0400, // 00F6 CALL R11 2 + 0x8830010B, // 00F7 GETMBR R12 R0 K11 + 0x88301938, // 00F8 GETMBR R12 R12 K56 + 0x8C301936, // 00F9 GETMET R12 R12 K54 + 0x60380008, // 00FA GETGBL R14 G8 + 0x5C3C1400, // 00FB MOVE R15 R10 + 0x7C380200, // 00FC CALL R14 1 + 0x7C300400, // 00FD CALL R12 2 + 0x4C340000, // 00FE LDNIL R13 + 0x2034180D, // 00FF NE R13 R12 R13 + 0x7836003E, // 0100 JMPF R13 #0140 + 0x8834010B, // 0101 GETMBR R13 R0 K11 + 0x88341B39, // 0102 GETMBR R13 R13 K57 + 0x8C341B36, // 0103 GETMET R13 R13 K54 + 0x8C3C1936, // 0104 GETMET R15 R12 K54 + 0x5844003A, // 0105 LDCONST R17 K58 + 0x5848003B, // 0106 LDCONST R18 K59 + 0x7C3C0600, // 0107 CALL R15 3 + 0x7C340400, // 0108 CALL R13 2 + 0x4C380000, // 0109 LDNIL R14 + 0x20381A0E, // 010A NE R14 R13 R14 + 0x783A0032, // 010B JMPF R14 #013F + 0xB83A1000, // 010C GETNGBL R14 K8 + 0x603C0018, // 010D GETGBL R15 G24 + 0x5840003C, // 010E LDCONST R16 K60 + 0x5C441400, // 010F MOVE R17 R10 + 0x5C481600, // 0110 MOVE R18 R11 + 0x7C3C0600, // 0111 CALL R15 3 + 0x5840000A, // 0112 LDCONST R16 K10 + 0x7C380400, // 0113 CALL R14 2 + 0x8C381B3D, // 0114 GETMET R14 R13 K61 + 0x5C401A00, // 0115 MOVE R16 R13 + 0x5C441800, // 0116 MOVE R17 R12 + 0x7C380600, // 0117 CALL R14 3 + 0x203C1C0B, // 0118 NE R15 R14 R11 + 0xB8421000, // 0119 GETNGBL R16 K8 + 0x60440018, // 011A GETGBL R17 G24 + 0x5848003E, // 011B LDCONST R18 K62 + 0x5C4C1400, // 011C MOVE R19 R10 + 0x5C501C00, // 011D MOVE R20 R14 + 0x5C541600, // 011E MOVE R21 R11 + 0x20581C0B, // 011F NE R22 R14 R11 + 0x785A0001, // 0120 JMPF R22 #0123 + 0x5858003F, // 0121 LDCONST R22 K63 + 0x70020000, // 0122 JMP #0124 + 0x5858003B, // 0123 LDCONST R22 K59 + 0x7C440A00, // 0124 CALL R17 5 + 0x5848000A, // 0125 LDCONST R18 K10 + 0x7C400400, // 0126 CALL R16 2 + 0x783E0016, // 0127 JMPF R15 #013F + 0x50180200, // 0128 LDBOOL R6 1 0 + 0x8C401B40, // 0129 GETMET R16 R13 K64 + 0x5C481A00, // 012A MOVE R18 R13 + 0x5C4C1800, // 012B MOVE R19 R12 + 0x5C501600, // 012C MOVE R20 R11 + 0x7C400800, // 012D CALL R16 4 + 0x8840010B, // 012E GETMBR R16 R0 K11 + 0x8C402141, // 012F GETMET R16 R16 K65 + 0x5C481400, // 0130 MOVE R18 R10 + 0x7C400400, // 0131 CALL R16 2 + 0x7842000B, // 0132 JMPF R16 #013F + 0xB8461000, // 0133 GETNGBL R17 K8 + 0x60480018, // 0134 GETGBL R18 G24 + 0x584C0042, // 0135 LDCONST R19 K66 + 0x5C501800, // 0136 MOVE R20 R12 + 0x5C541400, // 0137 MOVE R21 R10 + 0x5C582000, // 0138 MOVE R22 R16 + 0x7C480800, // 0139 CALL R18 4 + 0x584C000A, // 013A LDCONST R19 K10 + 0x7C440400, // 013B CALL R17 2 + 0x8C442143, // 013C GETMET R17 R16 K67 + 0x5C4C1800, // 013D MOVE R19 R12 + 0x7C440400, // 013E CALL R17 2 + 0x70020006, // 013F JMP #0147 + 0xB8361000, // 0140 GETNGBL R13 K8 + 0x60380018, // 0141 GETGBL R14 G24 + 0x583C0044, // 0142 LDCONST R15 K68 + 0x5C401400, // 0143 MOVE R16 R10 + 0x7C380400, // 0144 CALL R14 2 + 0x583C000A, // 0145 LDCONST R15 K10 + 0x7C340400, // 0146 CALL R13 2 + 0x70020037, // 0147 JMP #0180 + 0x8C280536, // 0148 GETMET R10 R2 K54 + 0x5C301200, // 0149 MOVE R12 R9 + 0x58340045, // 014A LDCONST R13 K69 + 0x7C280600, // 014B CALL R10 3 + 0x1C28152A, // 014C EQ R10 R10 K42 + 0x782A0031, // 014D JMPF R10 #0180 + 0x60280009, // 014E GETGBL R10 G9 + 0x402E1537, // 014F CONNECT R11 K10 K55 + 0x942C120B, // 0150 GETIDX R11 R9 R11 + 0x7C280200, // 0151 CALL R10 1 + 0x8C2C030D, // 0152 GETMET R11 R1 K13 + 0x5C341000, // 0153 MOVE R13 R8 + 0x7C2C0400, // 0154 CALL R11 2 + 0x8830010B, // 0155 GETMBR R12 R0 K11 + 0x88301938, // 0156 GETMBR R12 R12 K56 + 0x8C301936, // 0157 GETMET R12 R12 K54 + 0x60380008, // 0158 GETGBL R14 G8 + 0x5C3C1400, // 0159 MOVE R15 R10 + 0x7C380200, // 015A CALL R14 1 + 0x7C300400, // 015B CALL R12 2 + 0x4C340000, // 015C LDNIL R13 + 0x2034180D, // 015D NE R13 R12 R13 + 0x78360020, // 015E JMPF R13 #0180 + 0x8C341936, // 015F GETMET R13 R12 K54 + 0x583C0046, // 0160 LDCONST R15 K70 + 0x5840003B, // 0161 LDCONST R16 K59 + 0x7C340600, // 0162 CALL R13 3 + 0x20381A0B, // 0163 NE R14 R13 R11 + 0x783A001A, // 0164 JMPF R14 #0180 + 0x50180200, // 0165 LDBOOL R6 1 0 + 0x883C010B, // 0166 GETMBR R15 R0 K11 + 0x8C3C1F41, // 0167 GETMET R15 R15 K65 + 0x5C441400, // 0168 MOVE R17 R10 + 0x7C3C0400, // 0169 CALL R15 2 + 0x783E0014, // 016A JMPF R15 #0180 + 0x8C401F47, // 016B GETMET R16 R15 K71 + 0x5C481600, // 016C MOVE R18 R11 + 0x7C400400, // 016D CALL R16 2 + 0x782E0001, // 016E JMPF R11 #0171 + 0x98328C0B, // 016F SETIDX R12 K70 R11 + 0x70020002, // 0170 JMP #0174 + 0x8C401948, // 0171 GETMET R16 R12 K72 + 0x58480046, // 0172 LDCONST R18 K70 + 0x7C400400, // 0173 CALL R16 2 + 0xB8421000, // 0174 GETNGBL R16 K8 + 0x60440018, // 0175 GETGBL R17 G24 + 0x58480049, // 0176 LDCONST R18 K73 + 0x5C4C1800, // 0177 MOVE R19 R12 + 0x5C501400, // 0178 MOVE R20 R10 + 0x5C541E00, // 0179 MOVE R21 R15 + 0x7C440800, // 017A CALL R17 4 + 0x5848000A, // 017B LDCONST R18 K10 + 0x7C400400, // 017C CALL R16 2 + 0x8C401F43, // 017D GETMET R16 R15 K67 + 0x5C481800, // 017E MOVE R18 R12 + 0x7C400400, // 017F CALL R16 2 + 0x7001FF63, // 0180 JMP #00E5 + 0x581C004A, // 0181 LDCONST R7 K74 + 0xAC1C0200, // 0182 CATCH R7 1 0 + 0xB0080000, // 0183 RAISE 2 R0 R0 + 0xB81E1000, // 0184 GETNGBL R7 K8 + 0x60200018, // 0185 GETGBL R8 G24 + 0x5824004B, // 0186 LDCONST R9 K75 + 0x60280008, // 0187 GETGBL R10 G8 + 0x882C010B, // 0188 GETMBR R11 R0 K11 + 0x882C1738, // 0189 GETMBR R11 R11 K56 + 0x7C280200, // 018A CALL R10 1 + 0x7C200400, // 018B CALL R8 2 + 0x5824000A, // 018C LDCONST R9 K10 + 0x7C1C0400, // 018D CALL R7 2 + 0x78160007, // 018E JMPF R5 #0197 + 0xB81E1000, // 018F GETNGBL R7 K8 + 0x60200018, // 0190 GETGBL R8 G24 + 0x5824004C, // 0191 LDCONST R9 K76 + 0x5C280A00, // 0192 MOVE R10 R5 + 0x7C200400, // 0193 CALL R8 2 + 0x5824000A, // 0194 LDCONST R9 K10 + 0x7C1C0400, // 0195 CALL R7 2 + 0x7002000C, // 0196 JMP #01A4 + 0x741A0002, // 0197 JMPT R6 #019B + 0x881C010B, // 0198 GETMBR R7 R0 K11 + 0x881C0F4D, // 0199 GETMBR R7 R7 K77 + 0x741E0005, // 019A JMPT R7 #01A1 + 0x881C010B, // 019B GETMBR R7 R0 K11 + 0x50200200, // 019C LDBOOL R8 1 0 + 0x901E9A08, // 019D SETMBR R7 K77 R8 + 0x881C010B, // 019E GETMBR R7 R0 K11 + 0x8C1C0F12, // 019F GETMET R7 R7 K18 + 0x7C1C0200, // 01A0 CALL R7 1 + 0x8C1C0313, // 01A1 GETMET R7 R1 K19 + 0x5824004E, // 01A2 LDCONST R9 K78 + 0x7C1C0400, // 01A3 CALL R7 2 + 0x700200B9, // 01A4 JMP #025F + 0x8C180305, // 01A5 GETMET R6 R1 K5 + 0x5820004F, // 01A6 LDCONST R8 K79 + 0x7C180400, // 01A7 CALL R6 2 + 0x781A002A, // 01A8 JMPF R6 #01D4 + 0x8C18030D, // 01A9 GETMET R6 R1 K13 + 0x58200050, // 01AA LDCONST R8 K80 + 0x7C180400, // 01AB CALL R6 2 + 0x8C1C030D, // 01AC GETMET R7 R1 K13 + 0x5824000D, // 01AD LDCONST R9 K13 + 0x7C1C0400, // 01AE CALL R7 2 + 0x8C20030D, // 01AF GETMET R8 R1 K13 + 0x58280045, // 01B0 LDCONST R10 K69 + 0x7C200400, // 01B1 CALL R8 2 + 0xB8261000, // 01B2 GETNGBL R9 K8 + 0x60280018, // 01B3 GETGBL R10 G24 + 0x582C0051, // 01B4 LDCONST R11 K81 + 0x5C300C00, // 01B5 MOVE R12 R6 + 0x5C340E00, // 01B6 MOVE R13 R7 + 0x7C280600, // 01B7 CALL R10 3 + 0x582C000A, // 01B8 LDCONST R11 K10 + 0x7C240400, // 01B9 CALL R9 2 + 0x8824010B, // 01BA GETMBR R9 R0 K11 + 0x88241339, // 01BB GETMBR R9 R9 K57 + 0x8C241336, // 01BC GETMET R9 R9 K54 + 0x5C2C0C00, // 01BD MOVE R11 R6 + 0x7C240400, // 01BE CALL R9 2 + 0x4C280000, // 01BF LDNIL R10 + 0x2028120A, // 01C0 NE R10 R9 R10 + 0x782A000D, // 01C1 JMPF R10 #01D0 + 0x60280013, // 01C2 GETGBL R10 G19 + 0x7C280000, // 01C3 CALL R10 0 + 0x78220000, // 01C4 JMPF R8 #01C6 + 0x982A8C08, // 01C5 SETIDX R10 K70 R8 + 0x8C2C1340, // 01C6 GETMET R11 R9 K64 + 0x5C341200, // 01C7 MOVE R13 R9 + 0x5C381400, // 01C8 MOVE R14 R10 + 0x5C3C0E00, // 01C9 MOVE R15 R7 + 0x7C2C0800, // 01CA CALL R11 4 + 0x882C010B, // 01CB GETMBR R11 R0 K11 + 0x8C2C1752, // 01CC GETMET R11 R11 K82 + 0x5C340C00, // 01CD MOVE R13 R6 + 0x5C381400, // 01CE MOVE R14 R10 + 0x7C2C0600, // 01CF CALL R11 3 + 0x8C280313, // 01D0 GETMET R10 R1 K19 + 0x5830004E, // 01D1 LDCONST R12 K78 + 0x7C280400, // 01D2 CALL R10 2 + 0x7002008A, // 01D3 JMP #025F + 0x8C180305, // 01D4 GETMET R6 R1 K5 + 0x58200053, // 01D5 LDCONST R8 K83 + 0x7C180400, // 01D6 CALL R6 2 + 0x781A005D, // 01D7 JMPF R6 #0236 + 0x8C18030D, // 01D8 GETMET R6 R1 K13 + 0x58200054, // 01D9 LDCONST R8 K84 + 0x7C180400, // 01DA CALL R6 2 + 0x4C1C0000, // 01DB LDNIL R7 + 0x1C1C0C07, // 01DC EQ R7 R6 R7 + 0x741E0001, // 01DD JMPT R7 #01E0 + 0x1C1C0D3B, // 01DE EQ R7 R6 K59 + 0x781E0000, // 01DF JMPF R7 #01E1 + 0xB006AB56, // 01E0 RAISE 1 K85 K86 + 0x581C002A, // 01E1 LDCONST R7 K42 + 0x60200008, // 01E2 GETGBL R8 G8 + 0x5C240E00, // 01E3 MOVE R9 R7 + 0x7C200200, // 01E4 CALL R8 1 + 0x8C240305, // 01E5 GETMET R9 R1 K5 + 0x002EA008, // 01E6 ADD R11 K80 R8 + 0x7C240400, // 01E7 CALL R9 2 + 0x78260048, // 01E8 JMPF R9 #0232 + 0x8C24030D, // 01E9 GETMET R9 R1 K13 + 0x002EA008, // 01EA ADD R11 K80 R8 + 0x7C240400, // 01EB CALL R9 2 + 0x8C28030D, // 01EC GETMET R10 R1 K13 + 0x00321A08, // 01ED ADD R12 K13 R8 + 0x7C280400, // 01EE CALL R10 2 + 0x8C2C030D, // 01EF GETMET R11 R1 K13 + 0x00368A08, // 01F0 ADD R13 K69 R8 + 0x7C2C0400, // 01F1 CALL R11 2 + 0x2030133B, // 01F2 NE R12 R9 K59 + 0x78320037, // 01F3 JMPF R12 #022C + 0x8830010B, // 01F4 GETMBR R12 R0 K11 + 0x88301939, // 01F5 GETMBR R12 R12 K57 + 0x8C301936, // 01F6 GETMET R12 R12 K54 + 0x5C381200, // 01F7 MOVE R14 R9 + 0x7C300400, // 01F8 CALL R12 2 + 0x4C340000, // 01F9 LDNIL R13 + 0x2034180D, // 01FA NE R13 R12 R13 + 0x7836002F, // 01FB JMPF R13 #022C + 0x60340013, // 01FC GETGBL R13 G19 + 0x7C340000, // 01FD CALL R13 0 + 0x9836A806, // 01FE SETIDX R13 K84 R6 + 0x98367409, // 01FF SETIDX R13 K58 R9 + 0x782E0000, // 0200 JMPF R11 #0202 + 0x98368C0B, // 0201 SETIDX R13 K70 R11 + 0x8C381940, // 0202 GETMET R14 R12 K64 + 0x5C401800, // 0203 MOVE R16 R12 + 0x5C441A00, // 0204 MOVE R17 R13 + 0x5C481400, // 0205 MOVE R18 R10 + 0x7C380800, // 0206 CALL R14 4 + 0x50380000, // 0207 LDBOOL R14 0 0 + 0x603C0010, // 0208 GETGBL R15 G16 + 0x8840010B, // 0209 GETMBR R16 R0 K11 + 0x88402138, // 020A GETMBR R16 R16 K56 + 0x7C3C0200, // 020B CALL R15 1 + 0xA802000B, // 020C EXBLK 0 #0219 + 0x5C401E00, // 020D MOVE R16 R15 + 0x7C400000, // 020E CALL R16 0 + 0x8C440157, // 020F GETMET R17 R0 K87 + 0x5C4C2000, // 0210 MOVE R19 R16 + 0x5C501A00, // 0211 MOVE R20 R13 + 0x7C440600, // 0212 CALL R17 3 + 0x78460001, // 0213 JMPF R17 #0216 + 0x50380200, // 0214 LDBOOL R14 1 0 + 0x70020000, // 0215 JMP #0217 + 0x7001FFF5, // 0216 JMP #020D + 0xA8040001, // 0217 EXBLK 1 1 + 0x70020002, // 0218 JMP #021C + 0x583C004A, // 0219 LDCONST R15 K74 + 0xAC3C0200, // 021A CATCH R15 1 0 + 0xB0080000, // 021B RAISE 2 R0 R0 + 0x5C3C1C00, // 021C MOVE R15 R14 + 0x743E000D, // 021D JMPT R15 #022C + 0xB83E1000, // 021E GETNGBL R15 K8 + 0x60400018, // 021F GETGBL R16 G24 + 0x58440058, // 0220 LDCONST R17 K88 + 0x5C480C00, // 0221 MOVE R18 R6 + 0x5C4C1200, // 0222 MOVE R19 R9 + 0x5C501400, // 0223 MOVE R20 R10 + 0x7C400800, // 0224 CALL R16 4 + 0x5844000A, // 0225 LDCONST R17 K10 + 0x7C3C0400, // 0226 CALL R15 2 + 0x883C010B, // 0227 GETMBR R15 R0 K11 + 0x8C3C1F52, // 0228 GETMET R15 R15 K82 + 0x5C441200, // 0229 MOVE R17 R9 + 0x5C481A00, // 022A MOVE R18 R13 + 0x7C3C0600, // 022B CALL R15 3 + 0x001C0F2F, // 022C ADD R7 R7 K47 + 0x60300008, // 022D GETGBL R12 G8 + 0x5C340E00, // 022E MOVE R13 R7 + 0x7C300200, // 022F CALL R12 1 + 0x5C201800, // 0230 MOVE R8 R12 + 0x7001FFB2, // 0231 JMP #01E5 + 0x8C240313, // 0232 GETMET R9 R1 K19 + 0x582C004E, // 0233 LDCONST R11 K78 + 0x7C240400, // 0234 CALL R9 2 + 0x70020028, // 0235 JMP #025F + 0x4C180000, // 0236 LDNIL R6 + 0x601C0010, // 0237 GETGBL R7 G16 + 0x8C200334, // 0238 GETMET R8 R1 K52 + 0x7C200200, // 0239 CALL R8 1 + 0x0420112F, // 023A SUB R8 R8 K47 + 0x40225408, // 023B CONNECT R8 K42 R8 + 0x7C1C0200, // 023C CALL R7 1 + 0xA8020013, // 023D EXBLK 0 #0252 + 0x5C200E00, // 023E MOVE R8 R7 + 0x7C200000, // 023F CALL R8 0 + 0x8C240335, // 0240 GETMET R9 R1 K53 + 0x5C2C1000, // 0241 MOVE R11 R8 + 0x7C240400, // 0242 CALL R9 2 + 0x8C280536, // 0243 GETMET R10 R2 K54 + 0x5C301200, // 0244 MOVE R12 R9 + 0x58340059, // 0245 LDCONST R13 K89 + 0x7C280600, // 0246 CALL R10 3 + 0x1C28152A, // 0247 EQ R10 R10 K42 + 0x782A0005, // 0248 JMPF R10 #024F + 0x60280009, // 0249 GETGBL R10 G9 + 0x402E1537, // 024A CONNECT R11 K10 K55 + 0x942C120B, // 024B GETIDX R11 R9 R11 + 0x7C280200, // 024C CALL R10 1 + 0x5C181400, // 024D MOVE R6 R10 + 0x70020000, // 024E JMP #0250 + 0x7001FFED, // 024F JMP #023E + 0xA8040001, // 0250 EXBLK 1 1 + 0x70020002, // 0251 JMP #0255 + 0x581C004A, // 0252 LDCONST R7 K74 + 0xAC1C0200, // 0253 CATCH R7 1 0 + 0xB0080000, // 0254 RAISE 2 R0 R0 + 0x4C1C0000, // 0255 LDNIL R7 + 0x201C0C07, // 0256 NE R7 R6 R7 + 0x781E0006, // 0257 JMPF R7 #025F + 0x881C010B, // 0258 GETMBR R7 R0 K11 + 0x8C1C0F5A, // 0259 GETMET R7 R7 K90 + 0x5C240C00, // 025A MOVE R9 R6 + 0x7C1C0400, // 025B CALL R7 2 + 0x8C1C0313, // 025C GETMET R7 R1 K19 + 0x5824004E, // 025D LDCONST R9 K78 + 0x7C1C0400, // 025E CALL R7 2 + 0x78160011, // 025F JMPF R5 #0272 + 0x8C18035B, // 0260 GETMET R6 R1 K91 + 0x5820005C, // 0261 LDCONST R8 K92 + 0x7C180400, // 0262 CALL R6 2 + 0x8C18035D, // 0263 GETMET R6 R1 K93 + 0x7C180200, // 0264 CALL R6 1 + 0x8C18035E, // 0265 GETMET R6 R1 K94 + 0x60200018, // 0266 GETGBL R8 G24 + 0x5824005F, // 0267 LDCONST R9 K95 + 0x8C280360, // 0268 GETMET R10 R1 K96 + 0x5C300A00, // 0269 MOVE R12 R5 + 0x7C280400, // 026A CALL R10 2 + 0x7C200400, // 026B CALL R8 2 + 0x7C180400, // 026C CALL R6 2 + 0x8C180361, // 026D GETMET R6 R1 K97 + 0x88200362, // 026E GETMBR R8 R1 K98 + 0x7C180400, // 026F CALL R6 2 + 0x8C180363, // 0270 GETMET R6 R1 K99 + 0x7C180200, // 0271 CALL R6 1 + 0xA8040001, // 0272 EXBLK 1 1 + 0x7002001C, // 0273 JMP #0291 + 0xAC180002, // 0274 CATCH R6 0 2 + 0x70020019, // 0275 JMP #0290 + 0xB8221000, // 0276 GETNGBL R8 K8 + 0x60240018, // 0277 GETGBL R9 G24 + 0x58280064, // 0278 LDCONST R10 K100 + 0x5C2C0C00, // 0279 MOVE R11 R6 + 0x5C300E00, // 027A MOVE R12 R7 + 0x7C240600, // 027B CALL R9 3 + 0x58280065, // 027C LDCONST R10 K101 + 0x7C200400, // 027D CALL R8 2 + 0x8C20035B, // 027E GETMET R8 R1 K91 + 0x5828005C, // 027F LDCONST R10 K92 + 0x7C200400, // 0280 CALL R8 2 + 0x8C20035D, // 0281 GETMET R8 R1 K93 + 0x7C200200, // 0282 CALL R8 1 + 0x8C20035E, // 0283 GETMET R8 R1 K94 + 0x60280018, // 0284 GETGBL R10 G24 + 0x582C0066, // 0285 LDCONST R11 K102 + 0x5C300C00, // 0286 MOVE R12 R6 + 0x5C340E00, // 0287 MOVE R13 R7 + 0x7C280600, // 0288 CALL R10 3 + 0x7C200400, // 0289 CALL R8 2 + 0x8C200361, // 028A GETMET R8 R1 K97 + 0x88280362, // 028B GETMBR R10 R1 K98 + 0x7C200400, // 028C CALL R8 2 + 0x8C200363, // 028D GETMET R8 R1 K99 + 0x7C200200, // 028E CALL R8 1 + 0x70020000, // 028F JMP #0291 + 0xB0080000, // 0290 RAISE 2 R0 R0 + 0x80000000, // 0291 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_part_mgr +********************************************************************/ +be_local_closure(class_Matter_UI_page_part_mgr, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(page_part_mgr), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080354, // 0001 GETMET R2 R1 K84 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0001, // 0003 JMPT R2 #0006 + 0x4C080000, // 0004 LDNIL R2 + 0x80040400, // 0005 RET 1 R2 + 0x8C080355, // 0006 GETMET R2 R1 K85 + 0x58100056, // 0007 LDCONST R4 K86 + 0x7C080400, // 0008 CALL R2 2 + 0x8C080357, // 0009 GETMET R2 R1 K87 + 0x7C080200, // 000A CALL R2 1 + 0x8C080158, // 000B GETMET R2 R0 K88 + 0x7C080200, // 000C CALL R2 1 + 0x8808014A, // 000D GETMBR R2 R0 K74 + 0x780A0001, // 000E JMPF R2 #0011 + 0x8C080159, // 000F GETMET R2 R0 K89 + 0x7C080200, // 0010 CALL R2 1 + 0x8C080307, // 0011 GETMET R2 R1 K7 + 0x5810005A, // 0012 LDCONST R4 K90 + 0x7C080400, // 0013 CALL R2 2 + 0x8C08035B, // 0014 GETMET R2 R1 K91 + 0x8810035C, // 0015 GETMBR R4 R1 K92 + 0x7C080400, // 0016 CALL R2 2 + 0x8C08035D, // 0017 GETMET R2 R1 K93 + 0x7C080200, // 0018 CALL R2 1 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_passcode_form +********************************************************************/ +be_local_closure(class_Matter_UI_show_passcode_form, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_passcode_form), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080307, // 0001 GETMET R2 R1 K7 + 0x5810005E, // 0002 LDCONST R4 K94 + 0x7C080400, // 0003 CALL R2 2 + 0x8C080307, // 0004 GETMET R2 R1 K7 + 0x60100018, // 0005 GETGBL R4 G24 + 0x5814005F, // 0006 LDCONST R5 K95 + 0x88180101, // 0007 GETMBR R6 R0 K1 + 0x88180D60, // 0008 GETMBR R6 R6 K96 + 0x7C100400, // 0009 CALL R4 2 + 0x7C080400, // 000A CALL R2 2 + 0x8C080307, // 000B GETMET R2 R1 K7 + 0x58100061, // 000C LDCONST R4 K97 + 0x7C080400, // 000D CALL R2 2 + 0x8C080307, // 000E GETMET R2 R1 K7 + 0x60100018, // 000F GETGBL R4 G24 + 0x58140062, // 0010 LDCONST R5 K98 + 0x88180101, // 0011 GETMBR R6 R0 K1 + 0x88180D63, // 0012 GETMBR R6 R6 K99 + 0x7C100400, // 0013 CALL R4 2 + 0x7C080400, // 0014 CALL R2 2 + 0x88080101, // 0015 GETMBR R2 R0 K1 + 0x88080564, // 0016 GETMBR R2 R2 K100 + 0x780A0001, // 0017 JMPF R2 #001A + 0x58080065, // 0018 LDCONST R2 K101 + 0x70020000, // 0019 JMP #001B + 0x58080045, // 001A LDCONST R2 K69 + 0x8C0C0307, // 001B GETMET R3 R1 K7 + 0x60140018, // 001C GETGBL R5 G24 + 0x58180066, // 001D LDCONST R6 K102 + 0x5C1C0400, // 001E MOVE R7 R2 + 0x7C140400, // 001F CALL R5 2 + 0x7C0C0400, // 0020 CALL R3 2 + 0x8C0C0307, // 0021 GETMET R3 R1 K7 + 0x58140067, // 0022 LDCONST R5 K103 + 0x7C0C0400, // 0023 CALL R3 2 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_plugins_hints_js +********************************************************************/ +be_local_closure(class_Matter_UI_show_plugins_hints_js, /* name */ + be_nested_proto( + 16, /* nstack */ + 2, /* argc */ + 11, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_plugins_hints_js), + &be_const_str_solidified, + ( &(const binstruction[79]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0xA40ED000, // 0001 IMPORT R3 K104 + 0xA412D200, // 0002 IMPORT R4 K105 + 0x60140012, // 0003 GETGBL R5 G18 + 0x7C140000, // 0004 CALL R5 0 + 0x60180010, // 0005 GETGBL R6 G16 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x7C180200, // 0007 CALL R6 1 + 0xA8020007, // 0008 EXBLK 0 #0011 + 0x5C1C0C00, // 0009 MOVE R7 R6 + 0x7C1C0000, // 000A CALL R7 0 + 0x8C20096A, // 000B GETMET R8 R4 K106 + 0x5C280E00, // 000C MOVE R10 R7 + 0x582C006B, // 000D LDCONST R11 K107 + 0x7C200600, // 000E CALL R8 3 + 0x00140A08, // 000F ADD R5 R5 R8 + 0x7001FFF7, // 0010 JMP #0009 + 0x5818001C, // 0011 LDCONST R6 K28 + 0xAC180200, // 0012 CATCH R6 1 0 + 0xB0080000, // 0013 RAISE 2 R0 R0 + 0x60180013, // 0014 GETGBL R6 G19 + 0x7C180000, // 0015 CALL R6 0 + 0x601C0012, // 0016 GETGBL R7 G18 + 0x7C1C0000, // 0017 CALL R7 0 + 0x60200010, // 0018 GETGBL R8 G16 + 0x5C240A00, // 0019 MOVE R9 R5 + 0x7C200200, // 001A CALL R8 1 + 0xA802001F, // 001B EXBLK 0 #003C + 0x5C241000, // 001C MOVE R9 R8 + 0x7C240000, // 001D CALL R9 0 + 0x1C281345, // 001E EQ R10 R9 K69 + 0x782A0000, // 001F JMPF R10 #0021 + 0x7001FFFA, // 0020 JMP #001C + 0x88280101, // 0021 GETMBR R10 R0 K1 + 0x8828156C, // 0022 GETMBR R10 R10 K108 + 0x8C28156D, // 0023 GETMET R10 R10 K109 + 0x5C301200, // 0024 MOVE R12 R9 + 0x7C280400, // 0025 CALL R10 2 + 0x4C2C0000, // 0026 LDNIL R11 + 0x202C140B, // 0027 NE R11 R10 R11 + 0x782E0011, // 0028 JMPF R11 #003B + 0x882C156E, // 0029 GETMBR R11 R10 K110 + 0x4C300000, // 002A LDNIL R12 + 0x2030160C, // 002B NE R12 R11 R12 + 0x7832000D, // 002C JMPF R12 #003B + 0x8C300F6D, // 002D GETMET R12 R7 K109 + 0x5C381600, // 002E MOVE R14 R11 + 0x7C300400, // 002F CALL R12 2 + 0x4C340000, // 0030 LDNIL R13 + 0x1C34180D, // 0031 EQ R13 R12 R13 + 0x78360006, // 0032 JMPF R13 #003A + 0x6034000C, // 0033 GETGBL R13 G12 + 0x5C380E00, // 0034 MOVE R14 R7 + 0x7C340200, // 0035 CALL R13 1 + 0x5C301A00, // 0036 MOVE R12 R13 + 0x8C340F18, // 0037 GETMET R13 R7 K24 + 0x5C3C1600, // 0038 MOVE R15 R11 + 0x7C340400, // 0039 CALL R13 2 + 0x9818120C, // 003A SETIDX R6 R9 R12 + 0x7001FFDF, // 003B JMP #001C + 0x5820001C, // 003C LDCONST R8 K28 + 0xAC200200, // 003D CATCH R8 1 0 + 0xB0080000, // 003E RAISE 2 R0 R0 + 0x8C200507, // 003F GETMET R8 R2 K7 + 0x60280018, // 0040 GETGBL R10 G24 + 0x582C006F, // 0041 LDCONST R11 K111 + 0x8C300770, // 0042 GETMET R12 R3 K112 + 0x5C380C00, // 0043 MOVE R14 R6 + 0x7C300400, // 0044 CALL R12 2 + 0x8C340770, // 0045 GETMET R13 R3 K112 + 0x5C3C0E00, // 0046 MOVE R15 R7 + 0x7C340400, // 0047 CALL R13 2 + 0x7C280600, // 0048 CALL R10 3 + 0x7C200400, // 0049 CALL R8 2 + 0x8C200507, // 004A GETMET R8 R2 K7 + 0xB82A7A00, // 004B GETNGBL R10 K61 + 0x88281571, // 004C GETMBR R10 R10 K113 + 0x7C200400, // 004D CALL R8 2 + 0x80000000, // 004E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_enable +********************************************************************/ +be_local_closure(class_Matter_UI_show_enable, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_enable), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8808014A, // 0001 GETMBR R2 R0 K74 + 0x8C0C0307, // 0002 GETMET R3 R1 K7 + 0x58140072, // 0003 LDCONST R5 K114 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780A0001, // 0005 JMPF R2 #0008 + 0x580C0073, // 0006 LDCONST R3 K115 + 0x70020000, // 0007 JMP #0009 + 0x580C0045, // 0008 LDCONST R3 K69 + 0x8C100307, // 0009 GETMET R4 R1 K7 + 0x60180018, // 000A GETGBL R6 G24 + 0x581C0074, // 000B LDCONST R7 K116 + 0x5C200600, // 000C MOVE R8 R3 + 0x7C180400, // 000D CALL R6 2 + 0x7C100400, // 000E CALL R4 2 + 0x8C100307, // 000F GETMET R4 R1 K7 + 0x58180075, // 0010 LDCONST R6 K117 + 0x7C100400, // 0011 CALL R4 2 + 0x780A001D, // 0012 JMPF R2 #0031 + 0x88100101, // 0013 GETMBR R4 R0 K1 + 0x88100902, // 0014 GETMBR R4 R4 K2 + 0x88100903, // 0015 GETMBR R4 R4 K3 + 0x4C140000, // 0016 LDNIL R5 + 0x20100805, // 0017 NE R4 R4 R5 + 0x78120001, // 0018 JMPF R4 #001B + 0x58100073, // 0019 LDCONST R4 K115 + 0x70020000, // 001A JMP #001C + 0x58100045, // 001B LDCONST R4 K69 + 0x8C140307, // 001C GETMET R5 R1 K7 + 0x601C0018, // 001D GETGBL R7 G24 + 0x58200076, // 001E LDCONST R8 K118 + 0x5C240800, // 001F MOVE R9 R4 + 0x7C1C0400, // 0020 CALL R7 2 + 0x7C140400, // 0021 CALL R5 2 + 0x8C140307, // 0022 GETMET R5 R1 K7 + 0x581C0077, // 0023 LDCONST R7 K119 + 0x7C140400, // 0024 CALL R5 2 + 0x88140101, // 0025 GETMBR R5 R0 K1 + 0x88140B78, // 0026 GETMBR R5 R5 K120 + 0x78160001, // 0027 JMPF R5 #002A + 0x58140065, // 0028 LDCONST R5 K101 + 0x70020000, // 0029 JMP #002B + 0x58140045, // 002A LDCONST R5 K69 + 0x8C180307, // 002B GETMET R6 R1 K7 + 0x60200018, // 002C GETGBL R8 G24 + 0x58240079, // 002D LDCONST R9 K121 + 0x5C280A00, // 002E MOVE R10 R5 + 0x7C200400, // 002F CALL R8 2 + 0x7C180400, // 0030 CALL R6 2 + 0x8C100307, // 0031 GETMET R4 R1 K7 + 0x5818007A, // 0032 LDCONST R6 K122 + 0x7C100400, // 0033 CALL R4 2 + 0x80000000, // 0034 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: equal_map +********************************************************************/ +be_local_closure(class_Matter_UI_equal_map, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(equal_map), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x5808007B, // 0000 LDCONST R2 K123 + 0x600C0010, // 0001 GETGBL R3 G16 + 0x8C10017C, // 0002 GETMET R4 R0 K124 + 0x7C100200, // 0003 CALL R4 1 + 0x7C0C0200, // 0004 CALL R3 1 + 0xA8020010, // 0005 EXBLK 0 #0017 + 0x5C100600, // 0006 MOVE R4 R3 + 0x7C100000, // 0007 CALL R4 0 + 0x8C140312, // 0008 GETMET R5 R1 K18 + 0x5C1C0800, // 0009 MOVE R7 R4 + 0x7C140400, // 000A CALL R5 2 + 0x74160002, // 000B JMPT R5 #000F + 0x50140000, // 000C LDBOOL R5 0 0 + 0xA8040001, // 000D EXBLK 1 1 + 0x80040A00, // 000E RET 1 R5 + 0x94140204, // 000F GETIDX R5 R1 R4 + 0x94180004, // 0010 GETIDX R6 R0 R4 + 0x20140A06, // 0011 NE R5 R5 R6 + 0x78160002, // 0012 JMPF R5 #0016 + 0x50140000, // 0013 LDBOOL R5 0 0 + 0xA8040001, // 0014 EXBLK 1 1 + 0x80040A00, // 0015 RET 1 R5 + 0x7001FFEE, // 0016 JMP #0006 + 0x580C001C, // 0017 LDCONST R3 K28 + 0xAC0C0200, // 0018 CATCH R3 1 0 + 0xB0080000, // 0019 RAISE 2 R0 R0 + 0x600C0010, // 001A GETGBL R3 G16 + 0x8C10037C, // 001B GETMET R4 R1 K124 + 0x7C100200, // 001C CALL R4 1 + 0x7C0C0200, // 001D CALL R3 1 + 0xA8020010, // 001E EXBLK 0 #0030 + 0x5C100600, // 001F MOVE R4 R3 + 0x7C100000, // 0020 CALL R4 0 + 0x8C140112, // 0021 GETMET R5 R0 K18 + 0x5C1C0800, // 0022 MOVE R7 R4 + 0x7C140400, // 0023 CALL R5 2 + 0x74160002, // 0024 JMPT R5 #0028 + 0x50140000, // 0025 LDBOOL R5 0 0 + 0xA8040001, // 0026 EXBLK 1 1 + 0x80040A00, // 0027 RET 1 R5 + 0x94140204, // 0028 GETIDX R5 R1 R4 + 0x94180004, // 0029 GETIDX R6 R0 R4 + 0x20140A06, // 002A NE R5 R5 R6 + 0x78160002, // 002B JMPF R5 #002F + 0x50140000, // 002C LDBOOL R5 0 0 + 0xA8040001, // 002D EXBLK 1 1 + 0x80040A00, // 002E RET 1 R5 + 0x7001FFEE, // 002F JMP #001F + 0x580C001C, // 0030 LDCONST R3 K28 + 0xAC0C0200, // 0031 CATCH R3 1 0 + 0xB0080000, // 0032 RAISE 2 R0 R0 + 0x500C0200, // 0033 LDBOOL R3 1 0 + 0x80040600, // 0034 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_get_arg +********************************************************************/ +be_local_closure(class_Matter_UI_web_get_arg, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(web_get_arg), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C08037D, // 0001 GETMET R2 R1 K125 + 0x5810007E, // 0002 LDCONST R4 K126 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0004, // 0004 JMPF R2 #000A + 0x88080101, // 0005 GETMBR R2 R0 K1 + 0x88080502, // 0006 GETMBR R2 R2 K2 + 0x8C08057F, // 0007 GETMET R2 R2 K127 + 0x7C080200, // 0008 CALL R2 1 + 0x70020007, // 0009 JMP #0012 + 0x8C08037D, // 000A GETMET R2 R1 K125 + 0x58100080, // 000B LDCONST R4 K128 + 0x7C080400, // 000C CALL R2 2 + 0x780A0003, // 000D JMPF R2 #0012 + 0x88080101, // 000E GETMBR R2 R0 K1 + 0x88080502, // 000F GETMBR R2 R2 K2 + 0x8C080581, // 0010 GETMET R2 R2 K129 + 0x7C080200, // 0011 CALL R2 1 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_plugins_configuration +********************************************************************/ +be_local_closure(class_Matter_UI_show_plugins_configuration, /* name */ + be_nested_proto( + 29, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_plugins_configuration), + &be_const_str_solidified, + ( &(const binstruction[347]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA40AD200, // 0001 IMPORT R2 K105 + 0xA40F0400, // 0002 IMPORT R3 K130 + 0x8C100307, // 0003 GETMET R4 R1 K7 + 0x58180083, // 0004 LDCONST R6 K131 + 0x7C100400, // 0005 CALL R4 2 + 0x8C100307, // 0006 GETMET R4 R1 K7 + 0x58180084, // 0007 LDCONST R6 K132 + 0x7C100400, // 0008 CALL R4 2 + 0x8C100307, // 0009 GETMET R4 R1 K7 + 0x58180085, // 000A LDCONST R6 K133 + 0x7C100400, // 000B CALL R4 2 + 0x88100101, // 000C GETMBR R4 R0 K1 + 0x88100986, // 000D GETMBR R4 R4 K134 + 0x8C100987, // 000E GETMET R4 R4 K135 + 0x58180088, // 000F LDCONST R6 K136 + 0x7C100400, // 0010 CALL R4 2 + 0x88100101, // 0011 GETMBR R4 R0 K1 + 0x8C100989, // 0012 GETMET R4 R4 K137 + 0x88180101, // 0013 GETMBR R6 R0 K1 + 0x88180D86, // 0014 GETMBR R6 R6 K134 + 0x7C100400, // 0015 CALL R4 2 + 0x58140006, // 0016 LDCONST R5 K6 + 0x50180000, // 0017 LDBOOL R6 0 0 + 0x601C000C, // 0018 GETGBL R7 G12 + 0x5C200800, // 0019 MOVE R8 R4 + 0x7C1C0200, // 001A CALL R7 1 + 0x141C0A07, // 001B LT R7 R5 R7 + 0x781E005D, // 001C JMPF R7 #007B + 0x941C0805, // 001D GETIDX R7 R4 R5 + 0x88200101, // 001E GETMBR R8 R0 K1 + 0x88201186, // 001F GETMBR R8 R8 K134 + 0x8C20116D, // 0020 GETMET R8 R8 K109 + 0x60280008, // 0021 GETGBL R10 G8 + 0x5C2C0E00, // 0022 MOVE R11 R7 + 0x7C280200, // 0023 CALL R10 1 + 0x7C200400, // 0024 CALL R8 2 + 0x8C24116D, // 0025 GETMET R9 R8 K109 + 0x582C0019, // 0026 LDCONST R11 K25 + 0x7C240400, // 0027 CALL R9 2 + 0x5C281200, // 0028 MOVE R10 R9 + 0x742A0001, // 0029 JMPT R10 #002C + 0x00140B14, // 002A ADD R5 R5 K20 + 0x7001FFEB, // 002B JMP #0018 + 0x8C28056D, // 002C GETMET R10 R2 K109 + 0x5C301200, // 002D MOVE R12 R9 + 0x5834008A, // 002E LDCONST R13 K138 + 0x7C280600, // 002F CALL R10 3 + 0x1C281506, // 0030 EQ R10 R10 K6 + 0x782A0001, // 0031 JMPF R10 #0034 + 0x00140B14, // 0032 ADD R5 R5 K20 + 0x7001FFE3, // 0033 JMP #0018 + 0x88280101, // 0034 GETMBR R10 R0 K1 + 0x8828156C, // 0035 GETMBR R10 R10 K108 + 0x8C28156D, // 0036 GETMET R10 R10 K109 + 0x5C301200, // 0037 MOVE R12 R9 + 0x7C280400, // 0038 CALL R10 2 + 0x582C0045, // 0039 LDCONST R11 K69 + 0x58300045, // 003A LDCONST R12 K69 + 0x4C340000, // 003B LDNIL R13 + 0x2034140D, // 003C NE R13 R10 R13 + 0x78360005, // 003D JMPF R13 #0044 + 0x8C34158B, // 003E GETMET R13 R10 K139 + 0x5C3C1400, // 003F MOVE R15 R10 + 0x5C401000, // 0040 MOVE R16 R8 + 0x7C340600, // 0041 CALL R13 3 + 0x5C2C1A00, // 0042 MOVE R11 R13 + 0x8830156E, // 0043 GETMBR R12 R10 K110 + 0x50180200, // 0044 LDBOOL R6 1 0 + 0x8C340307, // 0045 GETMET R13 R1 K7 + 0x603C0018, // 0046 GETGBL R15 G24 + 0x5840008C, // 0047 LDCONST R16 K140 + 0x5C440E00, // 0048 MOVE R17 R7 + 0x7C3C0400, // 0049 CALL R15 2 + 0x7C340400, // 004A CALL R13 2 + 0x8C340307, // 004B GETMET R13 R1 K7 + 0x603C0018, // 004C GETGBL R15 G24 + 0x5840008D, // 004D LDCONST R16 K141 + 0x5C440E00, // 004E MOVE R17 R7 + 0x8C48032A, // 004F GETMET R18 R1 K42 + 0x8C50116D, // 0050 GETMET R20 R8 K109 + 0x5858008E, // 0051 LDCONST R22 K142 + 0x585C0045, // 0052 LDCONST R23 K69 + 0x7C500600, // 0053 CALL R20 3 + 0x7C480400, // 0054 CALL R18 2 + 0x7C3C0600, // 0055 CALL R15 3 + 0x7C340400, // 0056 CALL R13 2 + 0x8C340307, // 0057 GETMET R13 R1 K7 + 0x603C0018, // 0058 GETGBL R15 G24 + 0x5840008F, // 0059 LDCONST R16 K143 + 0x8C440190, // 005A GETMET R17 R0 K144 + 0x8C4C116D, // 005B GETMET R19 R8 K109 + 0x58540019, // 005C LDCONST R21 K25 + 0x58580045, // 005D LDCONST R22 K69 + 0x7C4C0600, // 005E CALL R19 3 + 0x7C440400, // 005F CALL R17 2 + 0x7C3C0400, // 0060 CALL R15 2 + 0x7C340400, // 0061 CALL R13 2 + 0x8C340307, // 0062 GETMET R13 R1 K7 + 0x603C0018, // 0063 GETGBL R15 G24 + 0x58400091, // 0064 LDCONST R16 K145 + 0x5C440E00, // 0065 MOVE R17 R7 + 0x8C48032A, // 0066 GETMET R18 R1 K42 + 0x5C501600, // 0067 MOVE R20 R11 + 0x7C480400, // 0068 CALL R18 2 + 0x8C4C032A, // 0069 GETMET R19 R1 K42 + 0x5C541800, // 006A MOVE R21 R12 + 0x7C4C0400, // 006B CALL R19 2 + 0x8C50032A, // 006C GETMET R20 R1 K42 + 0x5C581800, // 006D MOVE R22 R12 + 0x7C500400, // 006E CALL R20 2 + 0x7C3C0A00, // 006F CALL R15 5 + 0x7C340400, // 0070 CALL R13 2 + 0x8C340307, // 0071 GETMET R13 R1 K7 + 0x603C0018, // 0072 GETGBL R15 G24 + 0x58400092, // 0073 LDCONST R16 K146 + 0x5C440E00, // 0074 MOVE R17 R7 + 0x5C480E00, // 0075 MOVE R18 R7 + 0x5C4C0E00, // 0076 MOVE R19 R7 + 0x7C3C0800, // 0077 CALL R15 4 + 0x7C340400, // 0078 CALL R13 2 + 0x00140B14, // 0079 ADD R5 R5 K20 + 0x7001FF9C, // 007A JMP #0018 + 0x8C1C0307, // 007B GETMET R7 R1 K7 + 0x58240093, // 007C LDCONST R9 K147 + 0x7C1C0400, // 007D CALL R7 2 + 0x5C1C0C00, // 007E MOVE R7 R6 + 0x741E0002, // 007F JMPT R7 #0083 + 0x8C1C0307, // 0080 GETMET R7 R1 K7 + 0x58240094, // 0081 LDCONST R9 K148 + 0x7C1C0400, // 0082 CALL R7 2 + 0x8C1C0307, // 0083 GETMET R7 R1 K7 + 0x58240095, // 0084 LDCONST R9 K149 + 0x7C1C0400, // 0085 CALL R7 2 + 0x601C0012, // 0086 GETGBL R7 G18 + 0x7C1C0000, // 0087 CALL R7 0 + 0x60200010, // 0088 GETGBL R8 G16 + 0x88240101, // 0089 GETMBR R9 R0 K1 + 0x88241386, // 008A GETMBR R9 R9 K134 + 0x7C200200, // 008B CALL R8 1 + 0xA802000B, // 008C EXBLK 0 #0099 + 0x5C241000, // 008D MOVE R9 R8 + 0x7C240000, // 008E CALL R9 0 + 0x8C28136D, // 008F GETMET R10 R9 K109 + 0x58300096, // 0090 LDCONST R12 K150 + 0x7C280400, // 0091 CALL R10 2 + 0x4C2C0000, // 0092 LDNIL R11 + 0x202C140B, // 0093 NE R11 R10 R11 + 0x782E0002, // 0094 JMPF R11 #0098 + 0x8C2C0F18, // 0095 GETMET R11 R7 K24 + 0x5C341400, // 0096 MOVE R13 R10 + 0x7C2C0400, // 0097 CALL R11 2 + 0x7001FFF3, // 0098 JMP #008D + 0x5820001C, // 0099 LDCONST R8 K28 + 0xAC200200, // 009A CATCH R8 1 0 + 0xB0080000, // 009B RAISE 2 R0 R0 + 0x88200101, // 009C GETMBR R8 R0 K1 + 0x8C201197, // 009D GETMET R8 R8 K151 + 0x5C280E00, // 009E MOVE R10 R7 + 0x7C200400, // 009F CALL R8 2 + 0x60200010, // 00A0 GETGBL R8 G16 + 0x5C240E00, // 00A1 MOVE R9 R7 + 0x7C200200, // 00A2 CALL R8 1 + 0xA8020084, // 00A3 EXBLK 0 #0129 + 0x5C241000, // 00A4 MOVE R9 R8 + 0x7C240000, // 00A5 CALL R9 0 + 0x8C28032A, // 00A6 GETMET R10 R1 K42 + 0x5C301200, // 00A7 MOVE R12 R9 + 0x7C280400, // 00A8 CALL R10 2 + 0x8C2C032A, // 00A9 GETMET R11 R1 K42 + 0x88340101, // 00AA GETMBR R13 R0 K1 + 0x8C341B98, // 00AB GETMET R13 R13 K152 + 0x5C3C1200, // 00AC MOVE R15 R9 + 0x7C340400, // 00AD CALL R13 2 + 0x8C341B6D, // 00AE GETMET R13 R13 K109 + 0x583C008E, // 00AF LDCONST R15 K142 + 0x5C401200, // 00B0 MOVE R16 R9 + 0x7C340600, // 00B1 CALL R13 3 + 0x7C2C0400, // 00B2 CALL R11 2 + 0x8C300307, // 00B3 GETMET R12 R1 K7 + 0x60380018, // 00B4 GETGBL R14 G24 + 0x583C0099, // 00B5 LDCONST R15 K153 + 0x5C401400, // 00B6 MOVE R16 R10 + 0x5C441400, // 00B7 MOVE R17 R10 + 0x5C481600, // 00B8 MOVE R18 R11 + 0x7C380800, // 00B9 CALL R14 4 + 0x7C300400, // 00BA CALL R12 2 + 0x8C300307, // 00BB GETMET R12 R1 K7 + 0x5838009A, // 00BC LDCONST R14 K154 + 0x7C300400, // 00BD CALL R12 2 + 0x50180000, // 00BE LDBOOL R6 0 0 + 0x58140006, // 00BF LDCONST R5 K6 + 0x6030000C, // 00C0 GETGBL R12 G12 + 0x5C340800, // 00C1 MOVE R13 R4 + 0x7C300200, // 00C2 CALL R12 1 + 0x14300A0C, // 00C3 LT R12 R5 R12 + 0x7832005F, // 00C4 JMPF R12 #0125 + 0x94300805, // 00C5 GETIDX R12 R4 R5 + 0x88340101, // 00C6 GETMBR R13 R0 K1 + 0x88341B86, // 00C7 GETMBR R13 R13 K134 + 0x8C341B6D, // 00C8 GETMET R13 R13 K109 + 0x603C0008, // 00C9 GETGBL R15 G8 + 0x5C401800, // 00CA MOVE R16 R12 + 0x7C3C0200, // 00CB CALL R15 1 + 0x7C340400, // 00CC CALL R13 2 + 0x8C381B6D, // 00CD GETMET R14 R13 K109 + 0x58400019, // 00CE LDCONST R16 K25 + 0x7C380400, // 00CF CALL R14 2 + 0x5C3C1C00, // 00D0 MOVE R15 R14 + 0x743E0001, // 00D1 JMPT R15 #00D4 + 0x00140B14, // 00D2 ADD R5 R5 K20 + 0x7001FFEB, // 00D3 JMP #00C0 + 0x8C3C056D, // 00D4 GETMET R15 R2 K109 + 0x5C441C00, // 00D5 MOVE R17 R14 + 0x5848008A, // 00D6 LDCONST R18 K138 + 0x7C3C0600, // 00D7 CALL R15 3 + 0x203C1F06, // 00D8 NE R15 R15 K6 + 0x783E0001, // 00D9 JMPF R15 #00DC + 0x00140B14, // 00DA ADD R5 R5 K20 + 0x7001FFE3, // 00DB JMP #00C0 + 0x8C3C1B6D, // 00DC GETMET R15 R13 K109 + 0x58440096, // 00DD LDCONST R17 K150 + 0x7C3C0400, // 00DE CALL R15 2 + 0x203C1E09, // 00DF NE R15 R15 R9 + 0x783E0001, // 00E0 JMPF R15 #00E3 + 0x00140B14, // 00E1 ADD R5 R5 K20 + 0x7001FFDC, // 00E2 JMP #00C0 + 0x883C0101, // 00E3 GETMBR R15 R0 K1 + 0x883C1F6C, // 00E4 GETMBR R15 R15 K108 + 0x8C3C1F6D, // 00E5 GETMET R15 R15 K109 + 0x5C441C00, // 00E6 MOVE R17 R14 + 0x7C3C0400, // 00E7 CALL R15 2 + 0x58400045, // 00E8 LDCONST R16 K69 + 0x58440045, // 00E9 LDCONST R17 K69 + 0x4C480000, // 00EA LDNIL R18 + 0x20481E12, // 00EB NE R18 R15 R18 + 0x784A0005, // 00EC JMPF R18 #00F3 + 0x8C481F8B, // 00ED GETMET R18 R15 K139 + 0x5C501E00, // 00EE MOVE R20 R15 + 0x5C541A00, // 00EF MOVE R21 R13 + 0x7C480600, // 00F0 CALL R18 3 + 0x5C402400, // 00F1 MOVE R16 R18 + 0x88441F6E, // 00F2 GETMBR R17 R15 K110 + 0x50180200, // 00F3 LDBOOL R6 1 0 + 0x8C480307, // 00F4 GETMET R18 R1 K7 + 0x60500018, // 00F5 GETGBL R20 G24 + 0x5854009B, // 00F6 LDCONST R21 K155 + 0x5C581800, // 00F7 MOVE R22 R12 + 0x7C500400, // 00F8 CALL R20 2 + 0x7C480400, // 00F9 CALL R18 2 + 0x8C480307, // 00FA GETMET R18 R1 K7 + 0x60500018, // 00FB GETGBL R20 G24 + 0x5854009C, // 00FC LDCONST R21 K156 + 0x5C581800, // 00FD MOVE R22 R12 + 0x8C5C032A, // 00FE GETMET R23 R1 K42 + 0x8C641B6D, // 00FF GETMET R25 R13 K109 + 0x586C008E, // 0100 LDCONST R27 K142 + 0x58700045, // 0101 LDCONST R28 K69 + 0x7C640600, // 0102 CALL R25 3 + 0x7C5C0400, // 0103 CALL R23 2 + 0x7C500600, // 0104 CALL R20 3 + 0x7C480400, // 0105 CALL R18 2 + 0x8C480307, // 0106 GETMET R18 R1 K7 + 0x60500018, // 0107 GETGBL R20 G24 + 0x5854009D, // 0108 LDCONST R21 K157 + 0x8C580190, // 0109 GETMET R22 R0 K144 + 0x8C601B6D, // 010A GETMET R24 R13 K109 + 0x58680019, // 010B LDCONST R26 K25 + 0x586C0045, // 010C LDCONST R27 K69 + 0x7C600600, // 010D CALL R24 3 + 0x7C580400, // 010E CALL R22 2 + 0x7C500400, // 010F CALL R20 2 + 0x7C480400, // 0110 CALL R18 2 + 0x8C480307, // 0111 GETMET R18 R1 K7 + 0x60500018, // 0112 GETGBL R20 G24 + 0x5854009E, // 0113 LDCONST R21 K158 + 0x5C581800, // 0114 MOVE R22 R12 + 0x8C5C032A, // 0115 GETMET R23 R1 K42 + 0x5C642000, // 0116 MOVE R25 R16 + 0x7C5C0400, // 0117 CALL R23 2 + 0x8C60032A, // 0118 GETMET R24 R1 K42 + 0x5C682200, // 0119 MOVE R26 R17 + 0x7C600400, // 011A CALL R24 2 + 0x7C500800, // 011B CALL R20 4 + 0x7C480400, // 011C CALL R18 2 + 0x8C480307, // 011D GETMET R18 R1 K7 + 0x60500018, // 011E GETGBL R20 G24 + 0x5854009F, // 011F LDCONST R21 K159 + 0x5C581800, // 0120 MOVE R22 R12 + 0x7C500400, // 0121 CALL R20 2 + 0x7C480400, // 0122 CALL R18 2 + 0x00140B14, // 0123 ADD R5 R5 K20 + 0x7001FF9A, // 0124 JMP #00C0 + 0x8C300307, // 0125 GETMET R12 R1 K7 + 0x583800A0, // 0126 LDCONST R14 K160 + 0x7C300400, // 0127 CALL R12 2 + 0x7001FF7A, // 0128 JMP #00A4 + 0x5820001C, // 0129 LDCONST R8 K28 + 0xAC200200, // 012A CATCH R8 1 0 + 0xB0080000, // 012B RAISE 2 R0 R0 + 0x5C200C00, // 012C MOVE R8 R6 + 0x74220002, // 012D JMPT R8 #0131 + 0x8C200307, // 012E GETMET R8 R1 K7 + 0x58280094, // 012F LDCONST R10 K148 + 0x7C200400, // 0130 CALL R8 2 + 0x8C200307, // 0131 GETMET R8 R1 K7 + 0x582800A1, // 0132 LDCONST R10 K161 + 0x7C200400, // 0133 CALL R8 2 + 0x88200101, // 0134 GETMBR R8 R0 K1 + 0x882011A2, // 0135 GETMBR R8 R8 K162 + 0x78220007, // 0136 JMPF R8 #013F + 0x8C2001A3, // 0137 GETMET R8 R0 K163 + 0x882801A4, // 0138 GETMBR R10 R0 K164 + 0x882C0101, // 0139 GETMBR R11 R0 K1 + 0x882C17A2, // 013A GETMBR R11 R11 K162 + 0x882C17A5, // 013B GETMBR R11 R11 K165 + 0x883001A6, // 013C GETMBR R12 R0 K166 + 0x7C200800, // 013D CALL R8 4 + 0x70020003, // 013E JMP #0143 + 0x8C2001A3, // 013F GETMET R8 R0 K163 + 0x882801A4, // 0140 GETMBR R10 R0 K164 + 0x882C01A6, // 0141 GETMBR R11 R0 K166 + 0x7C200600, // 0142 CALL R8 3 + 0x8C200307, // 0143 GETMET R8 R1 K7 + 0x582800A7, // 0144 LDCONST R10 K167 + 0x7C200400, // 0145 CALL R8 2 + 0x88200101, // 0146 GETMBR R8 R0 K1 + 0x882011A2, // 0147 GETMBR R8 R8 K162 + 0x78220008, // 0148 JMPF R8 #0152 + 0x8C2001A8, // 0149 GETMET R8 R0 K168 + 0x58280045, // 014A LDCONST R10 K69 + 0x882C01A4, // 014B GETMBR R11 R0 K164 + 0x88300101, // 014C GETMBR R12 R0 K1 + 0x883019A2, // 014D GETMBR R12 R12 K162 + 0x883019A5, // 014E GETMBR R12 R12 K165 + 0x883401A6, // 014F GETMBR R13 R0 K166 + 0x7C200A00, // 0150 CALL R8 5 + 0x70020004, // 0151 JMP #0157 + 0x8C2001A8, // 0152 GETMET R8 R0 K168 + 0x58280045, // 0153 LDCONST R10 K69 + 0x882C01A4, // 0154 GETMBR R11 R0 K164 + 0x883001A6, // 0155 GETMBR R12 R0 K166 + 0x7C200800, // 0156 CALL R8 4 + 0x8C200307, // 0157 GETMET R8 R1 K7 + 0x582800A9, // 0158 LDCONST R10 K169 + 0x7C200400, // 0159 CALL R8 2 + 0x80000000, // 015A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_bridge_status +********************************************************************/ +be_local_closure(class_Matter_UI_show_bridge_status, /* name */ + be_nested_proto( + 15, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_bridge_status), + &be_const_str_solidified, + ( &(const binstruction[118]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x880403AA, // 0001 GETMBR R1 R1 K170 + 0x4C080000, // 0002 LDNIL R2 + 0x1C040202, // 0003 EQ R1 R1 R2 + 0x78060000, // 0004 JMPF R1 #0006 + 0x80000200, // 0005 RET 0 + 0xA4060000, // 0006 IMPORT R1 K0 + 0x4C080000, // 0007 LDNIL R2 + 0x580C0006, // 0008 LDCONST R3 K6 + 0x6010000C, // 0009 GETGBL R4 G12 + 0x88140101, // 000A GETMBR R5 R0 K1 + 0x88140BAA, // 000B GETMBR R5 R5 K170 + 0x7C100200, // 000C CALL R4 1 + 0x14100604, // 000D LT R4 R3 R4 + 0x78120019, // 000E JMPF R4 #0029 + 0x88100101, // 000F GETMBR R4 R0 K1 + 0x881009AA, // 0010 GETMBR R4 R4 K170 + 0x94100803, // 0011 GETIDX R4 R4 R3 + 0x881409AB, // 0012 GETMBR R5 R4 K171 + 0x78160012, // 0013 JMPF R5 #0027 + 0x4C140000, // 0014 LDNIL R5 + 0x1C140405, // 0015 EQ R5 R2 R5 + 0x78160002, // 0016 JMPF R5 #001A + 0x60140013, // 0017 GETGBL R5 G19 + 0x7C140000, // 0018 CALL R5 0 + 0x5C080A00, // 0019 MOVE R2 R5 + 0x881409AC, // 001A GETMBR R5 R4 K172 + 0x88140BAD, // 001B GETMBR R5 R5 K173 + 0x8C180512, // 001C GETMET R6 R2 K18 + 0x5C200A00, // 001D MOVE R8 R5 + 0x7C180400, // 001E CALL R6 2 + 0x741A0002, // 001F JMPT R6 #0023 + 0x60180012, // 0020 GETGBL R6 G18 + 0x7C180000, // 0021 CALL R6 0 + 0x98080A06, // 0022 SETIDX R2 R5 R6 + 0x94180405, // 0023 GETIDX R6 R2 R5 + 0x8C180D18, // 0024 GETMET R6 R6 K24 + 0x5C200800, // 0025 MOVE R8 R4 + 0x7C180400, // 0026 CALL R6 2 + 0x000C0714, // 0027 ADD R3 R3 K20 + 0x7001FFDF, // 0028 JMP #0009 + 0x4C100000, // 0029 LDNIL R4 + 0x1C100404, // 002A EQ R4 R2 R4 + 0x78120000, // 002B JMPF R4 #002D + 0x80000800, // 002C RET 0 + 0x8C100307, // 002D GETMET R4 R1 K7 + 0x58180027, // 002E LDCONST R6 K39 + 0x7C100400, // 002F CALL R4 2 + 0x8C100307, // 0030 GETMET R4 R1 K7 + 0x581800AE, // 0031 LDCONST R6 K174 + 0x7C100400, // 0032 CALL R4 2 + 0x8C100307, // 0033 GETMET R4 R1 K7 + 0xB81A7A00, // 0034 GETNGBL R6 K61 + 0x88180DAF, // 0035 GETMBR R6 R6 K175 + 0x7C100400, // 0036 CALL R4 2 + 0x60100010, // 0037 GETGBL R4 G16 + 0x88140101, // 0038 GETMBR R5 R0 K1 + 0x8C140BB0, // 0039 GETMET R5 R5 K176 + 0x5C1C0400, // 003A MOVE R7 R2 + 0x7C140400, // 003B CALL R5 2 + 0x7C100200, // 003C CALL R4 1 + 0xA8020030, // 003D EXBLK 0 #006F + 0x5C140800, // 003E MOVE R5 R4 + 0x7C140000, // 003F CALL R5 0 + 0x8C18032A, // 0040 GETMET R6 R1 K42 + 0x5C200A00, // 0041 MOVE R8 R5 + 0x7C180400, // 0042 CALL R6 2 + 0x8C1C032A, // 0043 GETMET R7 R1 K42 + 0x88240101, // 0044 GETMBR R9 R0 K1 + 0x8C241398, // 0045 GETMET R9 R9 K152 + 0x5C2C0A00, // 0046 MOVE R11 R5 + 0x7C240400, // 0047 CALL R9 2 + 0x8C24136D, // 0048 GETMET R9 R9 K109 + 0x582C008E, // 0049 LDCONST R11 K142 + 0x5C300A00, // 004A MOVE R12 R5 + 0x7C240600, // 004B CALL R9 3 + 0x7C1C0400, // 004C CALL R7 2 + 0x8C200307, // 004D GETMET R8 R1 K7 + 0x60280018, // 004E GETGBL R10 G24 + 0x582C00B1, // 004F LDCONST R11 K177 + 0x5C300C00, // 0050 MOVE R12 R6 + 0x5C340C00, // 0051 MOVE R13 R6 + 0x5C380E00, // 0052 MOVE R14 R7 + 0x7C280800, // 0053 CALL R10 4 + 0x7C200400, // 0054 CALL R8 2 + 0x94200405, // 0055 GETIDX R8 R2 R5 + 0x94201106, // 0056 GETIDX R8 R8 K6 + 0x882011AC, // 0057 GETMBR R8 R8 K172 + 0x8C240307, // 0058 GETMET R9 R1 K7 + 0x8C2C11B2, // 0059 GETMET R11 R8 K178 + 0x7C2C0200, // 005A CALL R11 1 + 0x7C240400, // 005B CALL R9 2 + 0x60240010, // 005C GETGBL R9 G16 + 0x94280405, // 005D GETIDX R10 R2 R5 + 0x7C240200, // 005E CALL R9 1 + 0xA802000A, // 005F EXBLK 0 #006B + 0x5C281200, // 0060 MOVE R10 R9 + 0x7C280000, // 0061 CALL R10 0 + 0x8C2C0307, // 0062 GETMET R11 R1 K7 + 0x583400B3, // 0063 LDCONST R13 K179 + 0x7C2C0400, // 0064 CALL R11 2 + 0x8C2C15B4, // 0065 GETMET R11 R10 K180 + 0x7C2C0200, // 0066 CALL R11 1 + 0x8C2C0307, // 0067 GETMET R11 R1 K7 + 0x583400B5, // 0068 LDCONST R13 K181 + 0x7C2C0400, // 0069 CALL R11 2 + 0x7001FFF4, // 006A JMP #0060 + 0x5824001C, // 006B LDCONST R9 K28 + 0xAC240200, // 006C CATCH R9 1 0 + 0xB0080000, // 006D RAISE 2 R0 R0 + 0x7001FFCE, // 006E JMP #003E + 0x5810001C, // 006F LDCONST R4 K28 + 0xAC100200, // 0070 CATCH R4 1 0 + 0xB0080000, // 0071 RAISE 2 R0 R0 + 0x8C100307, // 0072 GETMET R4 R1 K7 + 0x581800B6, // 0073 LDCONST R6 K182 + 0x7C100400, // 0074 CALL R4 2 + 0x80000000, // 0075 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_add_config_button +********************************************************************/ +be_local_closure(class_Matter_UI_web_add_config_button, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(web_add_config_button), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080307, // 0001 GETMET R2 R1 K7 + 0x581000B7, // 0002 LDCONST R4 K183 + 0x7C080400, // 0003 CALL R2 2 + 0x8C080307, // 0004 GETMET R2 R1 K7 + 0xB8127A00, // 0005 GETNGBL R4 K61 + 0x881009B8, // 0006 GETMBR R4 R4 K184 + 0x7C080400, // 0007 CALL R2 2 + 0x8C080307, // 0008 GETMET R2 R1 K7 + 0x581000B9, // 0009 LDCONST R4 K185 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: plugin_name +********************************************************************/ +be_local_closure(class_Matter_UI_plugin_name, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 11, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(plugin_name), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x1C0C0345, // 0000 EQ R3 R1 K69 + 0x780E0000, // 0001 JMPF R3 #0003 + 0x80068A00, // 0002 RET 1 K69 + 0x880C0101, // 0003 GETMBR R3 R0 K1 + 0x8C0C07BA, // 0004 GETMET R3 R3 K186 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C0C0400, // 0006 CALL R3 2 + 0x80040600, // 0007 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_part_mgr_adv +********************************************************************/ +be_local_closure(class_Matter_UI_page_part_mgr_adv, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(page_part_mgr_adv), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080354, // 0001 GETMET R2 R1 K84 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0001, // 0003 JMPT R2 #0006 + 0x4C080000, // 0004 LDNIL R2 + 0x80040400, // 0005 RET 1 R2 + 0x8C080355, // 0006 GETMET R2 R1 K85 + 0x581000BB, // 0007 LDCONST R4 K187 + 0x7C080400, // 0008 CALL R2 2 + 0x8C080357, // 0009 GETMET R2 R1 K87 + 0x7C080200, // 000A CALL R2 1 + 0x8808014A, // 000B GETMBR R2 R0 K74 + 0x780A0003, // 000C JMPF R2 #0011 + 0x8C0801BC, // 000D GETMET R2 R0 K188 + 0x7C080200, // 000E CALL R2 1 + 0x8C0801BD, // 000F GETMET R2 R0 K189 + 0x7C080200, // 0010 CALL R2 1 + 0x8C0801BE, // 0011 GETMET R2 R0 K190 + 0x7C080200, // 0012 CALL R2 1 + 0x8C08035D, // 0013 GETMET R2 R1 K93 + 0x7C080200, // 0014 CALL R2 1 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_part_mgr_add +********************************************************************/ +be_local_closure(class_Matter_UI_page_part_mgr_add, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(page_part_mgr_add), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080354, // 0001 GETMET R2 R1 K84 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0001, // 0003 JMPT R2 #0006 + 0x4C080000, // 0004 LDNIL R2 + 0x80040400, // 0005 RET 1 R2 + 0x8C080355, // 0006 GETMET R2 R1 K85 + 0x581000BF, // 0007 LDCONST R4 K191 + 0x7C080400, // 0008 CALL R2 2 + 0x8C080357, // 0009 GETMET R2 R1 K87 + 0x7C080200, // 000A CALL R2 1 + 0x8C0803C0, // 000B GETMET R2 R1 K192 + 0x58100096, // 000C LDCONST R4 K150 + 0x7C080400, // 000D CALL R2 2 + 0x880C014A, // 000E GETMBR R3 R0 K74 + 0x780E0002, // 000F JMPF R3 #0013 + 0x8C0C01C1, // 0010 GETMET R3 R0 K193 + 0x5C140400, // 0011 MOVE R5 R2 + 0x7C0C0400, // 0012 CALL R3 2 + 0x8C0C035B, // 0013 GETMET R3 R1 K91 + 0x8814035C, // 0014 GETMBR R5 R1 K92 + 0x7C0C0400, // 0015 CALL R3 2 + 0x8C0C035D, // 0016 GETMET R3 R1 K93 + 0x7C0C0200, // 0017 CALL R3 1 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_add_handler +********************************************************************/ +be_local_closure(class_Matter_UI_web_add_handler, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 4]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(page_part_mgr), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(page_part_ctl), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(page_part_mgr_adv), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(page_part_mgr_add), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(web_add_handler), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C0803C2, // 0001 GETMET R2 R1 K194 + 0x581000C3, // 0002 LDCONST R4 K195 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x881803C4, // 0004 GETMBR R6 R1 K196 + 0x7C080800, // 0005 CALL R2 4 + 0x8C0803C2, // 0006 GETMET R2 R1 K194 + 0x581000C3, // 0007 LDCONST R4 K195 + 0x84140001, // 0008 CLOSURE R5 P1 + 0x881803C5, // 0009 GETMBR R6 R1 K197 + 0x7C080800, // 000A CALL R2 4 + 0x8C0803C2, // 000B GETMET R2 R1 K194 + 0x581000C6, // 000C LDCONST R4 K198 + 0x84140002, // 000D CLOSURE R5 P2 + 0x881803C4, // 000E GETMBR R6 R1 K196 + 0x7C080800, // 000F CALL R2 4 + 0x8C0803C2, // 0010 GETMET R2 R1 K194 + 0x581000C7, // 0011 LDCONST R4 K199 + 0x84140003, // 0012 CLOSURE R5 P3 + 0x881803C4, // 0013 GETMBR R6 R1 K196 + 0x7C080800, // 0014 CALL R2 4 + 0xA0000000, // 0015 CLOSE R0 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_UI_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90020201, // 0000 SETMBR R0 K1 R1 + 0x90029402, // 0001 SETMBR R0 K74 R2 + 0xB80E0800, // 0002 GETNGBL R3 K4 + 0x8C0C07C8, // 0003 GETMET R3 R3 K200 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: plugin_option +********************************************************************/ +be_local_closure(class_Matter_UI_plugin_option, /* name */ + be_nested_proto( + 16, /* nstack */ + 3, /* argc */ + 11, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(plugin_option), + &be_const_str_solidified, + ( &(const binstruction[63]) { /* code */ + 0xA40E0000, // 0000 IMPORT R3 K0 + 0xA412D200, // 0001 IMPORT R4 K105 + 0x60140012, // 0002 GETGBL R5 G18 + 0x7C140000, // 0003 CALL R5 0 + 0x60180010, // 0004 GETGBL R6 G16 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x7C180200, // 0006 CALL R6 1 + 0xA8020007, // 0007 EXBLK 0 #0010 + 0x5C1C0C00, // 0008 MOVE R7 R6 + 0x7C1C0000, // 0009 CALL R7 0 + 0x8C20096A, // 000A GETMET R8 R4 K106 + 0x5C280E00, // 000B MOVE R10 R7 + 0x582C006B, // 000C LDCONST R11 K107 + 0x7C200600, // 000D CALL R8 3 + 0x00140A08, // 000E ADD R5 R5 R8 + 0x7001FFF7, // 000F JMP #0008 + 0x5818001C, // 0010 LDCONST R6 K28 + 0xAC180200, // 0011 CATCH R6 1 0 + 0xB0080000, // 0012 RAISE 2 R0 R0 + 0x58180006, // 0013 LDCONST R6 K6 + 0x601C000C, // 0014 GETGBL R7 G12 + 0x5C200A00, // 0015 MOVE R8 R5 + 0x7C1C0200, // 0016 CALL R7 1 + 0x141C0C07, // 0017 LT R7 R6 R7 + 0x781E0024, // 0018 JMPF R7 #003E + 0x941C0A06, // 0019 GETIDX R7 R5 R6 + 0x1C200F45, // 001A EQ R8 R7 K69 + 0x78220003, // 001B JMPF R8 #0020 + 0x8C200707, // 001C GETMET R8 R3 K7 + 0x582800C9, // 001D LDCONST R10 K201 + 0x7C200400, // 001E CALL R8 2 + 0x7002001B, // 001F JMP #003C + 0x1C200FCA, // 0020 EQ R8 R7 K202 + 0x78220003, // 0021 JMPF R8 #0026 + 0x8C200707, // 0022 GETMET R8 R3 K7 + 0x582800CB, // 0023 LDCONST R10 K203 + 0x7C200400, // 0024 CALL R8 2 + 0x70020015, // 0025 JMP #003C + 0x1C200FCC, // 0026 EQ R8 R7 K204 + 0x78220003, // 0027 JMPF R8 #002C + 0x8C200707, // 0028 GETMET R8 R3 K7 + 0x582800CD, // 0029 LDCONST R10 K205 + 0x7C200400, // 002A CALL R8 2 + 0x7002000F, // 002B JMP #003C + 0x88200101, // 002C GETMBR R8 R0 K1 + 0x8C2011BA, // 002D GETMET R8 R8 K186 + 0x5C280E00, // 002E MOVE R10 R7 + 0x7C200400, // 002F CALL R8 2 + 0x8C240707, // 0030 GETMET R9 R3 K7 + 0x602C0018, // 0031 GETGBL R11 G24 + 0x583000CE, // 0032 LDCONST R12 K206 + 0x5C340E00, // 0033 MOVE R13 R7 + 0x1C380E01, // 0034 EQ R14 R7 R1 + 0x783A0001, // 0035 JMPF R14 #0038 + 0x583800CF, // 0036 LDCONST R14 K207 + 0x70020000, // 0037 JMP #0039 + 0x58380045, // 0038 LDCONST R14 K69 + 0x5C3C1000, // 0039 MOVE R15 R8 + 0x7C2C0800, // 003A CALL R11 4 + 0x7C240400, // 003B CALL R9 2 + 0x00180D14, // 003C ADD R6 R6 K20 + 0x7001FFD5, // 003D JMP #0014 + 0x80000000, // 003E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show_remote_autoconf +********************************************************************/ +be_local_closure(class_Matter_UI_show_remote_autoconf, /* name */ + be_nested_proto( + 27, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_UI, /* shared constants */ + be_str_weak(show_remote_autoconf), + &be_const_str_solidified, + ( &(const binstruction[220]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0xA40ED000, // 0001 IMPORT R3 K104 + 0x1C100345, // 0002 EQ R4 R1 K69 + 0x78120000, // 0003 JMPF R4 #0005 + 0x80000800, // 0004 RET 0 + 0xB8127A00, // 0005 GETNGBL R4 K61 + 0x881009D0, // 0006 GETMBR R4 R4 K208 + 0x881009D1, // 0007 GETMBR R4 R4 K209 + 0xB8167A00, // 0008 GETNGBL R5 K61 + 0x8C140BD2, // 0009 GETMET R5 R5 K210 + 0x4C1C0000, // 000A LDNIL R7 + 0x5C200200, // 000B MOVE R8 R1 + 0x5C240800, // 000C MOVE R9 R4 + 0x7C140800, // 000D CALL R5 4 + 0x8C180BD3, // 000E GETMET R6 R5 K211 + 0x582000D4, // 000F LDCONST R8 K212 + 0x5C240800, // 0010 MOVE R9 R4 + 0x7C180600, // 0011 CALL R6 3 + 0x4C1C0000, // 0012 LDNIL R7 + 0x201C0C07, // 0013 NE R7 R6 R7 + 0x781E0003, // 0014 JMPF R7 #0019 + 0x8C1C07D5, // 0015 GETMET R7 R3 K213 + 0x5C240C00, // 0016 MOVE R9 R6 + 0x7C1C0400, // 0017 CALL R7 2 + 0x5C180E00, // 0018 MOVE R6 R7 + 0x4C1C0000, // 0019 LDNIL R7 + 0x201C0C07, // 001A NE R7 R6 R7 + 0x781E0003, // 001B JMPF R7 #0020 + 0x8C1C0D6D, // 001C GETMET R7 R6 K109 + 0x582400D6, // 001D LDCONST R9 K214 + 0x7C1C0400, // 001E CALL R7 2 + 0x5C180E00, // 001F MOVE R6 R7 + 0x4C1C0000, // 0020 LDNIL R7 + 0x4C200000, // 0021 LDNIL R8 + 0x20200C08, // 0022 NE R8 R6 R8 + 0x78220012, // 0023 JMPF R8 #0037 + 0x8C200BD3, // 0024 GETMET R8 R5 K211 + 0x582800D7, // 0025 LDCONST R10 K215 + 0x5C2C0800, // 0026 MOVE R11 R4 + 0x7C200600, // 0027 CALL R8 3 + 0x5C1C1000, // 0028 MOVE R7 R8 + 0x4C200000, // 0029 LDNIL R8 + 0x20200E08, // 002A NE R8 R7 R8 + 0x78220003, // 002B JMPF R8 #0030 + 0x8C2007D5, // 002C GETMET R8 R3 K213 + 0x5C280E00, // 002D MOVE R10 R7 + 0x7C200400, // 002E CALL R8 2 + 0x5C1C1000, // 002F MOVE R7 R8 + 0x4C200000, // 0030 LDNIL R8 + 0x20200E08, // 0031 NE R8 R7 R8 + 0x78220003, // 0032 JMPF R8 #0037 + 0x8C200F6D, // 0033 GETMET R8 R7 K109 + 0x582800D8, // 0034 LDCONST R10 K216 + 0x7C200400, // 0035 CALL R8 2 + 0x5C1C1000, // 0036 MOVE R7 R8 + 0x4C200000, // 0037 LDNIL R8 + 0x20200C08, // 0038 NE R8 R6 R8 + 0x78220098, // 0039 JMPF R8 #00D3 + 0x4C200000, // 003A LDNIL R8 + 0x20200E08, // 003B NE R8 R7 R8 + 0x78220095, // 003C JMPF R8 #00D3 + 0xB823B200, // 003D GETNGBL R8 K217 + 0x60240018, // 003E GETGBL R9 G24 + 0x582800DA, // 003F LDCONST R10 K218 + 0x5C2C0200, // 0040 MOVE R11 R1 + 0x60300008, // 0041 GETGBL R12 G8 + 0x5C340C00, // 0042 MOVE R13 R6 + 0x7C300200, // 0043 CALL R12 1 + 0x60340008, // 0044 GETGBL R13 G8 + 0x5C380E00, // 0045 MOVE R14 R7 + 0x7C340200, // 0046 CALL R13 1 + 0x7C240800, // 0047 CALL R9 4 + 0x5828000B, // 0048 LDCONST R10 K11 + 0x7C200400, // 0049 CALL R8 2 + 0x8C2001DB, // 004A GETMET R8 R0 K219 + 0x5C280C00, // 004B MOVE R10 R6 + 0x5C2C0E00, // 004C MOVE R11 R7 + 0x7C200600, // 004D CALL R8 3 + 0x8C2401A3, // 004E GETMET R9 R0 K163 + 0x882C01DC, // 004F GETMBR R11 R0 K220 + 0x7C240400, // 0050 CALL R9 2 + 0x8C240507, // 0051 GETMET R9 R2 K7 + 0x582C00DD, // 0052 LDCONST R11 K221 + 0x7C240400, // 0053 CALL R9 2 + 0x8C24052A, // 0054 GETMET R9 R2 K42 + 0x5C2C0200, // 0055 MOVE R11 R1 + 0x7C240400, // 0056 CALL R9 2 + 0x8C280507, // 0057 GETMET R10 R2 K7 + 0x60300018, // 0058 GETGBL R12 G24 + 0x583400DE, // 0059 LDCONST R13 K222 + 0x5C381200, // 005A MOVE R14 R9 + 0x5C3C1200, // 005B MOVE R15 R9 + 0x7C300600, // 005C CALL R12 3 + 0x7C280400, // 005D CALL R10 2 + 0x8C280507, // 005E GETMET R10 R2 K7 + 0x583000DF, // 005F LDCONST R12 K223 + 0x7C280400, // 0060 CALL R10 2 + 0x8C280507, // 0061 GETMET R10 R2 K7 + 0x60300018, // 0062 GETGBL R12 G24 + 0x583400E0, // 0063 LDCONST R13 K224 + 0x8C38052A, // 0064 GETMET R14 R2 K42 + 0x5C400200, // 0065 MOVE R16 R1 + 0x7C380400, // 0066 CALL R14 2 + 0x7C300400, // 0067 CALL R12 2 + 0x7C280400, // 0068 CALL R10 2 + 0x58280006, // 0069 LDCONST R10 K6 + 0x602C000C, // 006A GETGBL R11 G12 + 0x5C301000, // 006B MOVE R12 R8 + 0x7C2C0200, // 006C CALL R11 1 + 0x142C140B, // 006D LT R11 R10 R11 + 0x782E0040, // 006E JMPF R11 #00B0 + 0x942C100A, // 006F GETIDX R11 R8 R10 + 0x8C30176D, // 0070 GETMET R12 R11 K109 + 0x58380019, // 0071 LDCONST R14 K25 + 0x583C0045, // 0072 LDCONST R15 K69 + 0x7C300600, // 0073 CALL R12 3 + 0x20341945, // 0074 NE R13 R12 K69 + 0x78360000, // 0075 JMPF R13 #0077 + 0x0033140C, // 0076 ADD R12 K138 R12 + 0x88340101, // 0077 GETMBR R13 R0 K1 + 0x88341B6C, // 0078 GETMBR R13 R13 K108 + 0x8C341B6D, // 0079 GETMET R13 R13 K109 + 0x5C3C1800, // 007A MOVE R15 R12 + 0x7C340400, // 007B CALL R13 2 + 0x58380045, // 007C LDCONST R14 K69 + 0x583C0045, // 007D LDCONST R15 K69 + 0x4C400000, // 007E LDNIL R16 + 0x20401A10, // 007F NE R16 R13 R16 + 0x78420005, // 0080 JMPF R16 #0087 + 0x8C401B8B, // 0081 GETMET R16 R13 K139 + 0x5C481A00, // 0082 MOVE R18 R13 + 0x5C4C1600, // 0083 MOVE R19 R11 + 0x7C400600, // 0084 CALL R16 3 + 0x5C382000, // 0085 MOVE R14 R16 + 0x883C1B6E, // 0086 GETMBR R15 R13 K110 + 0x8C400507, // 0087 GETMET R16 R2 K7 + 0x60480018, // 0088 GETGBL R18 G24 + 0x584C00E1, // 0089 LDCONST R19 K225 + 0x5C501400, // 008A MOVE R20 R10 + 0x7C480400, // 008B CALL R18 2 + 0x7C400400, // 008C CALL R16 2 + 0x8C400507, // 008D GETMET R16 R2 K7 + 0x60480018, // 008E GETGBL R18 G24 + 0x584C00E2, // 008F LDCONST R19 K226 + 0x5C501400, // 0090 MOVE R20 R10 + 0x5C541400, // 0091 MOVE R21 R10 + 0x7C480600, // 0092 CALL R18 3 + 0x7C400400, // 0093 CALL R16 2 + 0x8C4001A8, // 0094 GETMET R16 R0 K168 + 0x5C481800, // 0095 MOVE R18 R12 + 0x884C01DC, // 0096 GETMBR R19 R0 K220 + 0x7C400600, // 0097 CALL R16 3 + 0x8C400507, // 0098 GETMET R16 R2 K7 + 0x584800E3, // 0099 LDCONST R18 K227 + 0x7C400400, // 009A CALL R16 2 + 0x8C400507, // 009B GETMET R16 R2 K7 + 0x60480018, // 009C GETGBL R18 G24 + 0x584C00E4, // 009D LDCONST R19 K228 + 0x5C501400, // 009E MOVE R20 R10 + 0x5C541400, // 009F MOVE R21 R10 + 0x8C58052A, // 00A0 GETMET R22 R2 K42 + 0x5C601C00, // 00A1 MOVE R24 R14 + 0x7C580400, // 00A2 CALL R22 2 + 0x8C5C052A, // 00A3 GETMET R23 R2 K42 + 0x5C641E00, // 00A4 MOVE R25 R15 + 0x7C5C0400, // 00A5 CALL R23 2 + 0x8C60052A, // 00A6 GETMET R24 R2 K42 + 0x5C681E00, // 00A7 MOVE R26 R15 + 0x7C600400, // 00A8 CALL R24 2 + 0x7C480C00, // 00A9 CALL R18 6 + 0x7C400400, // 00AA CALL R16 2 + 0x8C400507, // 00AB GETMET R16 R2 K7 + 0x584800B5, // 00AC LDCONST R18 K181 + 0x7C400400, // 00AD CALL R16 2 + 0x00281514, // 00AE ADD R10 R10 K20 + 0x7001FFB9, // 00AF JMP #006A + 0x8C2C0507, // 00B0 GETMET R11 R2 K7 + 0x60340018, // 00B1 GETGBL R13 G24 + 0x583800E1, // 00B2 LDCONST R14 K225 + 0x5C3C1400, // 00B3 MOVE R15 R10 + 0x7C340400, // 00B4 CALL R13 2 + 0x7C2C0400, // 00B5 CALL R11 2 + 0x8C2C0507, // 00B6 GETMET R11 R2 K7 + 0x60340018, // 00B7 GETGBL R13 G24 + 0x583800E2, // 00B8 LDCONST R14 K226 + 0x5C3C1400, // 00B9 MOVE R15 R10 + 0x5C401400, // 00BA MOVE R16 R10 + 0x7C340600, // 00BB CALL R13 3 + 0x7C2C0400, // 00BC CALL R11 2 + 0x8C2C01A8, // 00BD GETMET R11 R0 K168 + 0x58340045, // 00BE LDCONST R13 K69 + 0x883801DC, // 00BF GETMBR R14 R0 K220 + 0x7C2C0600, // 00C0 CALL R11 3 + 0x8C2C0507, // 00C1 GETMET R11 R2 K7 + 0x583400E3, // 00C2 LDCONST R13 K227 + 0x7C2C0400, // 00C3 CALL R11 2 + 0x8C2C0507, // 00C4 GETMET R11 R2 K7 + 0x60340018, // 00C5 GETGBL R13 G24 + 0x583800E5, // 00C6 LDCONST R14 K229 + 0x5C3C1400, // 00C7 MOVE R15 R10 + 0x5C401400, // 00C8 MOVE R16 R10 + 0x58440045, // 00C9 LDCONST R17 K69 + 0x7C340800, // 00CA CALL R13 4 + 0x7C2C0400, // 00CB CALL R11 2 + 0x8C2C0507, // 00CC GETMET R11 R2 K7 + 0x583400B5, // 00CD LDCONST R13 K181 + 0x7C2C0400, // 00CE CALL R11 2 + 0x8C2C0507, // 00CF GETMET R11 R2 K7 + 0x583400E6, // 00D0 LDCONST R13 K230 + 0x7C2C0400, // 00D1 CALL R11 2 + 0x70020007, // 00D2 JMP #00DB + 0x8C200507, // 00D3 GETMET R8 R2 K7 + 0x60280018, // 00D4 GETGBL R10 G24 + 0x582C00E7, // 00D5 LDCONST R11 K231 + 0x8C30052A, // 00D6 GETMET R12 R2 K42 + 0x5C380200, // 00D7 MOVE R14 R1 + 0x7C300400, // 00D8 CALL R12 2 + 0x7C280400, // 00D9 CALL R10 2 + 0x7C200400, // 00DA CALL R8 2 + 0x80000000, // 00DB RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_UI +********************************************************************/ +be_local_class(Matter_UI, + 2, + NULL, + be_nested_map(27, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(show_remote_autoconf, 9), be_const_closure(class_Matter_UI_show_remote_autoconf_closure) }, + { be_const_key_weak(_CLASSES_TYPES2, -1), be_nested_str_weak(_X7Chttp_relay_X7Chttp_light0_X7Chttp_light1_X7Chttp_light2_X7Chttp_light3_X7Chttp_temperature_X7Chttp_pressure_X7Chttp_illuminance_X7Chttp_humidity_X7Chttp_occupancy_X7Chttp_contact_X7Chttp_flow_X7Chttp_rain_X7Chttp_waterleak_X7Chttp_airquality) }, + { be_const_key_weak(show_passcode_form, -1), be_const_closure(class_Matter_UI_show_passcode_form_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UI_init_closure) }, + { be_const_key_weak(show_fabric_info, 11), be_const_closure(class_Matter_UI_show_fabric_info_closure) }, + { be_const_key_weak(show_qrcode, 19), be_const_closure(class_Matter_UI_show_qrcode_closure) }, + { be_const_key_weak(show_plugins_hints_js, -1), be_const_closure(class_Matter_UI_show_plugins_hints_js_closure) }, + { be_const_key_weak(page_part_ctl, 2), be_const_closure(class_Matter_UI_page_part_ctl_closure) }, + { be_const_key_weak(page_part_mgr, 20), be_const_closure(class_Matter_UI_page_part_mgr_closure) }, + { be_const_key_weak(matter_enabled, -1), be_const_var(1) }, + { be_const_key_weak(show_commissioning_info, 6), be_const_closure(class_Matter_UI_show_commissioning_info_closure) }, + { be_const_key_weak(page_part_mgr_adv, -1), be_const_closure(class_Matter_UI_page_part_mgr_adv_closure) }, + { be_const_key_weak(show_enable, -1), be_const_closure(class_Matter_UI_show_enable_closure) }, + { be_const_key_weak(equal_map, -1), be_const_static_closure(class_Matter_UI_equal_map_closure) }, + { be_const_key_weak(web_get_arg, -1), be_const_closure(class_Matter_UI_web_get_arg_closure) }, + { be_const_key_weak(show_plugins_configuration, -1), be_const_closure(class_Matter_UI_show_plugins_configuration_closure) }, + { be_const_key_weak(generate_config_from_status, 21), be_const_closure(class_Matter_UI_generate_config_from_status_closure) }, + { be_const_key_weak(show_bridge_status, -1), be_const_closure(class_Matter_UI_show_bridge_status_closure) }, + { be_const_key_weak(web_add_config_button, -1), be_const_closure(class_Matter_UI_web_add_config_button_closure) }, + { be_const_key_weak(_CLASSES_TYPES_STD, -1), be_nested_str_weak(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Cgensw_btn_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7Crain_X7Cwaterleak_X7Cairquality) }, + { be_const_key_weak(plugin_name, -1), be_const_closure(class_Matter_UI_plugin_name_closure) }, + { be_const_key_weak(_CLASSES_TYPES_VIRTUAL, -1), be_nested_str_weak(_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_fan_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow_X7Cv_rain_X7Cv_waterleak_X7Cv_airquality) }, + { be_const_key_weak(page_part_mgr_add, -1), be_const_closure(class_Matter_UI_page_part_mgr_add_closure) }, + { be_const_key_weak(web_add_handler, -1), be_const_closure(class_Matter_UI_web_add_handler_closure) }, + { be_const_key_weak(device, 3), be_const_var(0) }, + { be_const_key_weak(plugin_option, -1), be_const_closure(class_Matter_UI_plugin_option_closure) }, + { be_const_key_weak(web_sensor, 0), be_const_closure(class_Matter_UI_web_sensor_closure) }, + })), + be_str_weak(Matter_UI) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Autoconf.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Autoconf.h new file mode 100644 index 000000000..74081e32f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Autoconf.h @@ -0,0 +1,728 @@ +/* Solidification of Matter_z_Autoconf.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Autoconf' ktab size: 73, total: 90 (saved 136 bytes) +static const bvalue be_ktab_class_Matter_Autoconf[73] = { + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(k2l_num), + /* K2 */ be_nested_str_weak(plugins), + /* K3 */ be_nested_str_weak(push), + /* K4 */ be_nested_str_weak(matter), + /* K5 */ be_nested_str_weak(Plugin_Root), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(log), + /* K8 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints), + /* K9 */ be_const_int(2), + /* K10 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s), + /* K11 */ be_nested_str_weak(root), + /* K12 */ be_nested_str_weak(), + /* K13 */ be_nested_str_weak(Plugin_Aggregator), + /* K14 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K15 */ be_nested_str_weak(aggregator), + /* K16 */ be_nested_str_weak(find), + /* K17 */ be_nested_str_weak(type), + /* K18 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping), + /* K19 */ be_const_int(3), + /* K20 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed), + /* K21 */ be_nested_str_weak(plugins_classes), + /* K22 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27), + /* K23 */ be_nested_str_weak(_X27_X20skipping), + /* K24 */ be_nested_str_weak(conf_to_log), + /* K25 */ be_nested_str_weak(MTR_X3A_X20Exception), + /* K26 */ be_nested_str_weak(_X7C), + /* K27 */ be_nested_str_weak(stop_iteration), + /* K28 */ be_nested_str_weak(tasmota), + /* K29 */ be_nested_str_weak(publish_result), + /* K30 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D), + /* K31 */ be_nested_str_weak(Matter), + /* K32 */ be_nested_str_weak(json), + /* K33 */ be_nested_str_weak(START_ENDPOINT), + /* K34 */ be_nested_str_weak(light), + /* K35 */ be_nested_str_weak(get), + /* K36 */ be_nested_str_weak(channels), + /* K37 */ be_const_int(1), + /* K38 */ be_nested_str_weak(light1), + /* K39 */ be_nested_str_weak(light2), + /* K40 */ be_nested_str_weak(light3), + /* K41 */ be_nested_str_weak(cmd), + /* K42 */ be_nested_str_weak(Status_X2013), + /* K43 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20), + /* K44 */ be_nested_str_weak(contains), + /* K45 */ be_nested_str_weak(StatusSHT), + /* K46 */ be_nested_str_weak(SHT), + /* K47 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s), + /* K48 */ be_nested_str_weak(Relay1), + /* K49 */ be_nested_str_weak(Relay2), + /* K50 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s), + /* K51 */ be_nested_str_weak(TiltConfig), + /* K52 */ be_nested_str_weak(shutter_X2Btilt), + /* K53 */ be_nested_str_weak(shutter), + /* K54 */ be_nested_str_weak(get_power), + /* K55 */ be_nested_str_weak(relay), + /* K56 */ be_nested_str_weak(load), + /* K57 */ be_nested_str_weak(read_sensors), + /* K58 */ be_nested_str_weak(autoconf_sensors_list), + /* K59 */ be_nested_str_weak(k2l), + /* K60 */ be_nested_str_weak(Temperature), + /* K61 */ be_nested_str_weak(_X23Temperature), + /* K62 */ be_nested_str_weak(temperature), + /* K63 */ be_nested_str_weak(filter), + /* K64 */ be_nested_str_weak(Pressure), + /* K65 */ be_nested_str_weak(_X23Pressure), + /* K66 */ be_nested_str_weak(pressure), + /* K67 */ be_nested_str_weak(Illuminance), + /* K68 */ be_nested_str_weak(_X23Illuminance), + /* K69 */ be_nested_str_weak(illuminance), + /* K70 */ be_nested_str_weak(Humidity), + /* K71 */ be_nested_str_weak(_X23Humidity), + /* K72 */ be_nested_str_weak(humidity), +}; + + +extern const bclass be_class_Matter_Autoconf; + +/******************************************************************** +** Solidified function: instantiate_plugins_from_config +********************************************************************/ +be_local_closure(class_Matter_Autoconf_instantiate_plugins_from_config, /* name */ + be_nested_proto( + 18, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Autoconf, /* shared constants */ + be_str_weak(instantiate_plugins_from_config), + &be_const_str_solidified, + ( &(const binstruction[148]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x880C0100, // 0004 GETMBR R3 R0 K0 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x8C100703, // 0006 GETMET R4 R3 K3 + 0xB81A0800, // 0007 GETNGBL R6 K4 + 0x8C180D05, // 0008 GETMET R6 R6 K5 + 0x88200100, // 0009 GETMBR R8 R0 K0 + 0x58240006, // 000A LDCONST R9 K6 + 0x60280013, // 000B GETGBL R10 G19 + 0x7C280000, // 000C CALL R10 0 + 0x7C180800, // 000D CALL R6 4 + 0x7C100400, // 000E CALL R4 2 + 0xB8120E00, // 000F GETNGBL R4 K7 + 0x58140008, // 0010 LDCONST R5 K8 + 0x58180009, // 0011 LDCONST R6 K9 + 0x7C100400, // 0012 CALL R4 2 + 0xB8120E00, // 0013 GETNGBL R4 K7 + 0x60140018, // 0014 GETGBL R5 G24 + 0x5818000A, // 0015 LDCONST R6 K10 + 0x581C0006, // 0016 LDCONST R7 K6 + 0x5820000B, // 0017 LDCONST R8 K11 + 0x5824000C, // 0018 LDCONST R9 K12 + 0x7C140800, // 0019 CALL R5 4 + 0x58180009, // 001A LDCONST R6 K9 + 0x7C100400, // 001B CALL R4 2 + 0x8C100703, // 001C GETMET R4 R3 K3 + 0xB81A0800, // 001D GETNGBL R6 K4 + 0x8C180D0D, // 001E GETMET R6 R6 K13 + 0x88200100, // 001F GETMBR R8 R0 K0 + 0xB8260800, // 0020 GETNGBL R9 K4 + 0x8824130E, // 0021 GETMBR R9 R9 K14 + 0x60280013, // 0022 GETGBL R10 G19 + 0x7C280000, // 0023 CALL R10 0 + 0x7C180800, // 0024 CALL R6 4 + 0x7C100400, // 0025 CALL R4 2 + 0xB8120E00, // 0026 GETNGBL R4 K7 + 0x60140018, // 0027 GETGBL R5 G24 + 0x5818000A, // 0028 LDCONST R6 K10 + 0xB81E0800, // 0029 GETNGBL R7 K4 + 0x881C0F0E, // 002A GETMBR R7 R7 K14 + 0x5820000F, // 002B LDCONST R8 K15 + 0x5824000C, // 002C LDCONST R9 K12 + 0x7C140800, // 002D CALL R5 4 + 0x58180009, // 002E LDCONST R6 K9 + 0x7C100400, // 002F CALL R4 2 + 0x60100010, // 0030 GETGBL R4 G16 + 0x5C140400, // 0031 MOVE R5 R2 + 0x7C100200, // 0032 CALL R4 1 + 0xA8020056, // 0033 EXBLK 0 #008B + 0x5C140800, // 0034 MOVE R5 R4 + 0x7C140000, // 0035 CALL R5 0 + 0x1C180B06, // 0036 EQ R6 R5 K6 + 0x781A0000, // 0037 JMPF R6 #0039 + 0x7001FFFA, // 0038 JMP #0034 + 0xA802003F, // 0039 EXBLK 0 #007A + 0x60180008, // 003A GETGBL R6 G8 + 0x5C1C0A00, // 003B MOVE R7 R5 + 0x7C180200, // 003C CALL R6 1 + 0x94180206, // 003D GETIDX R6 R1 R6 + 0x8C1C0D10, // 003E GETMET R7 R6 K16 + 0x58240011, // 003F LDCONST R9 K17 + 0x7C1C0400, // 0040 CALL R7 2 + 0x4C200000, // 0041 LDNIL R8 + 0x1C200E08, // 0042 EQ R8 R7 R8 + 0x78220005, // 0043 JMPF R8 #004A + 0xB8220E00, // 0044 GETNGBL R8 K7 + 0x58240012, // 0045 LDCONST R9 K18 + 0x58280013, // 0046 LDCONST R10 K19 + 0x7C200400, // 0047 CALL R8 2 + 0xA8040001, // 0048 EXBLK 1 1 + 0x7001FFE9, // 0049 JMP #0034 + 0x1C200F0B, // 004A EQ R8 R7 K11 + 0x78220005, // 004B JMPF R8 #0052 + 0xB8220E00, // 004C GETNGBL R8 K7 + 0x58240014, // 004D LDCONST R9 K20 + 0x58280013, // 004E LDCONST R10 K19 + 0x7C200400, // 004F CALL R8 2 + 0xA8040001, // 0050 EXBLK 1 1 + 0x7001FFE1, // 0051 JMP #0034 + 0x88200100, // 0052 GETMBR R8 R0 K0 + 0x88201115, // 0053 GETMBR R8 R8 K21 + 0x8C201110, // 0054 GETMET R8 R8 K16 + 0x5C280E00, // 0055 MOVE R10 R7 + 0x7C200400, // 0056 CALL R8 2 + 0x4C240000, // 0057 LDNIL R9 + 0x1C241009, // 0058 EQ R9 R8 R9 + 0x78260009, // 0059 JMPF R9 #0064 + 0xB8260E00, // 005A GETNGBL R9 K7 + 0x60280008, // 005B GETGBL R10 G8 + 0x5C2C0E00, // 005C MOVE R11 R7 + 0x7C280200, // 005D CALL R10 1 + 0x002A2C0A, // 005E ADD R10 K22 R10 + 0x00281517, // 005F ADD R10 R10 K23 + 0x582C0009, // 0060 LDCONST R11 K9 + 0x7C240400, // 0061 CALL R9 2 + 0xA8040001, // 0062 EXBLK 1 1 + 0x7001FFCF, // 0063 JMP #0034 + 0x5C241000, // 0064 MOVE R9 R8 + 0x88280100, // 0065 GETMBR R10 R0 K0 + 0x5C2C0A00, // 0066 MOVE R11 R5 + 0x5C300C00, // 0067 MOVE R12 R6 + 0x7C240600, // 0068 CALL R9 3 + 0x8C280703, // 0069 GETMET R10 R3 K3 + 0x5C301200, // 006A MOVE R12 R9 + 0x7C280400, // 006B CALL R10 2 + 0xB82A0E00, // 006C GETNGBL R10 K7 + 0x602C0018, // 006D GETGBL R11 G24 + 0x5830000A, // 006E LDCONST R12 K10 + 0x5C340A00, // 006F MOVE R13 R5 + 0x5C380E00, // 0070 MOVE R14 R7 + 0x883C0100, // 0071 GETMBR R15 R0 K0 + 0x8C3C1F18, // 0072 GETMET R15 R15 K24 + 0x5C440C00, // 0073 MOVE R17 R6 + 0x7C3C0400, // 0074 CALL R15 2 + 0x7C2C0800, // 0075 CALL R11 4 + 0x58300009, // 0076 LDCONST R12 K9 + 0x7C280400, // 0077 CALL R10 2 + 0xA8040001, // 0078 EXBLK 1 1 + 0x7002000F, // 0079 JMP #008A + 0xAC180002, // 007A CATCH R6 0 2 + 0x7002000C, // 007B JMP #0089 + 0xB8220E00, // 007C GETNGBL R8 K7 + 0x60240008, // 007D GETGBL R9 G8 + 0x5C280C00, // 007E MOVE R10 R6 + 0x7C240200, // 007F CALL R9 1 + 0x00263209, // 0080 ADD R9 K25 R9 + 0x0024131A, // 0081 ADD R9 R9 K26 + 0x60280008, // 0082 GETGBL R10 G8 + 0x5C2C0E00, // 0083 MOVE R11 R7 + 0x7C280200, // 0084 CALL R10 1 + 0x0024120A, // 0085 ADD R9 R9 R10 + 0x58280009, // 0086 LDCONST R10 K9 + 0x7C200400, // 0087 CALL R8 2 + 0x70020000, // 0088 JMP #008A + 0xB0080000, // 0089 RAISE 2 R0 R0 + 0x7001FFA8, // 008A JMP #0034 + 0x5810001B, // 008B LDCONST R4 K27 + 0xAC100200, // 008C CATCH R4 1 0 + 0xB0080000, // 008D RAISE 2 R0 R0 + 0xB8123800, // 008E GETNGBL R4 K28 + 0x8C10091D, // 008F GETMET R4 R4 K29 + 0x5818001E, // 0090 LDCONST R6 K30 + 0x581C001F, // 0091 LDCONST R7 K31 + 0x7C100600, // 0092 CALL R4 3 + 0x80000000, // 0093 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoconf_device_map +********************************************************************/ +be_local_closure(class_Matter_Autoconf_autoconf_device_map, /* name */ + be_nested_proto( + 19, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Autoconf, /* shared constants */ + be_str_weak(autoconf_device_map), + &be_const_str_solidified, + ( &(const binstruction[262]) { /* code */ + 0xA4064000, // 0000 IMPORT R1 K32 + 0x60080013, // 0001 GETGBL R2 G19 + 0x7C080000, // 0002 CALL R2 0 + 0xB80E0800, // 0003 GETNGBL R3 K4 + 0x880C0721, // 0004 GETMBR R3 R3 K33 + 0x58100006, // 0005 LDCONST R4 K6 + 0xA4164400, // 0006 IMPORT R5 K34 + 0x8C180B23, // 0007 GETMET R6 R5 K35 + 0x58200006, // 0008 LDCONST R8 K6 + 0x7C180400, // 0009 CALL R6 2 + 0x4C1C0000, // 000A LDNIL R7 + 0x201C0C07, // 000B NE R7 R6 R7 + 0x781E0066, // 000C JMPF R7 #0074 + 0x601C000C, // 000D GETGBL R7 G12 + 0x8C200D10, // 000E GETMET R8 R6 K16 + 0x58280024, // 000F LDCONST R10 K36 + 0x582C000C, // 0010 LDCONST R11 K12 + 0x7C200600, // 0011 CALL R8 3 + 0x7C1C0200, // 0012 CALL R7 1 + 0x58100025, // 0013 LDCONST R4 K37 + 0x24200F06, // 0014 GT R8 R7 K6 + 0x7822005D, // 0015 JMPF R8 #0074 + 0x1C200F25, // 0016 EQ R8 R7 K37 + 0x7822001E, // 0017 JMPF R8 #0037 + 0x60200008, // 0018 GETGBL R8 G8 + 0x5C240600, // 0019 MOVE R9 R3 + 0x7C200200, // 001A CALL R8 1 + 0x60240013, // 001B GETGBL R9 G19 + 0x7C240000, // 001C CALL R9 0 + 0x98262326, // 001D SETIDX R9 K17 K38 + 0x98081009, // 001E SETIDX R2 R8 R9 + 0x000C0725, // 001F ADD R3 R3 K37 + 0x58200025, // 0020 LDCONST R8 K37 + 0x4C240000, // 0021 LDNIL R9 + 0x8C280B23, // 0022 GETMET R10 R5 K35 + 0x5C301000, // 0023 MOVE R12 R8 + 0x7C280400, // 0024 CALL R10 2 + 0x5C241400, // 0025 MOVE R9 R10 + 0x4C2C0000, // 0026 LDNIL R11 + 0x2028140B, // 0027 NE R10 R10 R11 + 0x782A000C, // 0028 JMPF R10 #0036 + 0x60280008, // 0029 GETGBL R10 G8 + 0x5C2C0600, // 002A MOVE R11 R3 + 0x7C280200, // 002B CALL R10 1 + 0x602C0013, // 002C GETGBL R11 G19 + 0x7C2C0000, // 002D CALL R11 0 + 0x982E2326, // 002E SETIDX R11 K17 K38 + 0x00301125, // 002F ADD R12 R8 K37 + 0x982E440C, // 0030 SETIDX R11 K34 R12 + 0x9808140B, // 0031 SETIDX R2 R10 R11 + 0x000C0725, // 0032 ADD R3 R3 K37 + 0x00100925, // 0033 ADD R4 R4 K37 + 0x00201125, // 0034 ADD R8 R8 K37 + 0x7001FFEB, // 0035 JMP #0022 + 0x7002003C, // 0036 JMP #0074 + 0x1C200F09, // 0037 EQ R8 R7 K9 + 0x78220008, // 0038 JMPF R8 #0042 + 0x60200008, // 0039 GETGBL R8 G8 + 0x5C240600, // 003A MOVE R9 R3 + 0x7C200200, // 003B CALL R8 1 + 0x60240013, // 003C GETGBL R9 G19 + 0x7C240000, // 003D CALL R9 0 + 0x98262327, // 003E SETIDX R9 K17 K39 + 0x98081009, // 003F SETIDX R2 R8 R9 + 0x000C0725, // 0040 ADD R3 R3 K37 + 0x70020031, // 0041 JMP #0074 + 0x1C200F13, // 0042 EQ R8 R7 K19 + 0x7822002B, // 0043 JMPF R8 #0070 + 0x60200008, // 0044 GETGBL R8 G8 + 0x5C240600, // 0045 MOVE R9 R3 + 0x7C200200, // 0046 CALL R8 1 + 0x60240013, // 0047 GETGBL R9 G19 + 0x7C240000, // 0048 CALL R9 0 + 0x98262328, // 0049 SETIDX R9 K17 K40 + 0x98081009, // 004A SETIDX R2 R8 R9 + 0x000C0725, // 004B ADD R3 R3 K37 + 0x8C200B23, // 004C GETMET R8 R5 K35 + 0x58280025, // 004D LDCONST R10 K37 + 0x7C200400, // 004E CALL R8 2 + 0x4C240000, // 004F LDNIL R9 + 0x20241009, // 0050 NE R9 R8 R9 + 0x7826001C, // 0051 JMPF R9 #006F + 0x6024000C, // 0052 GETGBL R9 G12 + 0x8C281110, // 0053 GETMET R10 R8 K16 + 0x58300024, // 0054 LDCONST R12 K36 + 0x5834000C, // 0055 LDCONST R13 K12 + 0x7C280600, // 0056 CALL R10 3 + 0x7C240200, // 0057 CALL R9 1 + 0x1C281325, // 0058 EQ R10 R9 K37 + 0x782A0009, // 0059 JMPF R10 #0064 + 0x60280008, // 005A GETGBL R10 G8 + 0x5C2C0600, // 005B MOVE R11 R3 + 0x7C280200, // 005C CALL R10 1 + 0x602C0013, // 005D GETGBL R11 G19 + 0x7C2C0000, // 005E CALL R11 0 + 0x982E2326, // 005F SETIDX R11 K17 K38 + 0x9808140B, // 0060 SETIDX R2 R10 R11 + 0x000C0725, // 0061 ADD R3 R3 K37 + 0x00100925, // 0062 ADD R4 R4 K37 + 0x7002000A, // 0063 JMP #006F + 0x1C281309, // 0064 EQ R10 R9 K9 + 0x782A0008, // 0065 JMPF R10 #006F + 0x60280008, // 0066 GETGBL R10 G8 + 0x5C2C0600, // 0067 MOVE R11 R3 + 0x7C280200, // 0068 CALL R10 1 + 0x602C0013, // 0069 GETGBL R11 G19 + 0x7C2C0000, // 006A CALL R11 0 + 0x982E2327, // 006B SETIDX R11 K17 K39 + 0x9808140B, // 006C SETIDX R2 R10 R11 + 0x000C0725, // 006D ADD R3 R3 K37 + 0x00100925, // 006E ADD R4 R4 K37 + 0x70020003, // 006F JMP #0074 + 0x54220003, // 0070 LDINT R8 4 + 0x1C200E08, // 0071 EQ R8 R7 R8 + 0x78220000, // 0072 JMPF R8 #0074 + 0x7001FFFF, // 0073 JMP #0074 + 0xB81E3800, // 0074 GETNGBL R7 K28 + 0x8C1C0F29, // 0075 GETMET R7 R7 K41 + 0x5824002A, // 0076 LDCONST R9 K42 + 0x50280200, // 0077 LDBOOL R10 1 0 + 0x7C1C0600, // 0078 CALL R7 3 + 0x60200012, // 0079 GETGBL R8 G18 + 0x7C200000, // 007A CALL R8 0 + 0xB8260E00, // 007B GETNGBL R9 K7 + 0x60280008, // 007C GETGBL R10 G8 + 0x5C2C0E00, // 007D MOVE R11 R7 + 0x7C280200, // 007E CALL R10 1 + 0x002A560A, // 007F ADD R10 K43 R10 + 0x582C0013, // 0080 LDCONST R11 K19 + 0x7C240400, // 0081 CALL R9 2 + 0x4C240000, // 0082 LDNIL R9 + 0x20240E09, // 0083 NE R9 R7 R9 + 0x7826004D, // 0084 JMPF R9 #00D3 + 0x8C240F2C, // 0085 GETMET R9 R7 K44 + 0x582C002D, // 0086 LDCONST R11 K45 + 0x7C240400, // 0087 CALL R9 2 + 0x78260049, // 0088 JMPF R9 #00D3 + 0x941C0F2D, // 0089 GETIDX R7 R7 K45 + 0x58240006, // 008A LDCONST R9 K6 + 0x50280200, // 008B LDBOOL R10 1 0 + 0x782A0045, // 008C JMPF R10 #00D3 + 0x60280008, // 008D GETGBL R10 G8 + 0x5C2C1200, // 008E MOVE R11 R9 + 0x7C280200, // 008F CALL R10 1 + 0x002A5C0A, // 0090 ADD R10 K46 R10 + 0x8C2C0F2C, // 0091 GETMET R11 R7 K44 + 0x5C341400, // 0092 MOVE R13 R10 + 0x7C2C0400, // 0093 CALL R11 2 + 0x742E0000, // 0094 JMPT R11 #0096 + 0x7002003C, // 0095 JMP #00D3 + 0x942C0E0A, // 0096 GETIDX R11 R7 R10 + 0xB8320E00, // 0097 GETNGBL R12 K7 + 0x60340018, // 0098 GETGBL R13 G24 + 0x5838002F, // 0099 LDCONST R14 K47 + 0x5C3C1400, // 009A MOVE R15 R10 + 0x60400008, // 009B GETGBL R16 G8 + 0x5C441600, // 009C MOVE R17 R11 + 0x7C400200, // 009D CALL R16 1 + 0x7C340600, // 009E CALL R13 3 + 0x58380013, // 009F LDCONST R14 K19 + 0x7C300400, // 00A0 CALL R12 2 + 0x8C301710, // 00A1 GETMET R12 R11 K16 + 0x58380030, // 00A2 LDCONST R14 K48 + 0x543DFFFE, // 00A3 LDINT R15 -1 + 0x7C300600, // 00A4 CALL R12 3 + 0x8C341710, // 00A5 GETMET R13 R11 K16 + 0x583C0031, // 00A6 LDCONST R15 K49 + 0x5441FFFE, // 00A7 LDINT R16 -1 + 0x7C340600, // 00A8 CALL R13 3 + 0x24381906, // 00A9 GT R14 R12 K6 + 0x783A0002, // 00AA JMPF R14 #00AE + 0x8C381103, // 00AB GETMET R14 R8 K3 + 0x04401925, // 00AC SUB R16 R12 K37 + 0x7C380400, // 00AD CALL R14 2 + 0x24381B06, // 00AE GT R14 R13 K6 + 0x783A0002, // 00AF JMPF R14 #00B3 + 0x8C381103, // 00B0 GETMET R14 R8 K3 + 0x04401B25, // 00B1 SUB R16 R13 K37 + 0x7C380400, // 00B2 CALL R14 2 + 0xB83A0E00, // 00B3 GETNGBL R14 K7 + 0x603C0018, // 00B4 GETGBL R15 G24 + 0x58400032, // 00B5 LDCONST R16 K50 + 0x5C441800, // 00B6 MOVE R17 R12 + 0x5C481A00, // 00B7 MOVE R18 R13 + 0x7C3C0600, // 00B8 CALL R15 3 + 0x58400013, // 00B9 LDCONST R16 K19 + 0x7C380400, // 00BA CALL R14 2 + 0x8C381710, // 00BB GETMET R14 R11 K16 + 0x58400033, // 00BC LDCONST R16 K51 + 0x7C380400, // 00BD CALL R14 2 + 0x783A0002, // 00BE JMPF R14 #00C2 + 0x943C1D09, // 00BF GETIDX R15 R14 K9 + 0x243C1F06, // 00C0 GT R15 R15 K6 + 0x743E0000, // 00C1 JMPT R15 #00C3 + 0x503C0001, // 00C2 LDBOOL R15 0 1 + 0x503C0200, // 00C3 LDBOOL R15 1 0 + 0x60400008, // 00C4 GETGBL R16 G8 + 0x5C440600, // 00C5 MOVE R17 R3 + 0x7C400200, // 00C6 CALL R16 1 + 0x60440013, // 00C7 GETGBL R17 G19 + 0x7C440000, // 00C8 CALL R17 0 + 0x783E0001, // 00C9 JMPF R15 #00CC + 0x58480034, // 00CA LDCONST R18 K52 + 0x70020000, // 00CB JMP #00CD + 0x58480035, // 00CC LDCONST R18 K53 + 0x98462212, // 00CD SETIDX R17 K17 R18 + 0x98466A09, // 00CE SETIDX R17 K53 R9 + 0x98082011, // 00CF SETIDX R2 R16 R17 + 0x000C0725, // 00D0 ADD R3 R3 K37 + 0x00241325, // 00D1 ADD R9 R9 K37 + 0x7001FFB7, // 00D2 JMP #008B + 0x6024000C, // 00D3 GETGBL R9 G12 + 0xB82A3800, // 00D4 GETNGBL R10 K28 + 0x8C281536, // 00D5 GETMET R10 R10 K54 + 0x7C280200, // 00D6 CALL R10 1 + 0x7C240200, // 00D7 CALL R9 1 + 0x58280006, // 00D8 LDCONST R10 K6 + 0x04241204, // 00D9 SUB R9 R9 R4 + 0x142C1409, // 00DA LT R11 R10 R9 + 0x782E0011, // 00DB JMPF R11 #00EE + 0x8C2C1110, // 00DC GETMET R11 R8 K16 + 0x5C341400, // 00DD MOVE R13 R10 + 0x7C2C0400, // 00DE CALL R11 2 + 0x4C300000, // 00DF LDNIL R12 + 0x1C2C160C, // 00E0 EQ R11 R11 R12 + 0x782E0009, // 00E1 JMPF R11 #00EC + 0x602C0008, // 00E2 GETGBL R11 G8 + 0x5C300600, // 00E3 MOVE R12 R3 + 0x7C2C0200, // 00E4 CALL R11 1 + 0x60300013, // 00E5 GETGBL R12 G19 + 0x7C300000, // 00E6 CALL R12 0 + 0x98322337, // 00E7 SETIDX R12 K17 K55 + 0x00341525, // 00E8 ADD R13 R10 K37 + 0x98326E0D, // 00E9 SETIDX R12 K55 R13 + 0x9808160C, // 00EA SETIDX R2 R11 R12 + 0x000C0725, // 00EB ADD R3 R3 K37 + 0x00281525, // 00EC ADD R10 R10 K37 + 0x7001FFEB, // 00ED JMP #00DA + 0x8C2C0338, // 00EE GETMET R11 R1 K56 + 0xB8363800, // 00EF GETNGBL R13 K28 + 0x8C341B39, // 00F0 GETMET R13 R13 K57 + 0x7C340200, // 00F1 CALL R13 1 + 0x7C2C0400, // 00F2 CALL R11 2 + 0x8C30013A, // 00F3 GETMET R12 R0 K58 + 0x5C381600, // 00F4 MOVE R14 R11 + 0x7C300400, // 00F5 CALL R12 2 + 0x60340010, // 00F6 GETGBL R13 G16 + 0x5C381800, // 00F7 MOVE R14 R12 + 0x7C340200, // 00F8 CALL R13 1 + 0xA8020007, // 00F9 EXBLK 0 #0102 + 0x5C381A00, // 00FA MOVE R14 R13 + 0x7C380000, // 00FB CALL R14 0 + 0x603C0008, // 00FC GETGBL R15 G8 + 0x5C400600, // 00FD MOVE R16 R3 + 0x7C3C0200, // 00FE CALL R15 1 + 0x98081E0E, // 00FF SETIDX R2 R15 R14 + 0x000C0725, // 0100 ADD R3 R3 K37 + 0x7001FFF7, // 0101 JMP #00FA + 0x5834001B, // 0102 LDCONST R13 K27 + 0xAC340200, // 0103 CATCH R13 1 0 + 0xB0080000, // 0104 RAISE 2 R0 R0 + 0x80040400, // 0105 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Autoconf_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Autoconf, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoconf_sensors_list +********************************************************************/ +be_local_closure(class_Matter_Autoconf_autoconf_sensors_list, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Autoconf, /* shared constants */ + be_str_weak(autoconf_sensors_list), + &be_const_str_solidified, + ( &(const binstruction[121]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8808053B, // 0001 GETMBR R2 R2 K59 + 0x600C0012, // 0002 GETGBL R3 G18 + 0x7C0C0000, // 0003 CALL R3 0 + 0x60100010, // 0004 GETGBL R4 G16 + 0x5C140400, // 0005 MOVE R5 R2 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C140200, // 0007 CALL R5 1 + 0x7C100200, // 0008 CALL R4 1 + 0xA8020013, // 0009 EXBLK 0 #001E + 0x5C140800, // 000A MOVE R5 R4 + 0x7C140000, // 000B CALL R5 0 + 0x94180205, // 000C GETIDX R6 R1 R5 + 0x601C000F, // 000D GETGBL R7 G15 + 0x5C200C00, // 000E MOVE R8 R6 + 0x60240013, // 000F GETGBL R9 G19 + 0x7C1C0400, // 0010 CALL R7 2 + 0x781E000A, // 0011 JMPF R7 #001D + 0x8C1C0D2C, // 0012 GETMET R7 R6 K44 + 0x5824003C, // 0013 LDCONST R9 K60 + 0x7C1C0400, // 0014 CALL R7 2 + 0x781E0006, // 0015 JMPF R7 #001D + 0x001C0B3D, // 0016 ADD R7 R5 K61 + 0x8C200703, // 0017 GETMET R8 R3 K3 + 0x60280013, // 0018 GETGBL R10 G19 + 0x7C280000, // 0019 CALL R10 0 + 0x982A233E, // 001A SETIDX R10 K17 K62 + 0x982A7E07, // 001B SETIDX R10 K63 R7 + 0x7C200400, // 001C CALL R8 2 + 0x7001FFEB, // 001D JMP #000A + 0x5810001B, // 001E LDCONST R4 K27 + 0xAC100200, // 001F CATCH R4 1 0 + 0xB0080000, // 0020 RAISE 2 R0 R0 + 0x60100010, // 0021 GETGBL R4 G16 + 0x5C140400, // 0022 MOVE R5 R2 + 0x5C180200, // 0023 MOVE R6 R1 + 0x7C140200, // 0024 CALL R5 1 + 0x7C100200, // 0025 CALL R4 1 + 0xA8020013, // 0026 EXBLK 0 #003B + 0x5C140800, // 0027 MOVE R5 R4 + 0x7C140000, // 0028 CALL R5 0 + 0x94180205, // 0029 GETIDX R6 R1 R5 + 0x601C000F, // 002A GETGBL R7 G15 + 0x5C200C00, // 002B MOVE R8 R6 + 0x60240013, // 002C GETGBL R9 G19 + 0x7C1C0400, // 002D CALL R7 2 + 0x781E000A, // 002E JMPF R7 #003A + 0x8C1C0D2C, // 002F GETMET R7 R6 K44 + 0x58240040, // 0030 LDCONST R9 K64 + 0x7C1C0400, // 0031 CALL R7 2 + 0x781E0006, // 0032 JMPF R7 #003A + 0x001C0B41, // 0033 ADD R7 R5 K65 + 0x8C200703, // 0034 GETMET R8 R3 K3 + 0x60280013, // 0035 GETGBL R10 G19 + 0x7C280000, // 0036 CALL R10 0 + 0x982A2342, // 0037 SETIDX R10 K17 K66 + 0x982A7E07, // 0038 SETIDX R10 K63 R7 + 0x7C200400, // 0039 CALL R8 2 + 0x7001FFEB, // 003A JMP #0027 + 0x5810001B, // 003B LDCONST R4 K27 + 0xAC100200, // 003C CATCH R4 1 0 + 0xB0080000, // 003D RAISE 2 R0 R0 + 0x60100010, // 003E GETGBL R4 G16 + 0x5C140400, // 003F MOVE R5 R2 + 0x5C180200, // 0040 MOVE R6 R1 + 0x7C140200, // 0041 CALL R5 1 + 0x7C100200, // 0042 CALL R4 1 + 0xA8020013, // 0043 EXBLK 0 #0058 + 0x5C140800, // 0044 MOVE R5 R4 + 0x7C140000, // 0045 CALL R5 0 + 0x94180205, // 0046 GETIDX R6 R1 R5 + 0x601C000F, // 0047 GETGBL R7 G15 + 0x5C200C00, // 0048 MOVE R8 R6 + 0x60240013, // 0049 GETGBL R9 G19 + 0x7C1C0400, // 004A CALL R7 2 + 0x781E000A, // 004B JMPF R7 #0057 + 0x8C1C0D2C, // 004C GETMET R7 R6 K44 + 0x58240043, // 004D LDCONST R9 K67 + 0x7C1C0400, // 004E CALL R7 2 + 0x781E0006, // 004F JMPF R7 #0057 + 0x001C0B44, // 0050 ADD R7 R5 K68 + 0x8C200703, // 0051 GETMET R8 R3 K3 + 0x60280013, // 0052 GETGBL R10 G19 + 0x7C280000, // 0053 CALL R10 0 + 0x982A2345, // 0054 SETIDX R10 K17 K69 + 0x982A7E07, // 0055 SETIDX R10 K63 R7 + 0x7C200400, // 0056 CALL R8 2 + 0x7001FFEB, // 0057 JMP #0044 + 0x5810001B, // 0058 LDCONST R4 K27 + 0xAC100200, // 0059 CATCH R4 1 0 + 0xB0080000, // 005A RAISE 2 R0 R0 + 0x60100010, // 005B GETGBL R4 G16 + 0x5C140400, // 005C MOVE R5 R2 + 0x5C180200, // 005D MOVE R6 R1 + 0x7C140200, // 005E CALL R5 1 + 0x7C100200, // 005F CALL R4 1 + 0xA8020013, // 0060 EXBLK 0 #0075 + 0x5C140800, // 0061 MOVE R5 R4 + 0x7C140000, // 0062 CALL R5 0 + 0x94180205, // 0063 GETIDX R6 R1 R5 + 0x601C000F, // 0064 GETGBL R7 G15 + 0x5C200C00, // 0065 MOVE R8 R6 + 0x60240013, // 0066 GETGBL R9 G19 + 0x7C1C0400, // 0067 CALL R7 2 + 0x781E000A, // 0068 JMPF R7 #0074 + 0x8C1C0D2C, // 0069 GETMET R7 R6 K44 + 0x58240046, // 006A LDCONST R9 K70 + 0x7C1C0400, // 006B CALL R7 2 + 0x781E0006, // 006C JMPF R7 #0074 + 0x001C0B47, // 006D ADD R7 R5 K71 + 0x8C200703, // 006E GETMET R8 R3 K3 + 0x60280013, // 006F GETGBL R10 G19 + 0x7C280000, // 0070 CALL R10 0 + 0x982A2348, // 0071 SETIDX R10 K17 K72 + 0x982A7E07, // 0072 SETIDX R10 K63 R7 + 0x7C200400, // 0073 CALL R8 2 + 0x7001FFEB, // 0074 JMP #0061 + 0x5810001B, // 0075 LDCONST R4 K27 + 0xAC100200, // 0076 CATCH R4 1 0 + 0xB0080000, // 0077 RAISE 2 R0 R0 + 0x80040600, // 0078 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Autoconf +********************************************************************/ +be_local_class(Matter_Autoconf, + 1, + NULL, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(instantiate_plugins_from_config, 3), be_const_closure(class_Matter_Autoconf_instantiate_plugins_from_config_closure) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Autoconf_autoconf_device_map_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Autoconf_init_closure) }, + { be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(class_Matter_Autoconf_autoconf_sensors_list_closure) }, + })), + be_str_weak(Matter_Autoconf) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Commissioning.h new file mode 100644 index 000000000..7c5ea0da7 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Commissioning.h @@ -0,0 +1,1973 @@ +/* Solidification of Matter_z_Commissioning.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Commissioning' ktab size: 132, total: 274 (saved 1136 bytes) +static const bvalue be_ktab_class_Matter_Commissioning[132] = { + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(sessions), + /* K2 */ be_nested_str_weak(active_fabrics), + /* K3 */ be_nested_str_weak(get_device_id), + /* K4 */ be_nested_str_weak(get_fabric_id), + /* K5 */ be_nested_str_weak(mdns_remove_op_discovery), + /* K6 */ be_nested_str_weak(stop_iteration), + /* K7 */ be_nested_str_weak(is_root_commissioning_open), + /* K8 */ be_nested_str_weak(tasmota), + /* K9 */ be_nested_str_weak(publish_result), + /* K10 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A0_X7D_X7D), + /* K11 */ be_nested_str_weak(Matter), + /* K12 */ be_nested_str_weak(commissioning_open), + /* K13 */ be_nested_str_weak(mdns_remove_PASE), + /* K14 */ be_nested_str_weak(commissioning_iterations), + /* K15 */ be_nested_str_weak(commissioning_discriminator), + /* K16 */ be_nested_str_weak(commissioning_salt), + /* K17 */ be_nested_str_weak(commissioning_w0), + /* K18 */ be_nested_str_weak(commissioning_L), + /* K19 */ be_nested_str_weak(commissioning_admin_fabric), + /* K20 */ be_nested_str_weak(count_active_fabrics), + /* K21 */ be_const_int(0), + /* K22 */ be_nested_str_weak(start_root_basic_commissioning), + /* K23 */ be_nested_str_weak(resize), + /* K24 */ be_nested_str_weak(setbits), + /* K25 */ be_const_int(3), + /* K26 */ be_nested_str_weak(VENDOR_ID), + /* K27 */ be_nested_str_weak(PRODUCT_ID), + /* K28 */ be_nested_str_weak(root_discriminator), + /* K29 */ be_nested_str_weak(root_passcode), + /* K30 */ be_const_int(134217727), + /* K31 */ be_nested_str_weak(MT_X3A), + /* K32 */ be_nested_str_weak(matter), + /* K33 */ be_nested_str_weak(Base38), + /* K34 */ be_nested_str_weak(encode), + /* K35 */ be_nested_str_weak(mdns), + /* K36 */ be_nested_str_weak(mdns_pase_eth), + /* K37 */ be_nested_str_weak(log), + /* K38 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eremove_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29), + /* K39 */ be_nested_str_weak(_matterc), + /* K40 */ be_nested_str_weak(_udp), + /* K41 */ be_nested_str_weak(commissioning_instance_eth), + /* K42 */ be_nested_str_weak(hostname_eth), + /* K43 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27), + /* K44 */ be_nested_str_weak(eth), + /* K45 */ be_nested_str_weak(remove_service), + /* K46 */ be_nested_str_weak(mdns_pase_wifi), + /* K47 */ be_nested_str_weak(commissioning_instance_wifi), + /* K48 */ be_nested_str_weak(hostname_wifi), + /* K49 */ be_nested_str_weak(wifi), + /* K50 */ be_nested_str_weak(MTR_X3A_X20Exception), + /* K51 */ be_nested_str_weak(_X7C), + /* K52 */ be_const_int(2), + /* K53 */ be_nested_str_weak(_X251i_X2505i_X2504i), + /* K54 */ be_nested_str_weak(Verhoeff), + /* K55 */ be_nested_str_weak(checksum), + /* K56 */ be_nested_str_weak(copy), + /* K57 */ be_nested_str_weak(reverse), + /* K58 */ be_nested_str_weak(get_fabric_compressed), + /* K59 */ be_nested_str_weak(tohex), + /* K60 */ be_nested_str_weak(_X2D), + /* K61 */ be_nested_str_weak(find), + /* K62 */ be_nested_str_weak(up), + /* K63 */ be_nested_str_weak(_matter), + /* K64 */ be_nested_str_weak(_tcp), + /* K65 */ be_nested_str_weak(set_timer), + /* K66 */ be_nested_str_weak(crypto), + /* K67 */ be_nested_str_weak(stop_basic_commissioning), + /* K68 */ be_nested_str_weak(mdns_announce_op_discovery), + /* K69 */ be_nested_str_weak(string), + /* K70 */ be_nested_str_weak(start), + /* K71 */ be_nested_str_weak(replace), + /* K72 */ be_nested_str_weak(mac), + /* K73 */ be_nested_str_weak(_X3A), + /* K74 */ be_nested_str_weak(), + /* K75 */ be_nested_str_weak(ipv4only), + /* K76 */ be_nested_str_weak(contains), + /* K77 */ be_nested_str_weak(ip6local), + /* K78 */ be_nested_str_weak(add_hostname), + /* K79 */ be_nested_str_weak(ip), + /* K80 */ be_nested_str_weak(ip6), + /* K81 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29), + /* K82 */ be_nested_str_weak(MTR_X3A_X20start_X20mDNS_X20on_X20_X25s_X20host_X20_X27_X25s_X2Elocal_X27), + /* K83 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics), + /* K84 */ be_nested_str_weak(PASE_TIMEOUT), + /* K85 */ be_nested_str_weak(compute_manual_pairing_code), + /* K86 */ be_nested_str_weak(MTR_X3A_X20Manual_X20pairing_X20code_X3A_X20_X25s), + /* K87 */ be_nested_str_weak(compute_qrcode_content), + /* K88 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A1_X2C_X22PairingCode_X22_X3A_X22_X25s_X22_X2C_X22QRCode_X22_X3A_X22_X25s_X22_X7D_X7D), + /* K89 */ be_nested_str_weak(random), + /* K90 */ be_nested_str_weak(add), + /* K91 */ be_nested_str_weak(PBKDF2_HMAC_SHA256), + /* K92 */ be_nested_str_weak(derive), + /* K93 */ be_nested_str_weak(PBKDF_ITERATIONS), + /* K94 */ be_nested_str_weak(EC_P256), + /* K95 */ be_nested_str_weak(mod), + /* K96 */ be_nested_str_weak(public_key), + /* K97 */ be_nested_str_weak(start_basic_commissioning), + /* K98 */ be_nested_str_weak(get), + /* K99 */ be_const_int(99999998), + /* K100 */ be_nested_str_weak(PASSCODE_INVALID), + /* K101 */ be_nested_str_weak(MTR_X3A_X20Operational_X20Discovery_X20node_X20_X3D_X20), + /* K102 */ be_nested_str_weak(MTR_X3A_X20adding_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K103 */ be_nested_str_weak(add_service), + /* K104 */ be_nested_str_weak(_I), + /* K105 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20), + /* K106 */ be_nested_str_weak(add_subtype), + /* K107 */ be_nested_str_weak(time_reached), + /* K108 */ be_nested_str_weak(VP), + /* K109 */ be_nested_str_weak(_X25s_X2B_X25s), + /* K110 */ be_nested_str_weak(D), + /* K111 */ be_nested_str_weak(CM), + /* K112 */ be_const_int(1), + /* K113 */ be_nested_str_weak(T), + /* K114 */ be_nested_str_weak(SII), + /* K115 */ be_nested_str_weak(SAI), + /* K116 */ be_nested_str_weak(MTR_X3A_X20announce_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K117 */ be_nested_str_weak(_L), + /* K118 */ be_nested_str_weak(_S), + /* K119 */ be_nested_str_weak(_V), + /* K120 */ be_nested_str_weak(_CM1), + /* K121 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K122 */ be_nested_str_weak(millis), + /* K123 */ be_nested_str_weak(mdns_announce_PASE), + /* K124 */ be_nested_str_weak(add_rule), + /* K125 */ be_nested_str_weak(Wifi_X23Connected), + /* K126 */ be_nested_str_weak(Eth_X23Connected), + /* K127 */ be_nested_str_weak(_mdns_announce_hostname), + /* K128 */ be_nested_str_weak(matter_mdns_host), + /* K129 */ be_nested_str_weak(get_fabric), + /* K130 */ be_nested_str_weak(get_admin_vendor_name), + /* K131 */ be_nested_str_weak(MTR_X3A_X20_X2D_X2D_X2D_X20Commissioning_X20complete_X20for_X20Fabric_X20_X27_X25s_X27_X20_X28Vendor_X20_X25s_X29_X20_X2D_X2D_X2D), +}; + + +extern const bclass be_class_Matter_Commissioning; + +/******************************************************************** +** Solidified function: mdns_remove_op_discovery_all_fabrics +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_remove_op_discovery_all_fabrics, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_remove_op_discovery_all_fabrics), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x88080501, // 0002 GETMBR R2 R2 K1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x7C080200, // 0004 CALL R2 1 + 0x7C040200, // 0005 CALL R1 1 + 0xA802000B, // 0006 EXBLK 0 #0013 + 0x5C080200, // 0007 MOVE R2 R1 + 0x7C080000, // 0008 CALL R2 0 + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x7C0C0200, // 000A CALL R3 1 + 0x780E0005, // 000B JMPF R3 #0012 + 0x8C0C0504, // 000C GETMET R3 R2 K4 + 0x7C0C0200, // 000D CALL R3 1 + 0x780E0002, // 000E JMPF R3 #0012 + 0x8C0C0105, // 000F GETMET R3 R0 K5 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x7001FFF3, // 0012 JMP #0007 + 0x58040006, // 0013 LDCONST R1 K6 + 0xAC040200, // 0014 CATCH R1 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: stop_basic_commissioning +********************************************************************/ +be_local_closure(class_Matter_Commissioning_stop_basic_commissioning, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(stop_basic_commissioning), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x8C080107, // 0001 GETMET R2 R0 K7 + 0x7C080200, // 0002 CALL R2 1 + 0x780A0004, // 0003 JMPF R2 #0009 + 0xB80A1000, // 0004 GETNGBL R2 K8 + 0x8C080509, // 0005 GETMET R2 R2 K9 + 0x5810000A, // 0006 LDCONST R4 K10 + 0x5814000B, // 0007 LDCONST R5 K11 + 0x7C080600, // 0008 CALL R2 3 + 0x90021801, // 0009 SETMBR R0 K12 R1 + 0x8C08010D, // 000A GETMET R2 R0 K13 + 0x7C080200, // 000B CALL R2 1 + 0x90021C01, // 000C SETMBR R0 K14 R1 + 0x90021E01, // 000D SETMBR R0 K15 R1 + 0x90022001, // 000E SETMBR R0 K16 R1 + 0x90022201, // 000F SETMBR R0 K17 R1 + 0x90022401, // 0010 SETMBR R0 K18 R1 + 0x90022601, // 0011 SETMBR R0 K19 R1 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init_basic_commissioning +********************************************************************/ +be_local_closure(class_Matter_Commissioning_init_basic_commissioning, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(init_basic_commissioning), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 0x8C040314, // 0002 GETMET R1 R1 K20 + 0x7C040200, // 0003 CALL R1 1 + 0x1C040315, // 0004 EQ R1 R1 K21 + 0x78060001, // 0005 JMPF R1 #0008 + 0x8C040116, // 0006 GETMET R1 R0 K22 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_qrcode_content +********************************************************************/ +be_local_closure(class_Matter_Commissioning_compute_qrcode_content, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(compute_qrcode_content), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x60040015, // 0000 GETGBL R1 G21 + 0x7C040000, // 0001 CALL R1 0 + 0x8C040317, // 0002 GETMET R1 R1 K23 + 0x540E000A, // 0003 LDINT R3 11 + 0x7C040400, // 0004 CALL R1 2 + 0x8C080318, // 0005 GETMET R2 R1 K24 + 0x58100019, // 0006 LDCONST R4 K25 + 0x5416000F, // 0007 LDINT R5 16 + 0x88180100, // 0008 GETMBR R6 R0 K0 + 0x88180D1A, // 0009 GETMBR R6 R6 K26 + 0x7C080800, // 000A CALL R2 4 + 0x8C080318, // 000B GETMET R2 R1 K24 + 0x54120012, // 000C LDINT R4 19 + 0x5416000F, // 000D LDINT R5 16 + 0x88180100, // 000E GETMBR R6 R0 K0 + 0x88180D1B, // 000F GETMBR R6 R6 K27 + 0x7C080800, // 0010 CALL R2 4 + 0x8C080318, // 0011 GETMET R2 R1 K24 + 0x54120024, // 0012 LDINT R4 37 + 0x54160007, // 0013 LDINT R5 8 + 0x541A0003, // 0014 LDINT R6 4 + 0x7C080800, // 0015 CALL R2 4 + 0x8C080318, // 0016 GETMET R2 R1 K24 + 0x5412002C, // 0017 LDINT R4 45 + 0x5416000B, // 0018 LDINT R5 12 + 0x88180100, // 0019 GETMBR R6 R0 K0 + 0x88180D1C, // 001A GETMBR R6 R6 K28 + 0x541E0FFE, // 001B LDINT R7 4095 + 0x2C180C07, // 001C AND R6 R6 R7 + 0x7C080800, // 001D CALL R2 4 + 0x8C080318, // 001E GETMET R2 R1 K24 + 0x54120038, // 001F LDINT R4 57 + 0x5416001A, // 0020 LDINT R5 27 + 0x88180100, // 0021 GETMBR R6 R0 K0 + 0x88180D1D, // 0022 GETMBR R6 R6 K29 + 0x2C180D1E, // 0023 AND R6 R6 K30 + 0x7C080800, // 0024 CALL R2 4 + 0xB80A4000, // 0025 GETNGBL R2 K32 + 0x88080521, // 0026 GETMBR R2 R2 K33 + 0x8C080522, // 0027 GETMET R2 R2 K34 + 0x5C100200, // 0028 MOVE R4 R1 + 0x7C080400, // 0029 CALL R2 2 + 0x000A3E02, // 002A ADD R2 K31 R2 + 0x80040400, // 002B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mdns_remove_PASE +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_remove_PASE, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_remove_PASE), + &be_const_str_solidified, + ( &(const binstruction[77]) { /* code */ + 0xA4064600, // 0000 IMPORT R1 K35 + 0xA8020039, // 0001 EXBLK 0 #003C + 0x88080124, // 0002 GETMBR R2 R0 K36 + 0x780A0019, // 0003 JMPF R2 #001E + 0xB80A4A00, // 0004 GETNGBL R2 K37 + 0x600C0018, // 0005 GETGBL R3 G24 + 0x58100026, // 0006 LDCONST R4 K38 + 0x58140027, // 0007 LDCONST R5 K39 + 0x58180028, // 0008 LDCONST R6 K40 + 0x881C0129, // 0009 GETMBR R7 R0 K41 + 0x8820012A, // 000A GETMBR R8 R0 K42 + 0x7C0C0A00, // 000B CALL R3 5 + 0x58100019, // 000C LDCONST R4 K25 + 0x7C080400, // 000D CALL R2 2 + 0xB80A4A00, // 000E GETNGBL R2 K37 + 0x600C0018, // 000F GETGBL R3 G24 + 0x5810002B, // 0010 LDCONST R4 K43 + 0x5814002C, // 0011 LDCONST R5 K44 + 0x88180129, // 0012 GETMBR R6 R0 K41 + 0x7C0C0600, // 0013 CALL R3 3 + 0x58100019, // 0014 LDCONST R4 K25 + 0x7C080400, // 0015 CALL R2 2 + 0x50080000, // 0016 LDBOOL R2 0 0 + 0x90024802, // 0017 SETMBR R0 K36 R2 + 0x8C08032D, // 0018 GETMET R2 R1 K45 + 0x58100027, // 0019 LDCONST R4 K39 + 0x58140028, // 001A LDCONST R5 K40 + 0x88180129, // 001B GETMBR R6 R0 K41 + 0x881C012A, // 001C GETMBR R7 R0 K42 + 0x7C080A00, // 001D CALL R2 5 + 0x8808012E, // 001E GETMBR R2 R0 K46 + 0x780A0019, // 001F JMPF R2 #003A + 0xB80A4A00, // 0020 GETNGBL R2 K37 + 0x600C0018, // 0021 GETGBL R3 G24 + 0x58100026, // 0022 LDCONST R4 K38 + 0x58140027, // 0023 LDCONST R5 K39 + 0x58180028, // 0024 LDCONST R6 K40 + 0x881C012F, // 0025 GETMBR R7 R0 K47 + 0x88200130, // 0026 GETMBR R8 R0 K48 + 0x7C0C0A00, // 0027 CALL R3 5 + 0x58100019, // 0028 LDCONST R4 K25 + 0x7C080400, // 0029 CALL R2 2 + 0xB80A4A00, // 002A GETNGBL R2 K37 + 0x600C0018, // 002B GETGBL R3 G24 + 0x5810002B, // 002C LDCONST R4 K43 + 0x58140031, // 002D LDCONST R5 K49 + 0x8818012F, // 002E GETMBR R6 R0 K47 + 0x7C0C0600, // 002F CALL R3 3 + 0x58100019, // 0030 LDCONST R4 K25 + 0x7C080400, // 0031 CALL R2 2 + 0x50080000, // 0032 LDBOOL R2 0 0 + 0x90025C02, // 0033 SETMBR R0 K46 R2 + 0x8C08032D, // 0034 GETMET R2 R1 K45 + 0x58100027, // 0035 LDCONST R4 K39 + 0x58140028, // 0036 LDCONST R5 K40 + 0x8818012F, // 0037 GETMBR R6 R0 K47 + 0x881C0130, // 0038 GETMBR R7 R0 K48 + 0x7C080A00, // 0039 CALL R2 5 + 0xA8040001, // 003A EXBLK 1 1 + 0x7002000F, // 003B JMP #004C + 0xAC080002, // 003C CATCH R2 0 2 + 0x7002000C, // 003D JMP #004B + 0xB8124A00, // 003E GETNGBL R4 K37 + 0x60140008, // 003F GETGBL R5 G8 + 0x5C180400, // 0040 MOVE R6 R2 + 0x7C140200, // 0041 CALL R5 1 + 0x00166405, // 0042 ADD R5 K50 R5 + 0x00140B33, // 0043 ADD R5 R5 K51 + 0x60180008, // 0044 GETGBL R6 G8 + 0x5C1C0600, // 0045 MOVE R7 R3 + 0x7C180200, // 0046 CALL R6 1 + 0x00140A06, // 0047 ADD R5 R5 R6 + 0x58180034, // 0048 LDCONST R6 K52 + 0x7C100400, // 0049 CALL R4 2 + 0x70020000, // 004A JMP #004C + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80000000, // 004C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_manual_pairing_code +********************************************************************/ +be_local_closure(class_Matter_Commissioning_compute_manual_pairing_code, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(compute_manual_pairing_code), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8804031C, // 0001 GETMBR R1 R1 K28 + 0x540A0FFE, // 0002 LDINT R2 4095 + 0x2C040202, // 0003 AND R1 R1 R2 + 0x540A0009, // 0004 LDINT R2 10 + 0x3C040202, // 0005 SHR R1 R1 R2 + 0x88080100, // 0006 GETMBR R2 R0 K0 + 0x8808051C, // 0007 GETMBR R2 R2 K28 + 0x540E02FF, // 0008 LDINT R3 768 + 0x2C080403, // 0009 AND R2 R2 R3 + 0x540E0005, // 000A LDINT R3 6 + 0x38080403, // 000B SHL R2 R2 R3 + 0x880C0100, // 000C GETMBR R3 R0 K0 + 0x880C071D, // 000D GETMBR R3 R3 K29 + 0x54123FFE, // 000E LDINT R4 16383 + 0x2C0C0604, // 000F AND R3 R3 R4 + 0x30080403, // 0010 OR R2 R2 R3 + 0x880C0100, // 0011 GETMBR R3 R0 K0 + 0x880C071D, // 0012 GETMBR R3 R3 K29 + 0x5412000D, // 0013 LDINT R4 14 + 0x3C0C0604, // 0014 SHR R3 R3 R4 + 0x60100018, // 0015 GETGBL R4 G24 + 0x58140035, // 0016 LDCONST R5 K53 + 0x5C180200, // 0017 MOVE R6 R1 + 0x5C1C0400, // 0018 MOVE R7 R2 + 0x5C200600, // 0019 MOVE R8 R3 + 0x7C100800, // 001A CALL R4 4 + 0xB8164000, // 001B GETNGBL R5 K32 + 0x88140B36, // 001C GETMBR R5 R5 K54 + 0x8C140B37, // 001D GETMET R5 R5 K55 + 0x5C1C0800, // 001E MOVE R7 R4 + 0x7C140400, // 001F CALL R5 2 + 0x00100805, // 0020 ADD R4 R4 R5 + 0x80040800, // 0021 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Commissioning_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mdns_remove_op_discovery +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_remove_op_discovery, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_remove_op_discovery), + &be_const_str_solidified, + ( &(const binstruction[77]) { /* code */ + 0xA40A4600, // 0000 IMPORT R2 K35 + 0xA8020039, // 0001 EXBLK 0 #003C + 0x8C0C0303, // 0002 GETMET R3 R1 K3 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0738, // 0004 GETMET R3 R3 K56 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0739, // 0006 GETMET R3 R3 K57 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C10033A, // 0008 GETMET R4 R1 K58 + 0x7C100200, // 0009 CALL R4 1 + 0x8C14093B, // 000A GETMET R5 R4 K59 + 0x7C140200, // 000B CALL R5 1 + 0x00140B3C, // 000C ADD R5 R5 K60 + 0x8C18073B, // 000D GETMET R6 R3 K59 + 0x7C180200, // 000E CALL R6 1 + 0x00140A06, // 000F ADD R5 R5 R6 + 0xB81A1000, // 0010 GETNGBL R6 K8 + 0x8C180D2C, // 0011 GETMET R6 R6 K44 + 0x7C180200, // 0012 CALL R6 1 + 0x8C180D3D, // 0013 GETMET R6 R6 K61 + 0x5820003E, // 0014 LDCONST R8 K62 + 0x7C180400, // 0015 CALL R6 2 + 0x781A000D, // 0016 JMPF R6 #0025 + 0xB81A4A00, // 0017 GETNGBL R6 K37 + 0x601C0018, // 0018 GETGBL R7 G24 + 0x5820002B, // 0019 LDCONST R8 K43 + 0x5824002C, // 001A LDCONST R9 K44 + 0x5C280A00, // 001B MOVE R10 R5 + 0x7C1C0600, // 001C CALL R7 3 + 0x58200019, // 001D LDCONST R8 K25 + 0x7C180400, // 001E CALL R6 2 + 0x8C18052D, // 001F GETMET R6 R2 K45 + 0x5820003F, // 0020 LDCONST R8 K63 + 0x58240040, // 0021 LDCONST R9 K64 + 0x5C280A00, // 0022 MOVE R10 R5 + 0x882C012A, // 0023 GETMBR R11 R0 K42 + 0x7C180A00, // 0024 CALL R6 5 + 0xB81A1000, // 0025 GETNGBL R6 K8 + 0x8C180D31, // 0026 GETMET R6 R6 K49 + 0x7C180200, // 0027 CALL R6 1 + 0x8C180D3D, // 0028 GETMET R6 R6 K61 + 0x5820003E, // 0029 LDCONST R8 K62 + 0x7C180400, // 002A CALL R6 2 + 0x781A000D, // 002B JMPF R6 #003A + 0xB81A4A00, // 002C GETNGBL R6 K37 + 0x601C0018, // 002D GETGBL R7 G24 + 0x5820002B, // 002E LDCONST R8 K43 + 0x58240031, // 002F LDCONST R9 K49 + 0x5C280A00, // 0030 MOVE R10 R5 + 0x7C1C0600, // 0031 CALL R7 3 + 0x58200019, // 0032 LDCONST R8 K25 + 0x7C180400, // 0033 CALL R6 2 + 0x8C18052D, // 0034 GETMET R6 R2 K45 + 0x5820003F, // 0035 LDCONST R8 K63 + 0x58240040, // 0036 LDCONST R9 K64 + 0x5C280A00, // 0037 MOVE R10 R5 + 0x882C0130, // 0038 GETMBR R11 R0 K48 + 0x7C180A00, // 0039 CALL R6 5 + 0xA8040001, // 003A EXBLK 1 1 + 0x7002000F, // 003B JMP #004C + 0xAC0C0002, // 003C CATCH R3 0 2 + 0x7002000C, // 003D JMP #004B + 0xB8164A00, // 003E GETNGBL R5 K37 + 0x60180008, // 003F GETGBL R6 G8 + 0x5C1C0600, // 0040 MOVE R7 R3 + 0x7C180200, // 0041 CALL R6 1 + 0x001A6406, // 0042 ADD R6 K50 R6 + 0x00180D33, // 0043 ADD R6 R6 K51 + 0x601C0008, // 0044 GETGBL R7 G8 + 0x5C200800, // 0045 MOVE R8 R4 + 0x7C1C0200, // 0046 CALL R7 1 + 0x00180C07, // 0047 ADD R6 R6 R7 + 0x581C0034, // 0048 LDCONST R7 K52 + 0x7C140400, // 0049 CALL R5 2 + 0x70020000, // 004A JMP #004C + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80000000, // 004C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_operational_discovery_deferred +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_operational_discovery_deferred, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 1), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(start_operational_discovery), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x68080001, // 0002 GETUPV R2 U1 + 0x7C000400, // 0003 CALL R0 2 + 0x80040000, // 0004 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_operational_discovery_deferred), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xB80A1000, // 0000 GETNGBL R2 K8 + 0x8C080541, // 0001 GETMET R2 R2 K65 + 0x58100015, // 0002 LDCONST R4 K21 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x7C080600, // 0004 CALL R2 3 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_operational_discovery +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_operational_discovery, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_operational_discovery), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0xA40A8400, // 0000 IMPORT R2 K66 + 0xA40E4600, // 0001 IMPORT R3 K35 + 0x8C100143, // 0002 GETMET R4 R0 K67 + 0x7C100200, // 0003 CALL R4 1 + 0x8C100144, // 0004 GETMET R4 R0 K68 + 0x5C180200, // 0005 MOVE R6 R1 + 0x7C100400, // 0006 CALL R4 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _mdns_announce_hostname +********************************************************************/ +be_local_closure(class_Matter_Commissioning__mdns_announce_hostname, /* name */ + be_nested_proto( + 14, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(_mdns_announce_hostname), + &be_const_str_solidified, + ( &(const binstruction[146]) { /* code */ + 0xA40A4600, // 0000 IMPORT R2 K35 + 0xA40E8A00, // 0001 IMPORT R3 K69 + 0x8C100546, // 0002 GETMET R4 R2 K70 + 0x7C100200, // 0003 CALL R4 1 + 0xA8020079, // 0004 EXBLK 0 #007F + 0x78060034, // 0005 JMPF R1 #003B + 0xB8121000, // 0006 GETNGBL R4 K8 + 0x8C10092C, // 0007 GETMET R4 R4 K44 + 0x7C100200, // 0008 CALL R4 1 + 0x8C140747, // 0009 GETMET R5 R3 K71 + 0x8C1C093D, // 000A GETMET R7 R4 K61 + 0x58240048, // 000B LDCONST R9 K72 + 0x7C1C0400, // 000C CALL R7 2 + 0x58200049, // 000D LDCONST R8 K73 + 0x5824004A, // 000E LDCONST R9 K74 + 0x7C140800, // 000F CALL R5 4 + 0x90025405, // 0010 SETMBR R0 K42 R5 + 0x88140100, // 0011 GETMBR R5 R0 K0 + 0x88140B4B, // 0012 GETMBR R5 R5 K75 + 0x78160003, // 0013 JMPF R5 #0018 + 0x8C14094C, // 0014 GETMET R5 R4 K76 + 0x581C004D, // 0015 LDCONST R7 K77 + 0x7C140400, // 0016 CALL R5 2 + 0x7416000F, // 0017 JMPT R5 #0028 + 0x8C14054E, // 0018 GETMET R5 R2 K78 + 0x881C012A, // 0019 GETMBR R7 R0 K42 + 0x8C20093D, // 001A GETMET R8 R4 K61 + 0x5828004D, // 001B LDCONST R10 K77 + 0x582C004A, // 001C LDCONST R11 K74 + 0x7C200600, // 001D CALL R8 3 + 0x8C24093D, // 001E GETMET R9 R4 K61 + 0x582C004F, // 001F LDCONST R11 K79 + 0x5830004A, // 0020 LDCONST R12 K74 + 0x7C240600, // 0021 CALL R9 3 + 0x8C28093D, // 0022 GETMET R10 R4 K61 + 0x58300050, // 0023 LDCONST R12 K80 + 0x5834004A, // 0024 LDCONST R13 K74 + 0x7C280600, // 0025 CALL R10 3 + 0x7C140A00, // 0026 CALL R5 5 + 0x70020011, // 0027 JMP #003A + 0xB8164A00, // 0028 GETNGBL R5 K37 + 0x60180018, // 0029 GETGBL R6 G24 + 0x581C0051, // 002A LDCONST R7 K81 + 0x8820012A, // 002B GETMBR R8 R0 K42 + 0x8C24093D, // 002C GETMET R9 R4 K61 + 0x582C004F, // 002D LDCONST R11 K79 + 0x5830004A, // 002E LDCONST R12 K74 + 0x7C240600, // 002F CALL R9 3 + 0x7C180600, // 0030 CALL R6 3 + 0x581C0019, // 0031 LDCONST R7 K25 + 0x7C140400, // 0032 CALL R5 2 + 0x8C14054E, // 0033 GETMET R5 R2 K78 + 0x881C012A, // 0034 GETMBR R7 R0 K42 + 0x8C20093D, // 0035 GETMET R8 R4 K61 + 0x5828004F, // 0036 LDCONST R10 K79 + 0x582C004A, // 0037 LDCONST R11 K74 + 0x7C200600, // 0038 CALL R8 3 + 0x7C140600, // 0039 CALL R5 3 + 0x70020033, // 003A JMP #006F + 0xB8121000, // 003B GETNGBL R4 K8 + 0x8C100931, // 003C GETMET R4 R4 K49 + 0x7C100200, // 003D CALL R4 1 + 0x8C140747, // 003E GETMET R5 R3 K71 + 0x8C1C093D, // 003F GETMET R7 R4 K61 + 0x58240048, // 0040 LDCONST R9 K72 + 0x7C1C0400, // 0041 CALL R7 2 + 0x58200049, // 0042 LDCONST R8 K73 + 0x5824004A, // 0043 LDCONST R9 K74 + 0x7C140800, // 0044 CALL R5 4 + 0x90026005, // 0045 SETMBR R0 K48 R5 + 0x88140100, // 0046 GETMBR R5 R0 K0 + 0x88140B4B, // 0047 GETMBR R5 R5 K75 + 0x78160003, // 0048 JMPF R5 #004D + 0x8C14094C, // 0049 GETMET R5 R4 K76 + 0x581C004D, // 004A LDCONST R7 K77 + 0x7C140400, // 004B CALL R5 2 + 0x7416000F, // 004C JMPT R5 #005D + 0x8C14054E, // 004D GETMET R5 R2 K78 + 0x881C0130, // 004E GETMBR R7 R0 K48 + 0x8C20093D, // 004F GETMET R8 R4 K61 + 0x5828004D, // 0050 LDCONST R10 K77 + 0x582C004A, // 0051 LDCONST R11 K74 + 0x7C200600, // 0052 CALL R8 3 + 0x8C24093D, // 0053 GETMET R9 R4 K61 + 0x582C004F, // 0054 LDCONST R11 K79 + 0x5830004A, // 0055 LDCONST R12 K74 + 0x7C240600, // 0056 CALL R9 3 + 0x8C28093D, // 0057 GETMET R10 R4 K61 + 0x58300050, // 0058 LDCONST R12 K80 + 0x5834004A, // 0059 LDCONST R13 K74 + 0x7C280600, // 005A CALL R10 3 + 0x7C140A00, // 005B CALL R5 5 + 0x70020011, // 005C JMP #006F + 0xB8164A00, // 005D GETNGBL R5 K37 + 0x60180018, // 005E GETGBL R6 G24 + 0x581C0051, // 005F LDCONST R7 K81 + 0x88200130, // 0060 GETMBR R8 R0 K48 + 0x8C24093D, // 0061 GETMET R9 R4 K61 + 0x582C004F, // 0062 LDCONST R11 K79 + 0x5830004A, // 0063 LDCONST R12 K74 + 0x7C240600, // 0064 CALL R9 3 + 0x7C180600, // 0065 CALL R6 3 + 0x581C0019, // 0066 LDCONST R7 K25 + 0x7C140400, // 0067 CALL R5 2 + 0x8C14054E, // 0068 GETMET R5 R2 K78 + 0x881C0130, // 0069 GETMBR R7 R0 K48 + 0x8C20093D, // 006A GETMET R8 R4 K61 + 0x5828004F, // 006B LDCONST R10 K79 + 0x582C004A, // 006C LDCONST R11 K74 + 0x7C200600, // 006D CALL R8 3 + 0x7C140600, // 006E CALL R5 3 + 0xB8124A00, // 006F GETNGBL R4 K37 + 0x60140018, // 0070 GETGBL R5 G24 + 0x58180052, // 0071 LDCONST R6 K82 + 0x78060001, // 0072 JMPF R1 #0075 + 0x581C002C, // 0073 LDCONST R7 K44 + 0x70020000, // 0074 JMP #0076 + 0x581C0031, // 0075 LDCONST R7 K49 + 0x78060001, // 0076 JMPF R1 #0079 + 0x8820012A, // 0077 GETMBR R8 R0 K42 + 0x70020000, // 0078 JMP #007A + 0x88200130, // 0079 GETMBR R8 R0 K48 + 0x7C140600, // 007A CALL R5 3 + 0x58180019, // 007B LDCONST R6 K25 + 0x7C100400, // 007C CALL R4 2 + 0xA8040001, // 007D EXBLK 1 1 + 0x7002000F, // 007E JMP #008F + 0xAC100002, // 007F CATCH R4 0 2 + 0x7002000C, // 0080 JMP #008E + 0xB81A4A00, // 0081 GETNGBL R6 K37 + 0x601C0008, // 0082 GETGBL R7 G8 + 0x5C200800, // 0083 MOVE R8 R4 + 0x7C1C0200, // 0084 CALL R7 1 + 0x001E6407, // 0085 ADD R7 K50 R7 + 0x001C0F33, // 0086 ADD R7 R7 K51 + 0x60200008, // 0087 GETGBL R8 G8 + 0x5C240A00, // 0088 MOVE R9 R5 + 0x7C200200, // 0089 CALL R8 1 + 0x001C0E08, // 008A ADD R7 R7 R8 + 0x58200034, // 008B LDCONST R8 K52 + 0x7C180400, // 008C CALL R6 2 + 0x70020000, // 008D JMP #008F + 0xB0080000, // 008E RAISE 2 R0 R0 + 0x8C100153, // 008F GETMET R4 R0 K83 + 0x7C100200, // 0090 CALL R4 1 + 0x80000000, // 0091 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mdns_announce_op_discovery_all_fabrics +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_announce_op_discovery_all_fabrics, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_announce_op_discovery_all_fabrics), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x88080501, // 0002 GETMBR R2 R2 K1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x7C080200, // 0004 CALL R2 1 + 0x7C040200, // 0005 CALL R1 1 + 0xA802000B, // 0006 EXBLK 0 #0013 + 0x5C080200, // 0007 MOVE R2 R1 + 0x7C080000, // 0008 CALL R2 0 + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x7C0C0200, // 000A CALL R3 1 + 0x780E0005, // 000B JMPF R3 #0012 + 0x8C0C0504, // 000C GETMET R3 R2 K4 + 0x7C0C0200, // 000D CALL R3 1 + 0x780E0002, // 000E JMPF R3 #0012 + 0x8C0C0144, // 000F GETMET R3 R0 K68 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x7001FFF3, // 0012 JMP #0007 + 0x58040006, // 0013 LDCONST R1 K6 + 0xAC040200, // 0014 CATCH R1 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_root_basic_commissioning +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_root_basic_commissioning, /* name */ + be_nested_proto( + 22, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_root_basic_commissioning), + &be_const_str_solidified, + ( &(const binstruction[76]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x88040154, // 0003 GETMBR R1 R0 K84 + 0x8C080155, // 0004 GETMET R2 R0 K85 + 0x7C080200, // 0005 CALL R2 1 + 0xB80E4A00, // 0006 GETNGBL R3 K37 + 0x60100018, // 0007 GETGBL R4 G24 + 0x58140056, // 0008 LDCONST R5 K86 + 0x5C180400, // 0009 MOVE R6 R2 + 0x7C100400, // 000A CALL R4 2 + 0x58140034, // 000B LDCONST R5 K52 + 0x7C0C0400, // 000C CALL R3 2 + 0x8C0C0157, // 000D GETMET R3 R0 K87 + 0x7C0C0200, // 000E CALL R3 1 + 0xB8121000, // 000F GETNGBL R4 K8 + 0x8C100909, // 0010 GETMET R4 R4 K9 + 0x60180018, // 0011 GETGBL R6 G24 + 0x581C0058, // 0012 LDCONST R7 K88 + 0x5C200400, // 0013 MOVE R8 R2 + 0x5C240600, // 0014 MOVE R9 R3 + 0x7C180600, // 0015 CALL R6 3 + 0x581C000B, // 0016 LDCONST R7 K11 + 0x7C100600, // 0017 CALL R4 3 + 0xA4128400, // 0018 IMPORT R4 K66 + 0x8C140959, // 0019 GETMET R5 R4 K89 + 0x541E000F, // 001A LDINT R7 16 + 0x7C140400, // 001B CALL R5 2 + 0x60180015, // 001C GETGBL R6 G21 + 0x7C180000, // 001D CALL R6 0 + 0x8C180D5A, // 001E GETMET R6 R6 K90 + 0x88200100, // 001F GETMBR R8 R0 K0 + 0x8820111D, // 0020 GETMBR R8 R8 K29 + 0x54260003, // 0021 LDINT R9 4 + 0x7C180600, // 0022 CALL R6 3 + 0x8C1C095B, // 0023 GETMET R7 R4 K91 + 0x7C1C0200, // 0024 CALL R7 1 + 0x8C1C0F5C, // 0025 GETMET R7 R7 K92 + 0x5C240C00, // 0026 MOVE R9 R6 + 0x5C280A00, // 0027 MOVE R10 R5 + 0x882C015D, // 0028 GETMBR R11 R0 K93 + 0x5432004F, // 0029 LDINT R12 80 + 0x7C1C0A00, // 002A CALL R7 5 + 0x54220026, // 002B LDINT R8 39 + 0x40222A08, // 002C CONNECT R8 K21 R8 + 0x94200E08, // 002D GETIDX R8 R7 R8 + 0x54260027, // 002E LDINT R9 40 + 0x542A004E, // 002F LDINT R10 79 + 0x4024120A, // 0030 CONNECT R9 R9 R10 + 0x94240E09, // 0031 GETIDX R9 R7 R9 + 0x8C28095E, // 0032 GETMET R10 R4 K94 + 0x7C280200, // 0033 CALL R10 1 + 0x8C28155F, // 0034 GETMET R10 R10 K95 + 0x5C301000, // 0035 MOVE R12 R8 + 0x7C280400, // 0036 CALL R10 2 + 0x8C2C095E, // 0037 GETMET R11 R4 K94 + 0x7C2C0200, // 0038 CALL R11 1 + 0x8C2C175F, // 0039 GETMET R11 R11 K95 + 0x5C341200, // 003A MOVE R13 R9 + 0x7C2C0400, // 003B CALL R11 2 + 0x8C30095E, // 003C GETMET R12 R4 K94 + 0x7C300200, // 003D CALL R12 1 + 0x8C301960, // 003E GETMET R12 R12 K96 + 0x5C381600, // 003F MOVE R14 R11 + 0x7C300400, // 0040 CALL R12 2 + 0x8C340161, // 0041 GETMET R13 R0 K97 + 0x5C3C0200, // 0042 MOVE R15 R1 + 0x8840015D, // 0043 GETMBR R16 R0 K93 + 0x88440100, // 0044 GETMBR R17 R0 K0 + 0x8844231C, // 0045 GETMBR R17 R17 K28 + 0x5C480A00, // 0046 MOVE R18 R5 + 0x5C4C1400, // 0047 MOVE R19 R10 + 0x5C501800, // 0048 MOVE R20 R12 + 0x4C540000, // 0049 LDNIL R21 + 0x7C341000, // 004A CALL R13 8 + 0x80000000, // 004B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: generate_random_passcode +********************************************************************/ +be_local_closure(class_Matter_Commissioning_generate_random_passcode, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(generate_random_passcode), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xA4068400, // 0000 IMPORT R1 K66 + 0x4C080000, // 0001 LDNIL R2 + 0x500C0200, // 0002 LDBOOL R3 1 0 + 0x780E001D, // 0003 JMPF R3 #0022 + 0x8C0C0359, // 0004 GETMET R3 R1 K89 + 0x54160003, // 0005 LDINT R5 4 + 0x7C0C0400, // 0006 CALL R3 2 + 0x8C0C0762, // 0007 GETMET R3 R3 K98 + 0x58140015, // 0008 LDCONST R5 K21 + 0x541A0003, // 0009 LDINT R6 4 + 0x7C0C0600, // 000A CALL R3 3 + 0x2C0C071E, // 000B AND R3 R3 K30 + 0x5C080600, // 000C MOVE R2 R3 + 0x240C0563, // 000D GT R3 R2 K99 + 0x780E0000, // 000E JMPF R3 #0010 + 0x7001FFF1, // 000F JMP #0002 + 0x600C0010, // 0010 GETGBL R3 G16 + 0x88100164, // 0011 GETMBR R4 R0 K100 + 0x7C0C0200, // 0012 CALL R3 1 + 0xA8020005, // 0013 EXBLK 0 #001A + 0x5C100600, // 0014 MOVE R4 R3 + 0x7C100000, // 0015 CALL R4 0 + 0x1C140404, // 0016 EQ R5 R2 R4 + 0x78160000, // 0017 JMPF R5 #0019 + 0x4C080000, // 0018 LDNIL R2 + 0x7001FFF9, // 0019 JMP #0014 + 0x580C0006, // 001A LDCONST R3 K6 + 0xAC0C0200, // 001B CATCH R3 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x4C0C0000, // 001D LDNIL R3 + 0x200C0403, // 001E NE R3 R2 R3 + 0x780E0000, // 001F JMPF R3 #0021 + 0x80040400, // 0020 RET 1 R2 + 0x7001FFDF, // 0021 JMP #0002 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mdns_announce_op_discovery +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_announce_op_discovery, /* name */ + be_nested_proto( + 14, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_announce_op_discovery), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0xA40A4600, // 0000 IMPORT R2 K35 + 0xA802005F, // 0001 EXBLK 0 #0062 + 0x8C0C0303, // 0002 GETMET R3 R1 K3 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0738, // 0004 GETMET R3 R3 K56 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0739, // 0006 GETMET R3 R3 K57 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C10033A, // 0008 GETMET R4 R1 K58 + 0x7C100200, // 0009 CALL R4 1 + 0x8C14093B, // 000A GETMET R5 R4 K59 + 0x7C140200, // 000B CALL R5 1 + 0x00140B3C, // 000C ADD R5 R5 K60 + 0x8C18073B, // 000D GETMET R6 R3 K59 + 0x7C180200, // 000E CALL R6 1 + 0x00140A06, // 000F ADD R5 R5 R6 + 0xB81A4A00, // 0010 GETNGBL R6 K37 + 0x001ECA05, // 0011 ADD R7 K101 R5 + 0x58200019, // 0012 LDCONST R8 K25 + 0x7C180400, // 0013 CALL R6 2 + 0xB81A1000, // 0014 GETNGBL R6 K8 + 0x8C180D2C, // 0015 GETMET R6 R6 K44 + 0x7C180200, // 0016 CALL R6 1 + 0x8C180D3D, // 0017 GETMET R6 R6 K61 + 0x5820003E, // 0018 LDCONST R8 K62 + 0x7C180400, // 0019 CALL R6 2 + 0x781A001E, // 001A JMPF R6 #003A + 0xB81A4A00, // 001B GETNGBL R6 K37 + 0x601C0018, // 001C GETGBL R7 G24 + 0x58200066, // 001D LDCONST R8 K102 + 0x5824002C, // 001E LDCONST R9 K44 + 0x5C280A00, // 001F MOVE R10 R5 + 0x882C012A, // 0020 GETMBR R11 R0 K42 + 0x7C1C0800, // 0021 CALL R7 4 + 0x58200019, // 0022 LDCONST R8 K25 + 0x7C180400, // 0023 CALL R6 2 + 0x8C180567, // 0024 GETMET R6 R2 K103 + 0x5820003F, // 0025 LDCONST R8 K63 + 0x58240040, // 0026 LDCONST R9 K64 + 0x542A15A3, // 0027 LDINT R10 5540 + 0x4C2C0000, // 0028 LDNIL R11 + 0x5C300A00, // 0029 MOVE R12 R5 + 0x8834012A, // 002A GETMBR R13 R0 K42 + 0x7C180E00, // 002B CALL R6 7 + 0x8C18093B, // 002C GETMET R6 R4 K59 + 0x7C180200, // 002D CALL R6 1 + 0x001AD006, // 002E ADD R6 K104 R6 + 0xB81E4A00, // 002F GETNGBL R7 K37 + 0x0022D206, // 0030 ADD R8 K105 R6 + 0x58240019, // 0031 LDCONST R9 K25 + 0x7C1C0400, // 0032 CALL R7 2 + 0x8C1C056A, // 0033 GETMET R7 R2 K106 + 0x5824003F, // 0034 LDCONST R9 K63 + 0x58280040, // 0035 LDCONST R10 K64 + 0x5C2C0A00, // 0036 MOVE R11 R5 + 0x8830012A, // 0037 GETMBR R12 R0 K42 + 0x5C340C00, // 0038 MOVE R13 R6 + 0x7C1C0C00, // 0039 CALL R7 6 + 0xB81A1000, // 003A GETNGBL R6 K8 + 0x8C180D31, // 003B GETMET R6 R6 K49 + 0x7C180200, // 003C CALL R6 1 + 0x8C180D3D, // 003D GETMET R6 R6 K61 + 0x5820003E, // 003E LDCONST R8 K62 + 0x7C180400, // 003F CALL R6 2 + 0x781A001E, // 0040 JMPF R6 #0060 + 0xB81A4A00, // 0041 GETNGBL R6 K37 + 0x601C0018, // 0042 GETGBL R7 G24 + 0x58200066, // 0043 LDCONST R8 K102 + 0x58240031, // 0044 LDCONST R9 K49 + 0x5C280A00, // 0045 MOVE R10 R5 + 0x882C0130, // 0046 GETMBR R11 R0 K48 + 0x7C1C0800, // 0047 CALL R7 4 + 0x58200019, // 0048 LDCONST R8 K25 + 0x7C180400, // 0049 CALL R6 2 + 0x8C180567, // 004A GETMET R6 R2 K103 + 0x5820003F, // 004B LDCONST R8 K63 + 0x58240040, // 004C LDCONST R9 K64 + 0x542A15A3, // 004D LDINT R10 5540 + 0x4C2C0000, // 004E LDNIL R11 + 0x5C300A00, // 004F MOVE R12 R5 + 0x88340130, // 0050 GETMBR R13 R0 K48 + 0x7C180E00, // 0051 CALL R6 7 + 0x8C18093B, // 0052 GETMET R6 R4 K59 + 0x7C180200, // 0053 CALL R6 1 + 0x001AD006, // 0054 ADD R6 K104 R6 + 0xB81E4A00, // 0055 GETNGBL R7 K37 + 0x0022D206, // 0056 ADD R8 K105 R6 + 0x58240019, // 0057 LDCONST R9 K25 + 0x7C1C0400, // 0058 CALL R7 2 + 0x8C1C056A, // 0059 GETMET R7 R2 K106 + 0x5824003F, // 005A LDCONST R9 K63 + 0x58280040, // 005B LDCONST R10 K64 + 0x5C2C0A00, // 005C MOVE R11 R5 + 0x88300130, // 005D GETMBR R12 R0 K48 + 0x5C340C00, // 005E MOVE R13 R6 + 0x7C1C0C00, // 005F CALL R7 6 + 0xA8040001, // 0060 EXBLK 1 1 + 0x7002000F, // 0061 JMP #0072 + 0xAC0C0002, // 0062 CATCH R3 0 2 + 0x7002000C, // 0063 JMP #0071 + 0xB8164A00, // 0064 GETNGBL R5 K37 + 0x60180008, // 0065 GETGBL R6 G8 + 0x5C1C0600, // 0066 MOVE R7 R3 + 0x7C180200, // 0067 CALL R6 1 + 0x001A6406, // 0068 ADD R6 K50 R6 + 0x00180D33, // 0069 ADD R6 R6 K51 + 0x601C0008, // 006A GETGBL R7 G8 + 0x5C200800, // 006B MOVE R8 R4 + 0x7C1C0200, // 006C CALL R7 1 + 0x00180C07, // 006D ADD R6 R6 R7 + 0x581C0034, // 006E LDCONST R7 K52 + 0x7C140400, // 006F CALL R5 2 + 0x70020000, // 0070 JMP #0072 + 0xB0080000, // 0071 RAISE 2 R0 R0 + 0x80000000, // 0072 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_commissioning_complete_deferred +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_commissioning_complete_deferred, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 1), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(start_commissioning_complete), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x68080001, // 0002 GETUPV R2 U1 + 0x7C000400, // 0003 CALL R0 2 + 0x80040000, // 0004 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_commissioning_complete_deferred), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xB80A1000, // 0000 GETNGBL R2 K8 + 0x8C080541, // 0001 GETMET R2 R2 K65 + 0x58100015, // 0002 LDCONST R4 K21 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x7C080600, // 0004 CALL R2 3 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_Commissioning_every_second, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060006, // 0003 JMPF R1 #000B + 0xB8061000, // 0004 GETNGBL R1 K8 + 0x8C04036B, // 0005 GETMET R1 R1 K107 + 0x880C010C, // 0006 GETMBR R3 R0 K12 + 0x7C040400, // 0007 CALL R1 2 + 0x78060001, // 0008 JMPF R1 #000B + 0x4C040000, // 0009 LDNIL R1 + 0x90021801, // 000A SETMBR R0 K12 R1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mdns_announce_PASE +********************************************************************/ +be_local_closure(class_Matter_Commissioning_mdns_announce_PASE, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(mdns_announce_PASE), + &be_const_str_solidified, + ( &(const binstruction[226]) { /* code */ + 0xA4064600, // 0000 IMPORT R1 K35 + 0xA40A8400, // 0001 IMPORT R2 K66 + 0x600C0013, // 0002 GETGBL R3 G19 + 0x7C0C0000, // 0003 CALL R3 0 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814006D, // 0005 LDCONST R5 K109 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x88180D1A, // 0007 GETMBR R6 R6 K26 + 0x881C0100, // 0008 GETMBR R7 R0 K0 + 0x881C0F1B, // 0009 GETMBR R7 R7 K27 + 0x7C100600, // 000A CALL R4 3 + 0x980ED804, // 000B SETIDX R3 K108 R4 + 0x8810010F, // 000C GETMBR R4 R0 K15 + 0x980EDC04, // 000D SETIDX R3 K110 R4 + 0x980EDF70, // 000E SETIDX R3 K111 K112 + 0x980EE315, // 000F SETIDX R3 K113 K21 + 0x54121387, // 0010 LDINT R4 5000 + 0x980EE404, // 0011 SETIDX R3 K114 R4 + 0x5412012B, // 0012 LDINT R4 300 + 0x980EE604, // 0013 SETIDX R3 K115 R4 + 0x8C100559, // 0014 GETMET R4 R2 K89 + 0x541A0007, // 0015 LDINT R6 8 + 0x7C100400, // 0016 CALL R4 2 + 0x8C10093B, // 0017 GETMET R4 R4 K59 + 0x7C100200, // 0018 CALL R4 1 + 0x90025E04, // 0019 SETMBR R0 K47 R4 + 0x8C100559, // 001A GETMET R4 R2 K89 + 0x541A0007, // 001B LDINT R6 8 + 0x7C100400, // 001C CALL R4 2 + 0x8C10093B, // 001D GETMET R4 R4 K59 + 0x7C100200, // 001E CALL R4 1 + 0x90025204, // 001F SETMBR R0 K41 R4 + 0xA80200AF, // 0020 EXBLK 0 #00D1 + 0x8810012A, // 0021 GETMBR R4 R0 K42 + 0x78120054, // 0022 JMPF R4 #0078 + 0x8C100367, // 0023 GETMET R4 R1 K103 + 0x58180027, // 0024 LDCONST R6 K39 + 0x581C0028, // 0025 LDCONST R7 K40 + 0x542215A3, // 0026 LDINT R8 5540 + 0x5C240600, // 0027 MOVE R9 R3 + 0x88280129, // 0028 GETMBR R10 R0 K41 + 0x882C012A, // 0029 GETMBR R11 R0 K42 + 0x7C100E00, // 002A CALL R4 7 + 0x50100200, // 002B LDBOOL R4 1 0 + 0x90024804, // 002C SETMBR R0 K36 R4 + 0xB8124A00, // 002D GETNGBL R4 K37 + 0x60140018, // 002E GETGBL R5 G24 + 0x58180074, // 002F LDCONST R6 K116 + 0x581C002C, // 0030 LDCONST R7 K44 + 0x88200129, // 0031 GETMBR R8 R0 K41 + 0x8824012A, // 0032 GETMBR R9 R0 K42 + 0x7C140800, // 0033 CALL R5 4 + 0x58180034, // 0034 LDCONST R6 K52 + 0x7C100400, // 0035 CALL R4 2 + 0x60100008, // 0036 GETGBL R4 G8 + 0x8814010F, // 0037 GETMBR R5 R0 K15 + 0x541A0FFE, // 0038 LDINT R6 4095 + 0x2C140A06, // 0039 AND R5 R5 R6 + 0x7C100200, // 003A CALL R4 1 + 0x0012EA04, // 003B ADD R4 K117 R4 + 0xB8164A00, // 003C GETNGBL R5 K37 + 0x001AD204, // 003D ADD R6 K105 R4 + 0x581C0019, // 003E LDCONST R7 K25 + 0x7C140400, // 003F CALL R5 2 + 0x8C14036A, // 0040 GETMET R5 R1 K106 + 0x581C0027, // 0041 LDCONST R7 K39 + 0x58200028, // 0042 LDCONST R8 K40 + 0x88240129, // 0043 GETMBR R9 R0 K41 + 0x8828012A, // 0044 GETMBR R10 R0 K42 + 0x5C2C0800, // 0045 MOVE R11 R4 + 0x7C140C00, // 0046 CALL R5 6 + 0x60140008, // 0047 GETGBL R5 G8 + 0x8818010F, // 0048 GETMBR R6 R0 K15 + 0x541E0EFF, // 0049 LDINT R7 3840 + 0x2C180C07, // 004A AND R6 R6 R7 + 0x541E0007, // 004B LDINT R7 8 + 0x3C180C07, // 004C SHR R6 R6 R7 + 0x7C140200, // 004D CALL R5 1 + 0x0016EC05, // 004E ADD R5 K118 R5 + 0x5C100A00, // 004F MOVE R4 R5 + 0xB8164A00, // 0050 GETNGBL R5 K37 + 0x001AD204, // 0051 ADD R6 K105 R4 + 0x581C0019, // 0052 LDCONST R7 K25 + 0x7C140400, // 0053 CALL R5 2 + 0x8C14036A, // 0054 GETMET R5 R1 K106 + 0x581C0027, // 0055 LDCONST R7 K39 + 0x58200028, // 0056 LDCONST R8 K40 + 0x88240129, // 0057 GETMBR R9 R0 K41 + 0x8828012A, // 0058 GETMBR R10 R0 K42 + 0x5C2C0800, // 0059 MOVE R11 R4 + 0x7C140C00, // 005A CALL R5 6 + 0x60140008, // 005B GETGBL R5 G8 + 0x88180100, // 005C GETMBR R6 R0 K0 + 0x88180D1A, // 005D GETMBR R6 R6 K26 + 0x7C140200, // 005E CALL R5 1 + 0x0016EE05, // 005F ADD R5 K119 R5 + 0x5C100A00, // 0060 MOVE R4 R5 + 0xB8164A00, // 0061 GETNGBL R5 K37 + 0x001AD204, // 0062 ADD R6 K105 R4 + 0x581C0019, // 0063 LDCONST R7 K25 + 0x7C140400, // 0064 CALL R5 2 + 0x8C14036A, // 0065 GETMET R5 R1 K106 + 0x581C0027, // 0066 LDCONST R7 K39 + 0x58200028, // 0067 LDCONST R8 K40 + 0x88240129, // 0068 GETMBR R9 R0 K41 + 0x8828012A, // 0069 GETMBR R10 R0 K42 + 0x5C2C0800, // 006A MOVE R11 R4 + 0x7C140C00, // 006B CALL R5 6 + 0x58100078, // 006C LDCONST R4 K120 + 0xB8164A00, // 006D GETNGBL R5 K37 + 0x001AD204, // 006E ADD R6 K105 R4 + 0x581C0019, // 006F LDCONST R7 K25 + 0x7C140400, // 0070 CALL R5 2 + 0x8C14036A, // 0071 GETMET R5 R1 K106 + 0x581C0027, // 0072 LDCONST R7 K39 + 0x58200028, // 0073 LDCONST R8 K40 + 0x88240129, // 0074 GETMBR R9 R0 K41 + 0x8828012A, // 0075 GETMBR R10 R0 K42 + 0x5C2C0800, // 0076 MOVE R11 R4 + 0x7C140C00, // 0077 CALL R5 6 + 0x88100130, // 0078 GETMBR R4 R0 K48 + 0x78120054, // 0079 JMPF R4 #00CF + 0x8C100367, // 007A GETMET R4 R1 K103 + 0x58180027, // 007B LDCONST R6 K39 + 0x581C0028, // 007C LDCONST R7 K40 + 0x542215A3, // 007D LDINT R8 5540 + 0x5C240600, // 007E MOVE R9 R3 + 0x8828012F, // 007F GETMBR R10 R0 K47 + 0x882C0130, // 0080 GETMBR R11 R0 K48 + 0x7C100E00, // 0081 CALL R4 7 + 0x50100200, // 0082 LDBOOL R4 1 0 + 0x90025C04, // 0083 SETMBR R0 K46 R4 + 0xB8124A00, // 0084 GETNGBL R4 K37 + 0x60140018, // 0085 GETGBL R5 G24 + 0x58180079, // 0086 LDCONST R6 K121 + 0x581C0031, // 0087 LDCONST R7 K49 + 0x8820012F, // 0088 GETMBR R8 R0 K47 + 0x88240130, // 0089 GETMBR R9 R0 K48 + 0x7C140800, // 008A CALL R5 4 + 0x58180019, // 008B LDCONST R6 K25 + 0x7C100400, // 008C CALL R4 2 + 0x60100008, // 008D GETGBL R4 G8 + 0x8814010F, // 008E GETMBR R5 R0 K15 + 0x541A0FFE, // 008F LDINT R6 4095 + 0x2C140A06, // 0090 AND R5 R5 R6 + 0x7C100200, // 0091 CALL R4 1 + 0x0012EA04, // 0092 ADD R4 K117 R4 + 0xB8164A00, // 0093 GETNGBL R5 K37 + 0x001AD204, // 0094 ADD R6 K105 R4 + 0x581C0019, // 0095 LDCONST R7 K25 + 0x7C140400, // 0096 CALL R5 2 + 0x8C14036A, // 0097 GETMET R5 R1 K106 + 0x581C0027, // 0098 LDCONST R7 K39 + 0x58200028, // 0099 LDCONST R8 K40 + 0x8824012F, // 009A GETMBR R9 R0 K47 + 0x88280130, // 009B GETMBR R10 R0 K48 + 0x5C2C0800, // 009C MOVE R11 R4 + 0x7C140C00, // 009D CALL R5 6 + 0x60140008, // 009E GETGBL R5 G8 + 0x8818010F, // 009F GETMBR R6 R0 K15 + 0x541E0EFF, // 00A0 LDINT R7 3840 + 0x2C180C07, // 00A1 AND R6 R6 R7 + 0x541E0007, // 00A2 LDINT R7 8 + 0x3C180C07, // 00A3 SHR R6 R6 R7 + 0x7C140200, // 00A4 CALL R5 1 + 0x0016EC05, // 00A5 ADD R5 K118 R5 + 0x5C100A00, // 00A6 MOVE R4 R5 + 0xB8164A00, // 00A7 GETNGBL R5 K37 + 0x001AD204, // 00A8 ADD R6 K105 R4 + 0x581C0019, // 00A9 LDCONST R7 K25 + 0x7C140400, // 00AA CALL R5 2 + 0x8C14036A, // 00AB GETMET R5 R1 K106 + 0x581C0027, // 00AC LDCONST R7 K39 + 0x58200028, // 00AD LDCONST R8 K40 + 0x8824012F, // 00AE GETMBR R9 R0 K47 + 0x88280130, // 00AF GETMBR R10 R0 K48 + 0x5C2C0800, // 00B0 MOVE R11 R4 + 0x7C140C00, // 00B1 CALL R5 6 + 0x60140008, // 00B2 GETGBL R5 G8 + 0x88180100, // 00B3 GETMBR R6 R0 K0 + 0x88180D1A, // 00B4 GETMBR R6 R6 K26 + 0x7C140200, // 00B5 CALL R5 1 + 0x0016EE05, // 00B6 ADD R5 K119 R5 + 0x5C100A00, // 00B7 MOVE R4 R5 + 0xB8164A00, // 00B8 GETNGBL R5 K37 + 0x001AD204, // 00B9 ADD R6 K105 R4 + 0x581C0019, // 00BA LDCONST R7 K25 + 0x7C140400, // 00BB CALL R5 2 + 0x8C14036A, // 00BC GETMET R5 R1 K106 + 0x581C0027, // 00BD LDCONST R7 K39 + 0x58200028, // 00BE LDCONST R8 K40 + 0x8824012F, // 00BF GETMBR R9 R0 K47 + 0x88280130, // 00C0 GETMBR R10 R0 K48 + 0x5C2C0800, // 00C1 MOVE R11 R4 + 0x7C140C00, // 00C2 CALL R5 6 + 0x58100078, // 00C3 LDCONST R4 K120 + 0xB8164A00, // 00C4 GETNGBL R5 K37 + 0x001AD204, // 00C5 ADD R6 K105 R4 + 0x581C0019, // 00C6 LDCONST R7 K25 + 0x7C140400, // 00C7 CALL R5 2 + 0x8C14036A, // 00C8 GETMET R5 R1 K106 + 0x581C0027, // 00C9 LDCONST R7 K39 + 0x58200028, // 00CA LDCONST R8 K40 + 0x8824012F, // 00CB GETMBR R9 R0 K47 + 0x88280130, // 00CC GETMBR R10 R0 K48 + 0x5C2C0800, // 00CD MOVE R11 R4 + 0x7C140C00, // 00CE CALL R5 6 + 0xA8040001, // 00CF EXBLK 1 1 + 0x7002000F, // 00D0 JMP #00E1 + 0xAC100002, // 00D1 CATCH R4 0 2 + 0x7002000C, // 00D2 JMP #00E0 + 0xB81A4A00, // 00D3 GETNGBL R6 K37 + 0x601C0008, // 00D4 GETGBL R7 G8 + 0x5C200800, // 00D5 MOVE R8 R4 + 0x7C1C0200, // 00D6 CALL R7 1 + 0x001E6407, // 00D7 ADD R7 K50 R7 + 0x001C0F33, // 00D8 ADD R7 R7 K51 + 0x60200008, // 00D9 GETGBL R8 G8 + 0x5C240A00, // 00DA MOVE R9 R5 + 0x7C200200, // 00DB CALL R8 1 + 0x001C0E08, // 00DC ADD R7 R7 R8 + 0x58200034, // 00DD LDCONST R8 K52 + 0x7C180400, // 00DE CALL R6 2 + 0x70020000, // 00DF JMP #00E1 + 0xB0080000, // 00E0 RAISE 2 R0 R0 + 0x80000000, // 00E1 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_basic_commissioning +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_basic_commissioning, /* name */ + be_nested_proto( + 13, /* nstack */ + 8, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str_weak(mdns_announce_PASE), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(remove_rule), + /* K3 */ be_nested_str_weak(Wifi_X23Connected), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0xB8020200, // 0003 GETNGBL R0 K1 + 0x8C000102, // 0004 GETMET R0 R0 K2 + 0x58080003, // 0005 LDCONST R2 K3 + 0x580C0000, // 0006 LDCONST R3 K0 + 0x7C000600, // 0007 CALL R0 3 + 0x80000000, // 0008 RET 0 + }) + ), + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str_weak(mdns_announce_PASE), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(remove_rule), + /* K3 */ be_nested_str_weak(Eth_X23Connected), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0xB8020200, // 0003 GETNGBL R0 K1 + 0x8C000102, // 0004 GETMET R0 R0 K2 + 0x58080003, // 0005 LDCONST R2 K3 + 0x580C0000, // 0006 LDCONST R3 K0 + 0x7C000600, // 0007 CALL R0 3 + 0x80000000, // 0008 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_basic_commissioning), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0xB8221000, // 0000 GETNGBL R8 K8 + 0x8C20117A, // 0001 GETMET R8 R8 K122 + 0x7C200200, // 0002 CALL R8 1 + 0x542603E7, // 0003 LDINT R9 1000 + 0x08240209, // 0004 MUL R9 R1 R9 + 0x00201009, // 0005 ADD R8 R8 R9 + 0x90021808, // 0006 SETMBR R0 K12 R8 + 0x90021C02, // 0007 SETMBR R0 K14 R2 + 0x90021E03, // 0008 SETMBR R0 K15 R3 + 0x90022004, // 0009 SETMBR R0 K16 R4 + 0x90022205, // 000A SETMBR R0 K17 R5 + 0x90022406, // 000B SETMBR R0 K18 R6 + 0x90022607, // 000C SETMBR R0 K19 R7 + 0xB8221000, // 000D GETNGBL R8 K8 + 0x8C201131, // 000E GETMET R8 R8 K49 + 0x7C200200, // 000F CALL R8 1 + 0x9420113E, // 0010 GETIDX R8 R8 K62 + 0x74220004, // 0011 JMPT R8 #0017 + 0xB8221000, // 0012 GETNGBL R8 K8 + 0x8C20112C, // 0013 GETMET R8 R8 K44 + 0x7C200200, // 0014 CALL R8 1 + 0x9420113E, // 0015 GETIDX R8 R8 K62 + 0x78220002, // 0016 JMPF R8 #001A + 0x8C20017B, // 0017 GETMET R8 R0 K123 + 0x7C200200, // 0018 CALL R8 1 + 0x7002000B, // 0019 JMP #0026 + 0xB8221000, // 001A GETNGBL R8 K8 + 0x8C20117C, // 001B GETMET R8 R8 K124 + 0x5828007D, // 001C LDCONST R10 K125 + 0x842C0000, // 001D CLOSURE R11 P0 + 0x5830007B, // 001E LDCONST R12 K123 + 0x7C200800, // 001F CALL R8 4 + 0xB8221000, // 0020 GETNGBL R8 K8 + 0x8C20117C, // 0021 GETMET R8 R8 K124 + 0x5828007E, // 0022 LDCONST R10 K126 + 0x842C0001, // 0023 CLOSURE R11 P1 + 0x5830007B, // 0024 LDCONST R12 K123 + 0x7C200800, // 0025 CALL R8 4 + 0xA0000000, // 0026 CLOSE R0 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_mdns_announce_hostnames +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_mdns_announce_hostnames, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(_mdns_announce_hostname), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(remove_rule), + /* K3 */ be_nested_str_weak(Wifi_X23Connected), + /* K4 */ be_nested_str_weak(matter_mdns_host), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x50080000, // 0002 LDBOOL R2 0 0 + 0x7C000400, // 0003 CALL R0 2 + 0xB8020200, // 0004 GETNGBL R0 K1 + 0x8C000102, // 0005 GETMET R0 R0 K2 + 0x58080003, // 0006 LDCONST R2 K3 + 0x580C0004, // 0007 LDCONST R3 K4 + 0x7C000600, // 0008 CALL R0 3 + 0x80000000, // 0009 RET 0 + }) + ), + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(_mdns_announce_hostname), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(remove_rule), + /* K3 */ be_nested_str_weak(Eth_X23Connected), + /* K4 */ be_nested_str_weak(matter_mdns_host), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x50080200, // 0002 LDBOOL R2 1 0 + 0x7C000400, // 0003 CALL R0 2 + 0xB8020200, // 0004 GETNGBL R0 K1 + 0x8C000102, // 0005 GETMET R0 R0 K2 + 0x58080003, // 0006 LDCONST R2 K3 + 0x580C0004, // 0007 LDCONST R3 K4 + 0x7C000600, // 0008 CALL R0 3 + 0x80000000, // 0009 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_mdns_announce_hostnames), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0xB8061000, // 0000 GETNGBL R1 K8 + 0x8C040331, // 0001 GETMET R1 R1 K49 + 0x7C040200, // 0002 CALL R1 1 + 0x9404033E, // 0003 GETIDX R1 R1 K62 + 0x78060003, // 0004 JMPF R1 #0009 + 0x8C04017F, // 0005 GETMET R1 R0 K127 + 0x500C0000, // 0006 LDBOOL R3 0 0 + 0x7C040400, // 0007 CALL R1 2 + 0x70020005, // 0008 JMP #000F + 0xB8061000, // 0009 GETNGBL R1 K8 + 0x8C04037C, // 000A GETMET R1 R1 K124 + 0x580C007D, // 000B LDCONST R3 K125 + 0x84100000, // 000C CLOSURE R4 P0 + 0x58140080, // 000D LDCONST R5 K128 + 0x7C040800, // 000E CALL R1 4 + 0xB8061000, // 000F GETNGBL R1 K8 + 0x8C04032C, // 0010 GETMET R1 R1 K44 + 0x7C040200, // 0011 CALL R1 1 + 0x9404033E, // 0012 GETIDX R1 R1 K62 + 0x78060003, // 0013 JMPF R1 #0018 + 0x8C04017F, // 0014 GETMET R1 R0 K127 + 0x500C0200, // 0015 LDBOOL R3 1 0 + 0x7C040400, // 0016 CALL R1 2 + 0x70020005, // 0017 JMP #001E + 0xB8061000, // 0018 GETNGBL R1 K8 + 0x8C04037C, // 0019 GETMET R1 R1 K124 + 0x580C007E, // 001A LDCONST R3 K126 + 0x84100001, // 001B CLOSURE R4 P1 + 0x58140080, // 001C LDCONST R5 K128 + 0x7C040800, // 001D CALL R1 4 + 0xA0000000, // 001E CLOSE R0 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_root_commissioning_open +********************************************************************/ +be_local_closure(class_Matter_Commissioning_is_root_commissioning_open, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(is_root_commissioning_open), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060003, // 0003 JMPF R1 #0008 + 0x88040113, // 0004 GETMBR R1 R0 K19 + 0x4C080000, // 0005 LDNIL R2 + 0x1C040202, // 0006 EQ R1 R1 R2 + 0x74060000, // 0007 JMPT R1 #0009 + 0x50040001, // 0008 LDBOOL R1 0 1 + 0x50040200, // 0009 LDBOOL R1 1 0 + 0x80040200, // 000A RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_commissioning_open +********************************************************************/ +be_local_closure(class_Matter_Commissioning_is_commissioning_open, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(is_commissioning_open), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start_commissioning_complete +********************************************************************/ +be_local_closure(class_Matter_Commissioning_start_commissioning_complete, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Commissioning, /* shared constants */ + be_str_weak(start_commissioning_complete), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8C080381, // 0000 GETMET R2 R1 K129 + 0x7C080200, // 0001 CALL R2 1 + 0x8C0C0504, // 0002 GETMET R3 R2 K4 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0738, // 0004 GETMET R3 R3 K56 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0739, // 0006 GETMET R3 R3 K57 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C0C073B, // 0008 GETMET R3 R3 K59 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C100582, // 000A GETMET R4 R2 K130 + 0x7C100200, // 000B CALL R4 1 + 0xB8164A00, // 000C GETNGBL R5 K37 + 0x60180018, // 000D GETGBL R6 G24 + 0x581C0083, // 000E LDCONST R7 K131 + 0x5C200600, // 000F MOVE R8 R3 + 0x5C240800, // 0010 MOVE R9 R4 + 0x7C180600, // 0011 CALL R6 3 + 0x581C0034, // 0012 LDCONST R7 K52 + 0x7C140400, // 0013 CALL R5 2 + 0x8C140143, // 0014 GETMET R5 R0 K67 + 0x7C140200, // 0015 CALL R5 1 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Commissioning +********************************************************************/ +be_local_class(Matter_Commissioning, + 14, + NULL, + be_nested_map(40, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(7) }, + { be_const_key_weak(commissioning_w0, -1), be_const_var(5) }, + { be_const_key_weak(commissioning_instance_eth, 1), be_const_var(9) }, + { be_const_key_weak(start_commissioning_complete, -1), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_closure) }, + { be_const_key_weak(stop_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_stop_basic_commissioning_closure) }, + { be_const_key_weak(mdns_pase_wifi, -1), be_const_var(13) }, + { be_const_key_weak(init_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_init_basic_commissioning_closure) }, + { be_const_key_weak(compute_qrcode_content, -1), be_const_closure(class_Matter_Commissioning_compute_qrcode_content_closure) }, + { be_const_key_weak(compute_manual_pairing_code, 38), be_const_closure(class_Matter_Commissioning_compute_manual_pairing_code_closure) }, + { be_const_key_weak(commissioning_open, -1), be_const_var(1) }, + { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, 8), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + { be_const_key_weak(start_operational_discovery, -1), be_const_closure(class_Matter_Commissioning_start_operational_discovery_closure) }, + { be_const_key_weak(PASSCODE_INVALID, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(12, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(11111111), + be_const_int(22222222), + be_const_int(33333333), + be_const_int(44444444), + be_const_int(55555555), + be_const_int(66666666), + be_const_int(77777777), + be_const_int(88888888), + be_const_int(99999999), + be_const_int(12345678), + be_const_int(87654321), + })) ) } )) }, + { be_const_key_weak(commissioning_discriminator, 30), be_const_var(3) }, + { be_const_key_weak(mdns_remove_op_discovery, 3), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_closure) }, + { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(start_operational_discovery_deferred, 12), be_const_closure(class_Matter_Commissioning_start_operational_discovery_deferred_closure) }, + { be_const_key_weak(_mdns_announce_hostname, 28), be_const_closure(class_Matter_Commissioning__mdns_announce_hostname_closure) }, + { be_const_key_weak(commissioning_L, 16), be_const_var(6) }, + { be_const_key_weak(start_commissioning_complete_deferred, -1), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_deferred_closure) }, + { be_const_key_weak(generate_random_passcode, -1), be_const_closure(class_Matter_Commissioning_generate_random_passcode_closure) }, + { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_op_discovery_closure) }, + { be_const_key_weak(commissioning_instance_wifi, -1), be_const_var(8) }, + { be_const_key_weak(hostname_eth, -1), be_const_var(11) }, + { be_const_key_weak(start_root_basic_commissioning, 32), be_const_closure(class_Matter_Commissioning_start_root_basic_commissioning_closure) }, + { be_const_key_weak(PASE_TIMEOUT, 23), be_const_int(600) }, + { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_PASE_closure) }, + { be_const_key_weak(start_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_start_basic_commissioning_closure) }, + { be_const_key_weak(start_mdns_announce_hostnames, -1), be_const_closure(class_Matter_Commissioning_start_mdns_announce_hostnames_closure) }, + { be_const_key_weak(mdns_pase_eth, 20), be_const_var(12) }, + { be_const_key_weak(is_root_commissioning_open, -1), be_const_closure(class_Matter_Commissioning_is_root_commissioning_open_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Commissioning_every_second_closure) }, + { be_const_key_weak(commissioning_salt, -1), be_const_var(4) }, + { be_const_key_weak(is_commissioning_open, -1), be_const_closure(class_Matter_Commissioning_is_commissioning_open_closure) }, + { be_const_key_weak(init, 14), be_const_closure(class_Matter_Commissioning_init_closure) }, + { be_const_key_weak(hostname_wifi, -1), be_const_var(10) }, + { be_const_key_weak(commissioning_iterations, -1), be_const_var(2) }, + { be_const_key_weak(mdns_remove_PASE, -1), be_const_closure(class_Matter_Commissioning_mdns_remove_PASE_closure) }, + { be_const_key_weak(PBKDF_ITERATIONS, -1), be_const_int(1000) }, + })), + be_str_weak(Matter_Commissioning) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Zigbee.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Zigbee.h new file mode 100644 index 000000000..a92918b5a --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_z_Zigbee.h @@ -0,0 +1,537 @@ +/* Solidification of Matter_z_Zigbee.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Zigbee_Mapper' ktab size: 30, total: 45 (saved 120 bytes) +static const bvalue be_ktab_class_Matter_Zigbee_Mapper[30] = { + /* K0 */ be_nested_str_weak(resolve_zb_device), + /* K1 */ be_nested_str_weak(zigbee), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(shortaddr), + /* K4 */ be_nested_str_weak(info), + /* K5 */ be_nested_str_weak(Power), + /* K6 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22Power_X22_X3A_X25i_X7D_X7D), + /* K7 */ be_nested_str_weak(Bri), + /* K8 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22Dimmer_X22_X3A_X25i_X7D_X7D), + /* K9 */ be_nested_str_weak(CT), + /* K10 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22CT_X22_X3A_X25i_X7D_X7D), + /* K11 */ be_nested_str_weak(tasmota), + /* K12 */ be_nested_str_weak(loglevel), + /* K13 */ be_const_int(3), + /* K14 */ be_nested_str_weak(log), + /* K15 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27), + /* K16 */ be_nested_str_weak(cmd), + /* K17 */ be_nested_str_weak(read_zb_info), + /* K18 */ be_nested_str_weak(MTR_X3A_X20Read_X20information_X20for_X20zigbee_X20device_X200x_X2504X), + /* K19 */ be_nested_str_weak(pi), + /* K20 */ be_nested_str_weak(zigbee_received), + /* K21 */ be_nested_str_weak(device_arg), + /* K22 */ be_nested_str_weak(zigbee_device), + /* K23 */ be_nested_str_weak(MTR_X3A_X20cannot_X20find_X20zigbee_X20device_X20_X27_X25s_X27), + /* K24 */ be_nested_str_weak(string), + /* K25 */ be_nested_str_weak(ARG), + /* K26 */ be_nested_str_weak(startswith), + /* K27 */ be_nested_str_weak(0x), + /* K28 */ be_nested_str_weak(0X), + /* K29 */ be_nested_str_weak(set_timer), +}; + + +extern const bclass be_class_Matter_Zigbee_Mapper; + +/******************************************************************** +** Solidified function: read_zb_info +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_read_zb_info, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(read_zb_info), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x78060009, // 0002 JMPF R1 #000D + 0xA4060200, // 0003 IMPORT R1 K1 + 0x8C080302, // 0004 GETMET R2 R1 K2 + 0x88100103, // 0005 GETMBR R4 R0 K3 + 0x7C080400, // 0006 CALL R2 2 + 0x4C0C0000, // 0007 LDNIL R3 + 0x200C0403, // 0008 NE R3 R2 R3 + 0x780E0002, // 0009 JMPF R3 #000D + 0x8C0C0504, // 000A GETMET R3 R2 K4 + 0x7C0C0200, // 000B CALL R3 1 + 0x80040600, // 000C RET 1 R3 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: zb_single_command +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_zb_single_command, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(zb_single_command), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C100305, // 0001 EQ R4 R1 K5 + 0x78120006, // 0002 JMPF R4 #000A + 0x60100018, // 0003 GETGBL R4 G24 + 0x58140006, // 0004 LDCONST R5 K6 + 0x88180103, // 0005 GETMBR R6 R0 K3 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x7C100600, // 0007 CALL R4 3 + 0x5C0C0800, // 0008 MOVE R3 R4 + 0x70020010, // 0009 JMP #001B + 0x1C100307, // 000A EQ R4 R1 K7 + 0x78120006, // 000B JMPF R4 #0013 + 0x60100018, // 000C GETGBL R4 G24 + 0x58140008, // 000D LDCONST R5 K8 + 0x88180103, // 000E GETMBR R6 R0 K3 + 0x5C1C0400, // 000F MOVE R7 R2 + 0x7C100600, // 0010 CALL R4 3 + 0x5C0C0800, // 0011 MOVE R3 R4 + 0x70020007, // 0012 JMP #001B + 0x1C100309, // 0013 EQ R4 R1 K9 + 0x78120005, // 0014 JMPF R4 #001B + 0x60100018, // 0015 GETGBL R4 G24 + 0x5814000A, // 0016 LDCONST R5 K10 + 0x88180103, // 0017 GETMBR R6 R0 K3 + 0x5C1C0400, // 0018 MOVE R7 R2 + 0x7C100600, // 0019 CALL R4 3 + 0x5C0C0800, // 001A MOVE R3 R4 + 0x4C100000, // 001B LDNIL R4 + 0x20100604, // 001C NE R4 R3 R4 + 0x78120010, // 001D JMPF R4 #002F + 0xB8121600, // 001E GETNGBL R4 K11 + 0x8C10090C, // 001F GETMET R4 R4 K12 + 0x5818000D, // 0020 LDCONST R6 K13 + 0x7C100400, // 0021 CALL R4 2 + 0x78120006, // 0022 JMPF R4 #002A + 0xB8121C00, // 0023 GETNGBL R4 K14 + 0x60140018, // 0024 GETGBL R5 G24 + 0x5818000F, // 0025 LDCONST R6 K15 + 0x5C1C0600, // 0026 MOVE R7 R3 + 0x7C140400, // 0027 CALL R5 2 + 0x5818000D, // 0028 LDCONST R6 K13 + 0x7C100400, // 0029 CALL R4 2 + 0xB8121600, // 002A GETNGBL R4 K11 + 0x8C100910, // 002B GETMET R4 R4 K16 + 0x5C180600, // 002C MOVE R6 R3 + 0x501C0200, // 002D LDBOOL R7 1 0 + 0x7C100600, // 002E CALL R4 3 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: probe_zb_values +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_probe_zb_values, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(probe_zb_values), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8C040111, // 0000 GETMET R1 R0 K17 + 0x7C040200, // 0001 CALL R1 1 + 0x4C080000, // 0002 LDNIL R2 + 0x20080202, // 0003 NE R2 R1 R2 + 0x780A000B, // 0004 JMPF R2 #0011 + 0xB80A1C00, // 0005 GETNGBL R2 K14 + 0x600C0018, // 0006 GETGBL R3 G24 + 0x58100012, // 0007 LDCONST R4 K18 + 0x88140103, // 0008 GETMBR R5 R0 K3 + 0x7C0C0400, // 0009 CALL R3 2 + 0x5810000D, // 000A LDCONST R4 K13 + 0x7C080400, // 000B CALL R2 2 + 0x88080113, // 000C GETMBR R2 R0 K19 + 0x8C080514, // 000D GETMET R2 R2 K20 + 0x4C100000, // 000E LDNIL R4 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C080600, // 0010 CALL R2 3 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90022601, // 0000 SETMBR R0 K19 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: resolve_zb_device +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_resolve_zb_device, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(resolve_zb_device), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0x88080115, // 0001 GETMBR R2 R0 K21 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C080403, // 0003 EQ R2 R2 R3 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x50080000, // 0005 LDBOOL R2 0 0 + 0x80040400, // 0006 RET 1 R2 + 0x88080103, // 0007 GETMBR R2 R0 K3 + 0x4C0C0000, // 0008 LDNIL R3 + 0x20080403, // 0009 NE R2 R2 R3 + 0x780A0001, // 000A JMPF R2 #000D + 0x50080200, // 000B LDBOOL R2 1 0 + 0x80040400, // 000C RET 1 R2 + 0x8C080302, // 000D GETMET R2 R1 K2 + 0x88100115, // 000E GETMBR R4 R0 K21 + 0x7C080400, // 000F CALL R2 2 + 0x90022C02, // 0010 SETMBR R0 K22 R2 + 0x88080116, // 0011 GETMBR R2 R0 K22 + 0x780A0005, // 0012 JMPF R2 #0019 + 0x88080116, // 0013 GETMBR R2 R0 K22 + 0x88080503, // 0014 GETMBR R2 R2 K3 + 0x90020602, // 0015 SETMBR R0 K3 R2 + 0x50080200, // 0016 LDBOOL R2 1 0 + 0x80040400, // 0017 RET 1 R2 + 0x70020008, // 0018 JMP #0022 + 0xB80A1C00, // 0019 GETNGBL R2 K14 + 0x600C0018, // 001A GETGBL R3 G24 + 0x58100017, // 001B LDCONST R4 K23 + 0x88140115, // 001C GETMBR R5 R0 K21 + 0x7C0C0400, // 001D CALL R3 2 + 0x5810000D, // 001E LDCONST R4 K13 + 0x7C080400, // 001F CALL R2 2 + 0x50080000, // 0020 LDBOOL R2 0 0 + 0x80040400, // 0021 RET 1 R2 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(class_Matter_Zigbee_Mapper_parse_configuration, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(probe_zb_values), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */ + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[38]) { /* code */ + 0xA40A0200, // 0000 IMPORT R2 K1 + 0xA40E3000, // 0001 IMPORT R3 K24 + 0x8C100302, // 0002 GETMET R4 R1 K2 + 0x88180113, // 0003 GETMBR R6 R0 K19 + 0x88180D19, // 0004 GETMBR R6 R6 K25 + 0x4C1C0000, // 0005 LDNIL R7 + 0x7C100600, // 0006 CALL R4 3 + 0x90022A04, // 0007 SETMBR R0 K21 R4 + 0x60100004, // 0008 GETGBL R4 G4 + 0x88140115, // 0009 GETMBR R5 R0 K21 + 0x7C100200, // 000A CALL R4 1 + 0x1C100918, // 000B EQ R4 R4 K24 + 0x7812000D, // 000C JMPF R4 #001B + 0x8C10071A, // 000D GETMET R4 R3 K26 + 0x88180115, // 000E GETMBR R6 R0 K21 + 0x581C001B, // 000F LDCONST R7 K27 + 0x7C100600, // 0010 CALL R4 3 + 0x74120004, // 0011 JMPT R4 #0017 + 0x8C10071A, // 0012 GETMET R4 R3 K26 + 0x88180115, // 0013 GETMBR R6 R0 K21 + 0x581C001C, // 0014 LDCONST R7 K28 + 0x7C100600, // 0015 CALL R4 3 + 0x78120003, // 0016 JMPF R4 #001B + 0x60100009, // 0017 GETGBL R4 G9 + 0x88140115, // 0018 GETMBR R5 R0 K21 + 0x7C100200, // 0019 CALL R4 1 + 0x90022A04, // 001A SETMBR R0 K21 R4 + 0x88100115, // 001B GETMBR R4 R0 K21 + 0x4C140000, // 001C LDNIL R5 + 0x20100805, // 001D NE R4 R4 R5 + 0x78120004, // 001E JMPF R4 #0024 + 0xB8121600, // 001F GETNGBL R4 K11 + 0x8C10091D, // 0020 GETMET R4 R4 K29 + 0x541A0063, // 0021 LDINT R6 100 + 0x841C0000, // 0022 CLOSURE R7 P0 + 0x7C100600, // 0023 CALL R4 3 + 0xA0000000, // 0024 CLOSE R0 + 0x80000000, // 0025 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Zigbee_Mapper +********************************************************************/ +be_local_class(Matter_Zigbee_Mapper, + 4, + NULL, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(shortaddr, -1), be_const_var(3) }, + { be_const_key_weak(zb_single_command, 0), be_const_closure(class_Matter_Zigbee_Mapper_zb_single_command_closure) }, + { be_const_key_weak(pi, -1), be_const_var(0) }, + { be_const_key_weak(resolve_zb_device, -1), be_const_closure(class_Matter_Zigbee_Mapper_resolve_zb_device_closure) }, + { be_const_key_weak(zigbee_device, 1), be_const_var(2) }, + { be_const_key_weak(probe_zb_values, 6), be_const_closure(class_Matter_Zigbee_Mapper_probe_zb_values_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Zigbee_Mapper_init_closure) }, + { be_const_key_weak(read_zb_info, 3), be_const_closure(class_Matter_Zigbee_Mapper_read_zb_info_closure) }, + { be_const_key_weak(device_arg, -1), be_const_var(1) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Zigbee_Mapper_parse_configuration_closure) }, + })), + be_str_weak(Matter_Zigbee_Mapper) +); + +/******************************************************************** +** Solidified function: matter_zigbee_init +********************************************************************/ +be_local_closure(matter_zigbee_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(Matter_Zigbee), + }), + be_str_weak(matter_zigbee_init), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + +// compact class 'Matter_Zigbee' ktab size: 11, total: 12 (saved 8 bytes) +static const bvalue be_ktab_class_Matter_Zigbee[11] = { + /* K0 */ be_nested_str_weak(zigbee), + /* K1 */ be_nested_str_weak(device), + /* K2 */ be_nested_str_weak(add_handler), + /* K3 */ be_nested_str_weak(plugins), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(ZIGBEE), + /* K6 */ be_nested_str_weak(zigbee_mapper), + /* K7 */ be_nested_str_weak(resolve_zb_device), + /* K8 */ be_nested_str_weak(shortaddr), + /* K9 */ be_nested_str_weak(zigbee_received), + /* K10 */ be_const_int(1), +}; + + +extern const bclass be_class_Matter_Zigbee; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Zigbee_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x90020201, // 0001 SETMBR R0 K1 R1 + 0x8C0C0502, // 0002 GETMET R3 R2 K2 + 0x5C140000, // 0003 MOVE R5 R0 + 0x7C0C0400, // 0004 CALL R3 2 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attributes_final +********************************************************************/ +be_local_closure(class_Matter_Zigbee_attributes_final, /* name */ + be_nested_proto( + 12, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Zigbee, /* shared constants */ + be_str_weak(attributes_final), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x88140101, // 0000 GETMBR R5 R0 K1 + 0x88140B03, // 0001 GETMBR R5 R5 K3 + 0x58180004, // 0002 LDCONST R6 K4 + 0x601C000C, // 0003 GETGBL R7 G12 + 0x5C200A00, // 0004 MOVE R8 R5 + 0x7C1C0200, // 0005 CALL R7 1 + 0x141C0C07, // 0006 LT R7 R6 R7 + 0x781E0012, // 0007 JMPF R7 #001B + 0x941C0A06, // 0008 GETIDX R7 R5 R6 + 0x88200F05, // 0009 GETMBR R8 R7 K5 + 0x7822000D, // 000A JMPF R8 #0019 + 0x88200F06, // 000B GETMBR R8 R7 K6 + 0x7822000B, // 000C JMPF R8 #0019 + 0x88200F06, // 000D GETMBR R8 R7 K6 + 0x8C201107, // 000E GETMET R8 R8 K7 + 0x7C200200, // 000F CALL R8 1 + 0x78220007, // 0010 JMPF R8 #0019 + 0x88200F06, // 0011 GETMBR R8 R7 K6 + 0x88201108, // 0012 GETMBR R8 R8 K8 + 0x1C201004, // 0013 EQ R8 R8 R4 + 0x78220003, // 0014 JMPF R8 #0019 + 0x8C200F09, // 0015 GETMET R8 R7 K9 + 0x5C280400, // 0016 MOVE R10 R2 + 0x5C2C0600, // 0017 MOVE R11 R3 + 0x7C200600, // 0018 CALL R8 3 + 0x00180D0A, // 0019 ADD R6 R6 K10 + 0x7001FFE7, // 001A JMP #0003 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Zigbee +********************************************************************/ +be_local_class(Matter_Zigbee, + 1, + NULL, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, 3), be_const_closure(class_Matter_Zigbee_init_closure) }, + { be_const_key_weak(Matter_Zigbee_Mapper, 4), be_const_class(be_class_Matter_Zigbee_Mapper) }, + { be_const_key_weak(attributes_final, -1), be_const_closure(class_Matter_Zigbee_attributes_final_closure) }, + { be_const_key_weak(_CLASSES_TYPES, -1), be_nested_str_weak(_X2Dzigbee_X7Cz_light0_X7Cz_light1_X7Cz_light2_X7Cz_temp_X7Cz_pressure_X7Cz_humidity_X7Cz_occupancy) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + })), + be_str_weak(Matter_Zigbee) +); + +/******************************************************************** +** Solidified module: matter_zigbee +********************************************************************/ +be_local_module(matter_zigbee, + "matter_zigbee", + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(Matter_Zigbee, -1), be_const_class(be_class_Matter_Zigbee) }, + { be_const_key_weak(init, 0), be_const_closure(matter_zigbee_init_closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(matter_zigbee); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zz_Device.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zz_Device.h new file mode 100644 index 000000000..2bf1e8e17 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zz_Device.h @@ -0,0 +1,3452 @@ +/* Solidification of Matter_zz_Device.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Matter_Device; +// compact class 'Matter_Device' ktab size: 216, total: 463 (saved 1976 bytes) +static const bvalue be_ktab_class_Matter_Device[216] = { + /* K0 */ be_nested_str_weak(udp_server), + /* K1 */ be_nested_str_weak(send_UDP), + /* K2 */ be_nested_str_weak(is_zigbee_present), + /* K3 */ be_nested_str_weak(matter_zigbee), + /* K4 */ be_const_class(be_class_Matter_Device), + /* K5 */ be_nested_str_weak(keys), + /* K6 */ be_nested_str_weak(push), + /* K7 */ be_nested_str_weak(stop_iteration), + /* K8 */ be_const_int(1), + /* K9 */ be_const_int(0), + /* K10 */ be_nested_str_weak(), + /* K11 */ be_nested_str_weak(plugins), + /* K12 */ be_nested_str_weak(MtrInfo_one), + /* K13 */ be_nested_str_weak(endpoint), + /* K14 */ be_nested_str_weak(int), + /* K15 */ be_nested_str_weak(find_plugin_by_friendly_name), + /* K16 */ be_nested_str_weak(tasmota), + /* K17 */ be_nested_str_weak(resp_cmnd_done), + /* K18 */ be_nested_str_weak(read_sensors_scheduler), + /* K19 */ be_nested_str_weak(every_250ms), + /* K20 */ be_nested_str_weak(matter), + /* K21 */ be_nested_str_weak(Path), + /* K22 */ be_nested_str_weak(cluster), + /* K23 */ be_nested_str_weak(attribute), + /* K24 */ be_nested_str_weak(message_handler), + /* K25 */ be_nested_str_weak(im), + /* K26 */ be_nested_str_weak(subs_shop), + /* K27 */ be_nested_str_weak(attribute_updated_ctx), + /* K28 */ be_nested_str_weak(get_endpoint), + /* K29 */ be_nested_str_weak(find), + /* K30 */ be_nested_str_weak(plugins_config_remotes), + /* K31 */ be_nested_str_weak(json), + /* K32 */ be_nested_str_weak(update_remotes_info), + /* K33 */ be_nested_str_weak(_X7B_X22distinguish_X22_X3A_X25i_X2C_X22passcode_X22_X3A_X25i_X2C_X22ipv4only_X22_X3A_X25s_X2C_X22disable_bridge_mode_X22_X3A_X25s_X2C_X22nextep_X22_X3A_X25i), + /* K34 */ be_nested_str_weak(root_discriminator), + /* K35 */ be_nested_str_weak(root_passcode), + /* K36 */ be_nested_str_weak(ipv4only), + /* K37 */ be_nested_str_weak(true), + /* K38 */ be_nested_str_weak(false), + /* K39 */ be_nested_str_weak(disable_bridge_mode), + /* K40 */ be_nested_str_weak(next_ep), + /* K41 */ be_nested_str_weak(debug), + /* K42 */ be_nested_str_weak(_X2C_X22debug_X22_X3Atrue), + /* K43 */ be_nested_str_weak(plugins_persist), + /* K44 */ be_nested_str_weak(_X2C_X0A_X22config_X22_X3A), + /* K45 */ be_nested_str_weak(dump), + /* K46 */ be_nested_str_weak(plugins_config), + /* K47 */ be_nested_str_weak(_X2C_X0A_X22remotes_X22_X3A), + /* K48 */ be_nested_str_weak(_X7D), + /* K49 */ be_nested_str_weak(FILENAME), + /* K50 */ be_nested_str_weak(w), + /* K51 */ be_nested_str_weak(write), + /* K52 */ be_nested_str_weak(close), + /* K53 */ be_nested_str_weak(log), + /* K54 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20parameters_X25s), + /* K55 */ be_nested_str_weak(_X20and_X20configuration), + /* K56 */ be_const_int(2), + /* K57 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A), + /* K58 */ be_nested_str_weak(_X7C), + /* K59 */ be_nested_str_weak(remove_driver), + /* K60 */ be_nested_str_weak(stop), + /* K61 */ be_nested_str_weak(remove), + /* K62 */ be_nested_str_weak(sessions), + /* K63 */ be_nested_str_weak(count_active_fabrics), + /* K64 */ be_nested_str_weak(save_param), + /* K65 */ be_nested_str_weak(autoconf), + /* K66 */ be_nested_str_weak(Autoconf), + /* K67 */ be_nested_str_weak(autoconf_device_map), + /* K68 */ be_nested_str_weak(adjust_next_ep), + /* K69 */ be_nested_str_weak(MTR_X3A_X20autoconfig_X20_X3D_X20), + /* K70 */ be_const_int(3), + /* K71 */ be_nested_str_weak(instantiate_plugins_from_config), + /* K72 */ be_nested_str_weak(msg_received), + /* K73 */ be_nested_str_weak(find_plugin_by_endpoint), + /* K74 */ be_nested_str_weak(status), + /* K75 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT), + /* K76 */ be_nested_str_weak(contains_cluster), + /* K77 */ be_nested_str_weak(UNSUPPORTED_CLUSTER), + /* K78 */ be_nested_str_weak(contains_attribute), + /* K79 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE), + /* K80 */ be_nested_str_weak(introspect), + /* K81 */ be_nested_str_weak(http_remotes), + /* K82 */ be_nested_str_weak(get), + /* K83 */ be_nested_str_weak(http_remote), + /* K84 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20), + /* K85 */ be_nested_str_weak(addr), + /* K86 */ be_nested_str_weak(invoke_request), + /* K87 */ be_nested_str_weak(crypto), + /* K88 */ be_nested_str_weak(get_option), + /* K89 */ be_nested_str_weak(MATTER_OPTION), + /* K90 */ be_nested_str_weak(ui), + /* K91 */ be_nested_str_weak(UI), + /* K92 */ be_nested_str_weak(profiler), + /* K93 */ be_nested_str_weak(Profiler), + /* K94 */ be_nested_str_weak(started), + /* K95 */ be_nested_str_weak(tick), + /* K96 */ be_nested_str_weak(EP), + /* K97 */ be_nested_str_weak(commissioning), + /* K98 */ be_nested_str_weak(Commissioning), + /* K99 */ be_nested_str_weak(load_param), + /* K100 */ be_nested_str_weak(Session_Store), + /* K101 */ be_nested_str_weak(load_fabrics), + /* K102 */ be_nested_str_weak(MessageHandler), + /* K103 */ be_nested_str_weak(events), + /* K104 */ be_nested_str_weak(EventHandler), + /* K105 */ be_nested_str_weak(zigbee), + /* K106 */ be_nested_str_weak(init_zigbee), + /* K107 */ be_nested_str_weak(init_basic_commissioning), + /* K108 */ be_nested_str_weak(add_driver), + /* K109 */ be_nested_str_weak(register_commands), + /* K110 */ be_nested_str_weak(button_handler), + /* K111 */ be_nested_str_weak(get_name), + /* K112 */ be_nested_str_weak(wifi), + /* K113 */ be_nested_str_weak(up), + /* K114 */ be_nested_str_weak(eth), + /* K115 */ be_nested_str_weak(start), + /* K116 */ be_nested_str_weak(resp_cmnd_str), + /* K117 */ be_nested_str_weak(Invalid_X20JSON), + /* K118 */ be_nested_str_weak(find_key_i), + /* K119 */ be_nested_str_weak(Ep), + /* K120 */ be_nested_str_weak(Name), + /* K121 */ be_nested_str_weak(Invalid_X20_X27Ep_X27_X20attribute), + /* K122 */ be_nested_str_weak(Invalid_X20Device), + /* K123 */ be_nested_str_weak(VIRTUAL), + /* K124 */ be_nested_str_weak(Device_X20is_X20not_X20virtual), + /* K125 */ be_nested_str_weak(consolidate_update_commands), + /* K126 */ be_nested_str_weak(find_list_i), + /* K127 */ be_nested_str_weak(Invalid_X20attribute_X20_X27_X25s_X27), + /* K128 */ be_nested_str_weak(update_virtual), + /* K129 */ be_nested_str_weak(state_json), + /* K130 */ be_nested_str_weak(_X7B_X22_X25s_X22_X3A_X25s_X7D), + /* K131 */ be_nested_str_weak(resp_cmnd), + /* K132 */ be_nested_str_weak(Missing_X20_X27Device_X27_X20attribute), + /* K133 */ be_nested_str_weak(check_network), + /* K134 */ be_nested_str_weak(every_50ms), + /* K135 */ be_nested_str_weak(every_second), + /* K136 */ be_nested_str_weak(probe_sensor_time), + /* K137 */ be_nested_str_weak(probe_sensor_timestamp), + /* K138 */ be_nested_str_weak(jitter), + /* K139 */ be_nested_str_weak(plugins_classes), + /* K140 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27), + /* K141 */ be_nested_str_weak(_X27_X20skipping), + /* K142 */ be_nested_str_weak(type), + /* K143 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s), + /* K144 */ be_nested_str_weak(conf_to_log), + /* K145 */ be_nested_str_weak(signal_endpoints_changed), + /* K146 */ be_nested_str_weak(contains), + /* K147 */ be_nested_str_weak(MTR_X3A_X20Starting_X20UDP_X20server_X20on_X20port_X3A_X20), + /* K148 */ be_nested_str_weak(UDPServer), + /* K149 */ be_nested_str_weak(attribute_updated), + /* K150 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K151 */ be_nested_str_weak(module), + /* K152 */ be_nested_str_weak(ARG), + /* K153 */ be_nested_str_weak(get_info), + /* K154 */ be_nested_str_weak(MTR_X3A_X20removing_X20fabric_X20), + /* K155 */ be_nested_str_weak(get_fabric_id), + /* K156 */ be_nested_str_weak(copy), + /* K157 */ be_nested_str_weak(reverse), + /* K158 */ be_nested_str_weak(tohex), + /* K159 */ be_nested_str_weak(remove_by_fabric), + /* K160 */ be_nested_str_weak(mdns_remove_op_discovery), + /* K161 */ be_nested_str_weak(remove_fabric), + /* K162 */ be_nested_str_weak(save_fabrics), + /* K163 */ be_nested_str_weak(k2l), + /* K164 */ be_nested_str_weak(_X20_X25s_X3A_X25s), + /* K165 */ be_nested_str_weak(DISPLAY_NAME), + /* K166 */ be_nested_str_weak(time_reached), + /* K167 */ be_nested_str_weak(_trigger_read_sensors), + /* K168 */ be_nested_str_weak(millis), + /* K169 */ be_nested_str_weak(get_timeout), + /* K170 */ be_nested_str_weak(set_timeout), + /* K171 */ be_nested_str_weak(HTTP_remote), + /* K172 */ be_nested_str_weak(set_info), + /* K173 */ be_nested_str_weak(PathGenerator), + /* K174 */ be_nested_str_weak(is_direct), + /* K175 */ be_nested_str_weak(next_attribute), + /* K176 */ be_nested_str_weak(get_pi), + /* K177 */ be_nested_str_weak(read), + /* K178 */ be_nested_str_weak(load), + /* K179 */ be_nested_str_weak(distinguish), + /* K180 */ be_nested_str_weak(passcode), + /* K181 */ be_nested_str_weak(nextep), + /* K182 */ be_nested_str_weak(config), + /* K183 */ be_nested_str_weak(MTR_X3A_X20Load_config_X20_X3D_X20_X25s), + /* K184 */ be_nested_str_weak(check_config_ep), + /* K185 */ be_nested_str_weak(remotes), + /* K186 */ be_nested_str_weak(MTR_X3A_X20load_remotes_X20_X3D_X20), + /* K187 */ be_nested_str_weak(io_error), + /* K188 */ be_nested_str_weak(MTR_X3A_X20load_param_X20Exception_X3A), + /* K189 */ be_nested_str_weak(random), + /* K190 */ be_nested_str_weak(generate_random_passcode), + /* K191 */ be_nested_str_weak(read_sensors), + /* K192 */ be_nested_str_weak(loglevel), + /* K193 */ be_nested_str_weak(MTR_X3A_X20read_sensors_X3A_X20), + /* K194 */ be_nested_str_weak(parse_sensors), + /* K195 */ be_nested_str_weak(MTR_X3A_X20unable_X20to_X20parse_X20read_sensors_X3A_X20), + /* K196 */ be_nested_str_weak(received_ack), + /* K197 */ be_nested_str_weak(MTR_X3A_X20invalid_X20entry_X20with_X20ep_X20_X270_X27), + /* K198 */ be_nested_str_weak(MTR_X3A_X20endpoint_X20_X25s_X20collides_X20wit_X20aggregator_X2C_X20relocating_X20to_X20_X25s), + /* K199 */ be_nested_str_weak(MTR_X3A_X20Cannot_X20remove_X20an_X20enpoint_X20not_X20configured_X3A_X20), + /* K200 */ be_nested_str_weak(MTR_X3A_X20deleting_X20endpoint_X20_X3D_X20_X25i), + /* K201 */ be_nested_str_weak(clean_remotes), + /* K202 */ be_nested_str_weak(add_cmd), + /* K203 */ be_nested_str_weak(MtrJoin), + /* K204 */ be_nested_str_weak(MtrUpdate), + /* K205 */ be_nested_str_weak(MtrInfo), + /* K206 */ be_nested_str_weak(stop_basic_commissioning), + /* K207 */ be_nested_str_weak(mdns_remove_op_discovery_all_fabrics), + /* K208 */ be_nested_str_weak(start_root_basic_commissioning), + /* K209 */ be_nested_str_weak(_X7B_X22MtrInfo_X22_X3A_X25s_X7D), + /* K210 */ be_nested_str_weak(publish_result), + /* K211 */ be_nested_str_weak(Matter_Zigbee_Mapper), + /* K212 */ be_nested_str_weak(autoconf_device), + /* K213 */ be_nested_str_weak(_start_udp), + /* K214 */ be_nested_str_weak(UDP_PORT), + /* K215 */ be_nested_str_weak(start_mdns_announce_hostnames), +}; + + +extern const bclass be_class_Matter_Device; + +/******************************************************************** +** Solidified function: msg_send +********************************************************************/ +be_local_closure(class_Matter_Device_msg_send, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(msg_send), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init_zigbee +********************************************************************/ +be_local_closure(class_Matter_Device_init_zigbee, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(init_zigbee), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C040102, // 0000 GETMET R1 R0 K2 + 0x7C040200, // 0001 CALL R1 1 + 0x78060004, // 0002 JMPF R1 #0008 + 0xA4060600, // 0003 IMPORT R1 K3 + 0x5C080200, // 0004 MOVE R2 R1 + 0x5C0C0000, // 0005 MOVE R3 R0 + 0x7C080200, // 0006 CALL R2 1 + 0x80040400, // 0007 RET 1 R2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: k2l_num +********************************************************************/ +be_local_closure(class_Matter_Device_k2l_num, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(k2l_num), + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0x58040004, // 0000 LDCONST R1 K4 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0003, // 0004 EQ R3 R0 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x80040400, // 0006 RET 1 R2 + 0x600C0010, // 0007 GETGBL R3 G16 + 0x8C100105, // 0008 GETMET R4 R0 K5 + 0x7C100200, // 0009 CALL R4 1 + 0x7C0C0200, // 000A CALL R3 1 + 0xA8020007, // 000B EXBLK 0 #0014 + 0x5C100600, // 000C MOVE R4 R3 + 0x7C100000, // 000D CALL R4 0 + 0x8C140506, // 000E GETMET R5 R2 K6 + 0x601C0009, // 000F GETGBL R7 G9 + 0x5C200800, // 0010 MOVE R8 R4 + 0x7C1C0200, // 0011 CALL R7 1 + 0x7C140400, // 0012 CALL R5 2 + 0x7001FFF7, // 0013 JMP #000C + 0x580C0007, // 0014 LDCONST R3 K7 + 0xAC0C0200, // 0015 CATCH R3 1 0 + 0xB0080000, // 0016 RAISE 2 R0 R0 + 0x600C0010, // 0017 GETGBL R3 G16 + 0x6010000C, // 0018 GETGBL R4 G12 + 0x5C140400, // 0019 MOVE R5 R2 + 0x7C100200, // 001A CALL R4 1 + 0x04100908, // 001B SUB R4 R4 K8 + 0x40121004, // 001C CONNECT R4 K8 R4 + 0x7C0C0200, // 001D CALL R3 1 + 0xA8020010, // 001E EXBLK 0 #0030 + 0x5C100600, // 001F MOVE R4 R3 + 0x7C100000, // 0020 CALL R4 0 + 0x94140404, // 0021 GETIDX R5 R2 R4 + 0x5C180800, // 0022 MOVE R6 R4 + 0x241C0D09, // 0023 GT R7 R6 K9 + 0x781E0008, // 0024 JMPF R7 #002E + 0x041C0D08, // 0025 SUB R7 R6 K8 + 0x941C0407, // 0026 GETIDX R7 R2 R7 + 0x241C0E05, // 0027 GT R7 R7 R5 + 0x781E0004, // 0028 JMPF R7 #002E + 0x041C0D08, // 0029 SUB R7 R6 K8 + 0x941C0407, // 002A GETIDX R7 R2 R7 + 0x98080C07, // 002B SETIDX R2 R6 R7 + 0x04180D08, // 002C SUB R6 R6 K8 + 0x7001FFF4, // 002D JMP #0023 + 0x98080C05, // 002E SETIDX R2 R6 R5 + 0x7001FFEE, // 002F JMP #001F + 0x580C0007, // 0030 LDCONST R3 K7 + 0xAC0C0200, // 0031 CATCH R3 1 0 + 0xB0080000, // 0032 RAISE 2 R0 R0 + 0x80040400, // 0033 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: MtrInfo +********************************************************************/ +be_local_closure(class_Matter_Device_MtrInfo, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(MtrInfo), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x1C14070A, // 0000 EQ R5 R3 K10 + 0x7815FFFF, // 0001 JMPF R5 #0002 + 0x1C14070A, // 0002 EQ R5 R3 K10 + 0x7816000D, // 0003 JMPF R5 #0012 + 0x60140010, // 0004 GETGBL R5 G16 + 0x8818010B, // 0005 GETMBR R6 R0 K11 + 0x7C140200, // 0006 CALL R5 1 + 0xA8020005, // 0007 EXBLK 0 #000E + 0x5C180A00, // 0008 MOVE R6 R5 + 0x7C180000, // 0009 CALL R6 0 + 0x8C1C010C, // 000A GETMET R7 R0 K12 + 0x88240D0D, // 000B GETMBR R9 R6 K13 + 0x7C1C0400, // 000C CALL R7 2 + 0x7001FFF9, // 000D JMP #0008 + 0x58140007, // 000E LDCONST R5 K7 + 0xAC140200, // 000F CATCH R5 1 0 + 0xB0080000, // 0010 RAISE 2 R0 R0 + 0x70020011, // 0011 JMP #0024 + 0x60140004, // 0012 GETGBL R5 G4 + 0x5C180800, // 0013 MOVE R6 R4 + 0x7C140200, // 0014 CALL R5 1 + 0x1C140B0E, // 0015 EQ R5 R5 K14 + 0x78160003, // 0016 JMPF R5 #001B + 0x8C14010C, // 0017 GETMET R5 R0 K12 + 0x5C1C0800, // 0018 MOVE R7 R4 + 0x7C140400, // 0019 CALL R5 2 + 0x70020008, // 001A JMP #0024 + 0x8C14010F, // 001B GETMET R5 R0 K15 + 0x5C1C0600, // 001C MOVE R7 R3 + 0x7C140400, // 001D CALL R5 2 + 0x4C180000, // 001E LDNIL R6 + 0x20180A06, // 001F NE R6 R5 R6 + 0x781A0002, // 0020 JMPF R6 #0024 + 0x8C18010C, // 0021 GETMET R6 R0 K12 + 0x88200B0D, // 0022 GETMBR R8 R5 K13 + 0x7C180400, // 0023 CALL R6 2 + 0xB8162000, // 0024 GETNGBL R5 K16 + 0x8C140B11, // 0025 GETMET R5 R5 K17 + 0x7C140200, // 0026 CALL R5 1 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_250ms +********************************************************************/ +be_local_closure(class_Matter_Device_every_250ms, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(every_250ms), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8C040112, // 0000 GETMET R1 R0 K18 + 0x7C040200, // 0001 CALL R1 1 + 0x58040009, // 0002 LDCONST R1 K9 + 0x6008000C, // 0003 GETGBL R2 G12 + 0x880C010B, // 0004 GETMBR R3 R0 K11 + 0x7C080200, // 0005 CALL R2 1 + 0x14080202, // 0006 LT R2 R1 R2 + 0x780A0005, // 0007 JMPF R2 #000E + 0x8808010B, // 0008 GETMBR R2 R0 K11 + 0x94080401, // 0009 GETIDX R2 R2 R1 + 0x8C080513, // 000A GETMET R2 R2 K19 + 0x7C080200, // 000B CALL R2 1 + 0x00040308, // 000C ADD R1 R1 K8 + 0x7001FFF4, // 000D JMP #0003 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attribute_updated +********************************************************************/ +be_local_closure(class_Matter_Device_attribute_updated, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(attribute_updated), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140805, // 0001 EQ R5 R4 R5 + 0x78160000, // 0002 JMPF R5 #0004 + 0x50100000, // 0003 LDBOOL R4 0 0 + 0xB8162800, // 0004 GETNGBL R5 K20 + 0x8C140B15, // 0005 GETMET R5 R5 K21 + 0x7C140200, // 0006 CALL R5 1 + 0x90161A01, // 0007 SETMBR R5 K13 R1 + 0x90162C02, // 0008 SETMBR R5 K22 R2 + 0x90162E03, // 0009 SETMBR R5 K23 R3 + 0x88180118, // 000A GETMBR R6 R0 K24 + 0x88180D19, // 000B GETMBR R6 R6 K25 + 0x88180D1A, // 000C GETMBR R6 R6 K26 + 0x8C180D1B, // 000D GETMET R6 R6 K27 + 0x5C200A00, // 000E MOVE R8 R5 + 0x5C240800, // 000F MOVE R9 R4 + 0x7C180600, // 0010 CALL R6 3 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_active_endpoints +********************************************************************/ +be_local_closure(class_Matter_Device_get_active_endpoints, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(get_active_endpoints), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x60080012, // 0000 GETGBL R2 G18 + 0x7C080000, // 0001 CALL R2 0 + 0x600C0010, // 0002 GETGBL R3 G16 + 0x8810010B, // 0003 GETMBR R4 R0 K11 + 0x7C0C0200, // 0004 CALL R3 1 + 0xA8020011, // 0005 EXBLK 0 #0018 + 0x5C100600, // 0006 MOVE R4 R3 + 0x7C100000, // 0007 CALL R4 0 + 0x8C14091C, // 0008 GETMET R5 R4 K28 + 0x7C140200, // 0009 CALL R5 1 + 0x78060002, // 000A JMPF R1 #000E + 0x1C180B09, // 000B EQ R6 R5 K9 + 0x781A0000, // 000C JMPF R6 #000E + 0x7001FFF7, // 000D JMP #0006 + 0x8C18051D, // 000E GETMET R6 R2 K29 + 0x5C200A00, // 000F MOVE R8 R5 + 0x7C180400, // 0010 CALL R6 2 + 0x4C1C0000, // 0011 LDNIL R7 + 0x1C180C07, // 0012 EQ R6 R6 R7 + 0x781A0002, // 0013 JMPF R6 #0017 + 0x8C180506, // 0014 GETMET R6 R2 K6 + 0x5C200A00, // 0015 MOVE R8 R5 + 0x7C180400, // 0016 CALL R6 2 + 0x7001FFED, // 0017 JMP #0006 + 0x580C0007, // 0018 LDCONST R3 K7 + 0xAC0C0200, // 0019 CATCH R3 1 0 + 0xB0080000, // 001A RAISE 2 R0 R0 + 0x80040400, // 001B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_plugin_remote_info +********************************************************************/ +be_local_closure(class_Matter_Device_get_plugin_remote_info, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(get_plugin_remote_info), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8808011E, // 0000 GETMBR R2 R0 K30 + 0x8C08051D, // 0001 GETMET R2 R2 K29 + 0x5C100200, // 0002 MOVE R4 R1 + 0x60140013, // 0003 GETGBL R5 G19 + 0x7C140000, // 0004 CALL R5 0 + 0x7C080600, // 0005 CALL R2 3 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: save_param +********************************************************************/ +be_local_closure(class_Matter_Device_save_param, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(save_param), + &be_const_str_solidified, + ( &(const binstruction[83]) { /* code */ + 0xA4063E00, // 0000 IMPORT R1 K31 + 0x8C080120, // 0001 GETMET R2 R0 K32 + 0x7C080200, // 0002 CALL R2 1 + 0x60080018, // 0003 GETGBL R2 G24 + 0x580C0021, // 0004 LDCONST R3 K33 + 0x88100122, // 0005 GETMBR R4 R0 K34 + 0x88140123, // 0006 GETMBR R5 R0 K35 + 0x88180124, // 0007 GETMBR R6 R0 K36 + 0x781A0001, // 0008 JMPF R6 #000B + 0x58180025, // 0009 LDCONST R6 K37 + 0x70020000, // 000A JMP #000C + 0x58180026, // 000B LDCONST R6 K38 + 0x881C0127, // 000C GETMBR R7 R0 K39 + 0x781E0001, // 000D JMPF R7 #0010 + 0x581C0025, // 000E LDCONST R7 K37 + 0x70020000, // 000F JMP #0011 + 0x581C0026, // 0010 LDCONST R7 K38 + 0x88200128, // 0011 GETMBR R8 R0 K40 + 0x7C080C00, // 0012 CALL R2 6 + 0x880C0129, // 0013 GETMBR R3 R0 K41 + 0x780E0000, // 0014 JMPF R3 #0016 + 0x0008052A, // 0015 ADD R2 R2 K42 + 0x880C012B, // 0016 GETMBR R3 R0 K43 + 0x780E000E, // 0017 JMPF R3 #0027 + 0x0008052C, // 0018 ADD R2 R2 K44 + 0x8C0C032D, // 0019 GETMET R3 R1 K45 + 0x8814012E, // 001A GETMBR R5 R0 K46 + 0x7C0C0400, // 001B CALL R3 2 + 0x00080403, // 001C ADD R2 R2 R3 + 0x600C000C, // 001D GETGBL R3 G12 + 0x8810011E, // 001E GETMBR R4 R0 K30 + 0x7C0C0200, // 001F CALL R3 1 + 0x240C0709, // 0020 GT R3 R3 K9 + 0x780E0004, // 0021 JMPF R3 #0027 + 0x0008052F, // 0022 ADD R2 R2 K47 + 0x8C0C032D, // 0023 GETMET R3 R1 K45 + 0x8814011E, // 0024 GETMBR R5 R0 K30 + 0x7C0C0400, // 0025 CALL R3 2 + 0x00080403, // 0026 ADD R2 R2 R3 + 0x00080530, // 0027 ADD R2 R2 K48 + 0xA8020017, // 0028 EXBLK 0 #0041 + 0x600C0011, // 0029 GETGBL R3 G17 + 0x88100131, // 002A GETMBR R4 R0 K49 + 0x58140032, // 002B LDCONST R5 K50 + 0x7C0C0400, // 002C CALL R3 2 + 0x8C100733, // 002D GETMET R4 R3 K51 + 0x5C180400, // 002E MOVE R6 R2 + 0x7C100400, // 002F CALL R4 2 + 0x8C100734, // 0030 GETMET R4 R3 K52 + 0x7C100200, // 0031 CALL R4 1 + 0xB8126A00, // 0032 GETNGBL R4 K53 + 0x60140018, // 0033 GETGBL R5 G24 + 0x58180036, // 0034 LDCONST R6 K54 + 0x881C012B, // 0035 GETMBR R7 R0 K43 + 0x781E0001, // 0036 JMPF R7 #0039 + 0x581C0037, // 0037 LDCONST R7 K55 + 0x70020000, // 0038 JMP #003A + 0x581C000A, // 0039 LDCONST R7 K10 + 0x7C140400, // 003A CALL R5 2 + 0x58180038, // 003B LDCONST R6 K56 + 0x7C100400, // 003C CALL R4 2 + 0xA8040001, // 003D EXBLK 1 1 + 0x80040400, // 003E RET 1 R2 + 0xA8040001, // 003F EXBLK 1 1 + 0x70020010, // 0040 JMP #0052 + 0xAC0C0002, // 0041 CATCH R3 0 2 + 0x7002000D, // 0042 JMP #0051 + 0xB8166A00, // 0043 GETNGBL R5 K53 + 0x60180008, // 0044 GETGBL R6 G8 + 0x5C1C0600, // 0045 MOVE R7 R3 + 0x7C180200, // 0046 CALL R6 1 + 0x001A7206, // 0047 ADD R6 K57 R6 + 0x00180D3A, // 0048 ADD R6 R6 K58 + 0x601C0008, // 0049 GETGBL R7 G8 + 0x5C200800, // 004A MOVE R8 R4 + 0x7C1C0200, // 004B CALL R7 1 + 0x00180C07, // 004C ADD R6 R6 R7 + 0x581C0038, // 004D LDCONST R7 K56 + 0x7C140400, // 004E CALL R5 2 + 0x80040400, // 004F RET 1 R2 + 0x70020000, // 0050 JMP #0052 + 0xB0080000, // 0051 RAISE 2 R0 R0 + 0x80000000, // 0052 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: stop +********************************************************************/ +be_local_closure(class_Matter_Device_stop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(stop), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xB8062000, // 0000 GETNGBL R1 K16 + 0x8C04033B, // 0001 GETMET R1 R1 K59 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x88040100, // 0004 GETMBR R1 R0 K0 + 0x78060002, // 0005 JMPF R1 #0009 + 0x88040100, // 0006 GETMBR R1 R0 K0 + 0x8C04033C, // 0007 GETMET R1 R1 K60 + 0x7C040200, // 0008 CALL R1 1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: sort_distinct +********************************************************************/ +be_local_closure(class_Matter_Device_sort_distinct, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(sort_distinct), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x58040004, // 0000 LDCONST R1 K4 + 0x60080010, // 0001 GETGBL R2 G16 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x040C0708, // 0005 SUB R3 R3 K8 + 0x400E1003, // 0006 CONNECT R3 K8 R3 + 0x7C080200, // 0007 CALL R2 1 + 0xA8020010, // 0008 EXBLK 0 #001A + 0x5C0C0400, // 0009 MOVE R3 R2 + 0x7C0C0000, // 000A CALL R3 0 + 0x94100003, // 000B GETIDX R4 R0 R3 + 0x5C140600, // 000C MOVE R5 R3 + 0x24180B09, // 000D GT R6 R5 K9 + 0x781A0008, // 000E JMPF R6 #0018 + 0x04180B08, // 000F SUB R6 R5 K8 + 0x94180006, // 0010 GETIDX R6 R0 R6 + 0x24180C04, // 0011 GT R6 R6 R4 + 0x781A0004, // 0012 JMPF R6 #0018 + 0x04180B08, // 0013 SUB R6 R5 K8 + 0x94180006, // 0014 GETIDX R6 R0 R6 + 0x98000A06, // 0015 SETIDX R0 R5 R6 + 0x04140B08, // 0016 SUB R5 R5 K8 + 0x7001FFF4, // 0017 JMP #000D + 0x98000A04, // 0018 SETIDX R0 R5 R4 + 0x7001FFEE, // 0019 JMP #0009 + 0x58080007, // 001A LDCONST R2 K7 + 0xAC080200, // 001B CATCH R2 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x58080008, // 001D LDCONST R2 K8 + 0x600C000C, // 001E GETGBL R3 G12 + 0x5C100000, // 001F MOVE R4 R0 + 0x7C0C0200, // 0020 CALL R3 1 + 0x180C0708, // 0021 LE R3 R3 K8 + 0x780E0000, // 0022 JMPF R3 #0024 + 0x80040000, // 0023 RET 1 R0 + 0x940C0109, // 0024 GETIDX R3 R0 K9 + 0x6010000C, // 0025 GETGBL R4 G12 + 0x5C140000, // 0026 MOVE R5 R0 + 0x7C100200, // 0027 CALL R4 1 + 0x14100404, // 0028 LT R4 R2 R4 + 0x78120009, // 0029 JMPF R4 #0034 + 0x94100002, // 002A GETIDX R4 R0 R2 + 0x1C100803, // 002B EQ R4 R4 R3 + 0x78120003, // 002C JMPF R4 #0031 + 0x8C10013D, // 002D GETMET R4 R0 K61 + 0x5C180400, // 002E MOVE R6 R2 + 0x7C100400, // 002F CALL R4 2 + 0x70020001, // 0030 JMP #0033 + 0x940C0002, // 0031 GETIDX R3 R0 R2 + 0x00080508, // 0032 ADD R2 R2 K8 + 0x7001FFF0, // 0033 JMP #0025 + 0x80040000, // 0034 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_fabrics_saved +********************************************************************/ +be_local_closure(class_Matter_Device_event_fabrics_saved, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(event_fabrics_saved), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8804013E, // 0000 GETMBR R1 R0 K62 + 0x8C04033F, // 0001 GETMET R1 R1 K63 + 0x7C040200, // 0002 CALL R1 1 + 0x24040309, // 0003 GT R1 R1 K9 + 0x78060005, // 0004 JMPF R1 #000B + 0x8804012B, // 0005 GETMBR R1 R0 K43 + 0x74060003, // 0006 JMPT R1 #000B + 0x50040200, // 0007 LDBOOL R1 1 0 + 0x90025601, // 0008 SETMBR R0 K43 R1 + 0x8C040140, // 0009 GETMET R1 R0 K64 + 0x7C040200, // 000A CALL R1 1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoconf_device +********************************************************************/ +be_local_closure(class_Matter_Device_autoconf_device, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(autoconf_device), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0xA4063E00, // 0000 IMPORT R1 K31 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x880C010B, // 0002 GETMBR R3 R0 K11 + 0x7C080200, // 0003 CALL R2 1 + 0x24080509, // 0004 GT R2 R2 K9 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x80000400, // 0006 RET 0 + 0x88080141, // 0007 GETMBR R2 R0 K65 + 0x4C0C0000, // 0008 LDNIL R3 + 0x1C080403, // 0009 EQ R2 R2 R3 + 0x780A0004, // 000A JMPF R2 #0010 + 0xB80A2800, // 000B GETNGBL R2 K20 + 0x8C080542, // 000C GETMET R2 R2 K66 + 0x5C100000, // 000D MOVE R4 R0 + 0x7C080400, // 000E CALL R2 2 + 0x90028202, // 000F SETMBR R0 K65 R2 + 0x8808012B, // 0010 GETMBR R2 R0 K43 + 0x740A000F, // 0011 JMPT R2 #0022 + 0x88080141, // 0012 GETMBR R2 R0 K65 + 0x8C080543, // 0013 GETMET R2 R2 K67 + 0x7C080200, // 0014 CALL R2 1 + 0x90025C02, // 0015 SETMBR R0 K46 R2 + 0x60080013, // 0016 GETGBL R2 G19 + 0x7C080000, // 0017 CALL R2 0 + 0x90023C02, // 0018 SETMBR R0 K30 R2 + 0x8C080144, // 0019 GETMET R2 R0 K68 + 0x7C080200, // 001A CALL R2 1 + 0xB80A6A00, // 001B GETNGBL R2 K53 + 0x600C0008, // 001C GETGBL R3 G8 + 0x8810012E, // 001D GETMBR R4 R0 K46 + 0x7C0C0200, // 001E CALL R3 1 + 0x000E8A03, // 001F ADD R3 K69 R3 + 0x58100046, // 0020 LDCONST R4 K70 + 0x7C080400, // 0021 CALL R2 2 + 0x88080141, // 0022 GETMBR R2 R0 K65 + 0x8C080547, // 0023 GETMET R2 R2 K71 + 0x8810012E, // 0024 GETMBR R4 R0 K46 + 0x7C080400, // 0025 CALL R2 2 + 0x8808012B, // 0026 GETMBR R2 R0 K43 + 0x740A0008, // 0027 JMPT R2 #0031 + 0x8808013E, // 0028 GETMBR R2 R0 K62 + 0x8C08053F, // 0029 GETMET R2 R2 K63 + 0x7C080200, // 002A CALL R2 1 + 0x24080509, // 002B GT R2 R2 K9 + 0x780A0003, // 002C JMPF R2 #0031 + 0x50080200, // 002D LDBOOL R2 1 0 + 0x90025602, // 002E SETMBR R0 K43 R2 + 0x8C080140, // 002F GETMET R2 R0 K64 + 0x7C080200, // 0030 CALL R2 1 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: msg_received +********************************************************************/ +be_local_closure(class_Matter_Device_msg_received, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(msg_received), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88100118, // 0000 GETMBR R4 R0 K24 + 0x8C100948, // 0001 GETMET R4 R4 K72 + 0x5C180200, // 0002 MOVE R6 R1 + 0x5C1C0400, // 0003 MOVE R7 R2 + 0x5C200600, // 0004 MOVE R8 R3 + 0x7C100800, // 0005 CALL R4 4 + 0x80040800, // 0006 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: resolve_attribute_read_solo +********************************************************************/ +be_local_closure(class_Matter_Device_resolve_attribute_read_solo, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(resolve_attribute_read_solo), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x8808030D, // 0000 GETMBR R2 R1 K13 + 0x880C0316, // 0001 GETMBR R3 R1 K22 + 0x88100317, // 0002 GETMBR R4 R1 K23 + 0x4C140000, // 0003 LDNIL R5 + 0x1C140405, // 0004 EQ R5 R2 R5 + 0x74160005, // 0005 JMPT R5 #000C + 0x4C140000, // 0006 LDNIL R5 + 0x1C140605, // 0007 EQ R5 R3 R5 + 0x74160002, // 0008 JMPT R5 #000C + 0x4C140000, // 0009 LDNIL R5 + 0x1C140805, // 000A EQ R5 R4 R5 + 0x78160001, // 000B JMPF R5 #000E + 0x4C140000, // 000C LDNIL R5 + 0x80040A00, // 000D RET 1 R5 + 0x8C140149, // 000E GETMET R5 R0 K73 + 0x5C1C0400, // 000F MOVE R7 R2 + 0x7C140400, // 0010 CALL R5 2 + 0x4C180000, // 0011 LDNIL R6 + 0x1C180A06, // 0012 EQ R6 R5 R6 + 0x781A0005, // 0013 JMPF R6 #001A + 0xB81A2800, // 0014 GETNGBL R6 K20 + 0x88180D4B, // 0015 GETMBR R6 R6 K75 + 0x90069406, // 0016 SETMBR R1 K74 R6 + 0x4C180000, // 0017 LDNIL R6 + 0x80040C00, // 0018 RET 1 R6 + 0x70020013, // 0019 JMP #002E + 0x8C180B4C, // 001A GETMET R6 R5 K76 + 0x5C200600, // 001B MOVE R8 R3 + 0x7C180400, // 001C CALL R6 2 + 0x741A0005, // 001D JMPT R6 #0024 + 0xB81A2800, // 001E GETNGBL R6 K20 + 0x88180D4D, // 001F GETMBR R6 R6 K77 + 0x90069406, // 0020 SETMBR R1 K74 R6 + 0x4C180000, // 0021 LDNIL R6 + 0x80040C00, // 0022 RET 1 R6 + 0x70020009, // 0023 JMP #002E + 0x8C180B4E, // 0024 GETMET R6 R5 K78 + 0x5C200600, // 0025 MOVE R8 R3 + 0x5C240800, // 0026 MOVE R9 R4 + 0x7C180600, // 0027 CALL R6 3 + 0x741A0004, // 0028 JMPT R6 #002E + 0xB81A2800, // 0029 GETNGBL R6 K20 + 0x88180D4F, // 002A GETMBR R6 R6 K79 + 0x90069406, // 002B SETMBR R1 K74 R6 + 0x4C180000, // 002C LDNIL R6 + 0x80040C00, // 002D RET 1 R6 + 0x80040A00, // 002E RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clean_remotes +********************************************************************/ +be_local_closure(class_Matter_Device_clean_remotes, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(clean_remotes), + &be_const_str_solidified, + ( &(const binstruction[80]) { /* code */ + 0xA406A000, // 0000 IMPORT R1 K80 + 0x88080151, // 0001 GETMBR R2 R0 K81 + 0x780A004B, // 0002 JMPF R2 #004F + 0x60080013, // 0003 GETGBL R2 G19 + 0x7C080000, // 0004 CALL R2 0 + 0x600C0010, // 0005 GETGBL R3 G16 + 0x88100151, // 0006 GETMBR R4 R0 K81 + 0x7C0C0200, // 0007 CALL R3 1 + 0xA8020003, // 0008 EXBLK 0 #000D + 0x5C100600, // 0009 MOVE R4 R3 + 0x7C100000, // 000A CALL R4 0 + 0x98080909, // 000B SETIDX R2 R4 K9 + 0x7001FFFB, // 000C JMP #0009 + 0x580C0007, // 000D LDCONST R3 K7 + 0xAC0C0200, // 000E CATCH R3 1 0 + 0xB0080000, // 000F RAISE 2 R0 R0 + 0x600C0010, // 0010 GETGBL R3 G16 + 0x8810010B, // 0011 GETMBR R4 R0 K11 + 0x7C0C0200, // 0012 CALL R3 1 + 0xA802000F, // 0013 EXBLK 0 #0024 + 0x5C100600, // 0014 MOVE R4 R3 + 0x7C100000, // 0015 CALL R4 0 + 0x8C140352, // 0016 GETMET R5 R1 K82 + 0x5C1C0800, // 0017 MOVE R7 R4 + 0x58200053, // 0018 LDCONST R8 K83 + 0x7C140600, // 0019 CALL R5 3 + 0x4C180000, // 001A LDNIL R6 + 0x20180A06, // 001B NE R6 R5 R6 + 0x781A0005, // 001C JMPF R6 #0023 + 0x8C18051D, // 001D GETMET R6 R2 K29 + 0x5C200A00, // 001E MOVE R8 R5 + 0x58240009, // 001F LDCONST R9 K9 + 0x7C180600, // 0020 CALL R6 3 + 0x00180D08, // 0021 ADD R6 R6 K8 + 0x98080A06, // 0022 SETIDX R2 R5 R6 + 0x7001FFEF, // 0023 JMP #0014 + 0x580C0007, // 0024 LDCONST R3 K7 + 0xAC0C0200, // 0025 CATCH R3 1 0 + 0xB0080000, // 0026 RAISE 2 R0 R0 + 0x600C0012, // 0027 GETGBL R3 G18 + 0x7C0C0000, // 0028 CALL R3 0 + 0x60100010, // 0029 GETGBL R4 G16 + 0x8C140505, // 002A GETMET R5 R2 K5 + 0x7C140200, // 002B CALL R5 1 + 0x7C100200, // 002C CALL R4 1 + 0xA8020008, // 002D EXBLK 0 #0037 + 0x5C140800, // 002E MOVE R5 R4 + 0x7C140000, // 002F CALL R5 0 + 0x94180405, // 0030 GETIDX R6 R2 R5 + 0x1C180D09, // 0031 EQ R6 R6 K9 + 0x781A0002, // 0032 JMPF R6 #0036 + 0x8C180706, // 0033 GETMET R6 R3 K6 + 0x5C200A00, // 0034 MOVE R8 R5 + 0x7C180400, // 0035 CALL R6 2 + 0x7001FFF6, // 0036 JMP #002E + 0x58100007, // 0037 LDCONST R4 K7 + 0xAC100200, // 0038 CATCH R4 1 0 + 0xB0080000, // 0039 RAISE 2 R0 R0 + 0x60100010, // 003A GETGBL R4 G16 + 0x5C140600, // 003B MOVE R5 R3 + 0x7C100200, // 003C CALL R4 1 + 0xA802000D, // 003D EXBLK 0 #004C + 0x5C140800, // 003E MOVE R5 R4 + 0x7C140000, // 003F CALL R5 0 + 0xB81A6A00, // 0040 GETNGBL R6 K53 + 0x881C0B55, // 0041 GETMBR R7 R5 K85 + 0x001EA807, // 0042 ADD R7 K84 R7 + 0x58200046, // 0043 LDCONST R8 K70 + 0x7C180400, // 0044 CALL R6 2 + 0x8C180B34, // 0045 GETMET R6 R5 K52 + 0x7C180200, // 0046 CALL R6 1 + 0x88180151, // 0047 GETMBR R6 R0 K81 + 0x8C180D3D, // 0048 GETMET R6 R6 K61 + 0x88200B55, // 0049 GETMBR R8 R5 K85 + 0x7C180400, // 004A CALL R6 2 + 0x7001FFF1, // 004B JMP #003E + 0x58100007, // 004C LDCONST R4 K7 + 0xAC100200, // 004D CATCH R4 1 0 + 0xB0080000, // 004E RAISE 2 R0 R0 + 0x80000000, // 004F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(class_Matter_Device_invoke_request, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58100009, // 0000 LDCONST R4 K9 + 0x8814070D, // 0001 GETMBR R5 R3 K13 + 0x6018000C, // 0002 GETGBL R6 G12 + 0x881C010B, // 0003 GETMBR R7 R0 K11 + 0x7C180200, // 0004 CALL R6 1 + 0x14180806, // 0005 LT R6 R4 R6 + 0x781A000C, // 0006 JMPF R6 #0014 + 0x8818010B, // 0007 GETMBR R6 R0 K11 + 0x94180C04, // 0008 GETIDX R6 R6 R4 + 0x881C0D0D, // 0009 GETMBR R7 R6 K13 + 0x1C1C0E05, // 000A EQ R7 R7 R5 + 0x781E0005, // 000B JMPF R7 #0012 + 0x8C1C0D56, // 000C GETMET R7 R6 K86 + 0x5C240200, // 000D MOVE R9 R1 + 0x5C280400, // 000E MOVE R10 R2 + 0x5C2C0600, // 000F MOVE R11 R3 + 0x7C1C0800, // 0010 CALL R7 4 + 0x80040E00, // 0011 RET 1 R7 + 0x00100908, // 0012 ADD R4 R4 K8 + 0x7001FFED, // 0013 JMP #0002 + 0xB81A2800, // 0014 GETNGBL R6 K20 + 0x88180D4B, // 0015 GETMBR R6 R6 K75 + 0x900E9406, // 0016 SETMBR R3 K74 R6 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Matter_Device_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[80]) { /* code */ + 0xA406AE00, // 0000 IMPORT R1 K87 + 0xB80A2000, // 0001 GETNGBL R2 K16 + 0x8C080558, // 0002 GETMET R2 R2 K88 + 0xB8122800, // 0003 GETNGBL R4 K20 + 0x88100959, // 0004 GETMBR R4 R4 K89 + 0x7C080400, // 0005 CALL R2 2 + 0x740A0006, // 0006 JMPT R2 #000E + 0xB80A2800, // 0007 GETNGBL R2 K20 + 0x8C08055B, // 0008 GETMET R2 R2 K91 + 0x5C100000, // 0009 MOVE R4 R0 + 0x50140000, // 000A LDBOOL R5 0 0 + 0x7C080600, // 000B CALL R2 3 + 0x9002B402, // 000C SETMBR R0 K90 R2 + 0x80000400, // 000D RET 0 + 0xB80A2800, // 000E GETNGBL R2 K20 + 0xB80E2800, // 000F GETNGBL R3 K20 + 0x8C0C075D, // 0010 GETMET R3 R3 K93 + 0x7C0C0200, // 0011 CALL R3 1 + 0x900AB803, // 0012 SETMBR R2 K92 R3 + 0x50080000, // 0013 LDBOOL R2 0 0 + 0x9002BC02, // 0014 SETMBR R0 K94 R2 + 0x9002BF09, // 0015 SETMBR R0 K95 K9 + 0x60080012, // 0016 GETGBL R2 G18 + 0x7C080000, // 0017 CALL R2 0 + 0x90021602, // 0018 SETMBR R0 K11 R2 + 0x50080000, // 0019 LDBOOL R2 0 0 + 0x90025602, // 001A SETMBR R0 K43 R2 + 0x60080013, // 001B GETGBL R2 G19 + 0x7C080000, // 001C CALL R2 0 + 0x90023C02, // 001D SETMBR R0 K30 R2 + 0x88080160, // 001E GETMBR R2 R0 K96 + 0x90025002, // 001F SETMBR R0 K40 R2 + 0x50080000, // 0020 LDBOOL R2 0 0 + 0x90024802, // 0021 SETMBR R0 K36 R2 + 0x50080000, // 0022 LDBOOL R2 0 0 + 0x90024E02, // 0023 SETMBR R0 K39 R2 + 0xB80A2800, // 0024 GETNGBL R2 K20 + 0x8C080562, // 0025 GETMET R2 R2 K98 + 0x5C100000, // 0026 MOVE R4 R0 + 0x7C080400, // 0027 CALL R2 2 + 0x9002C202, // 0028 SETMBR R0 K97 R2 + 0x8C080163, // 0029 GETMET R2 R0 K99 + 0x7C080200, // 002A CALL R2 1 + 0xB80A2800, // 002B GETNGBL R2 K20 + 0x8C080564, // 002C GETMET R2 R2 K100 + 0x5C100000, // 002D MOVE R4 R0 + 0x7C080400, // 002E CALL R2 2 + 0x90027C02, // 002F SETMBR R0 K62 R2 + 0x8808013E, // 0030 GETMBR R2 R0 K62 + 0x8C080565, // 0031 GETMET R2 R2 K101 + 0x7C080200, // 0032 CALL R2 1 + 0xB80A2800, // 0033 GETNGBL R2 K20 + 0x8C080566, // 0034 GETMET R2 R2 K102 + 0x5C100000, // 0035 MOVE R4 R0 + 0x7C080400, // 0036 CALL R2 2 + 0x90023002, // 0037 SETMBR R0 K24 R2 + 0xB80A2800, // 0038 GETNGBL R2 K20 + 0x8C080568, // 0039 GETMET R2 R2 K104 + 0x5C100000, // 003A MOVE R4 R0 + 0x7C080400, // 003B CALL R2 2 + 0x9002CE02, // 003C SETMBR R0 K103 R2 + 0x8C08016A, // 003D GETMET R2 R0 K106 + 0x7C080200, // 003E CALL R2 1 + 0x9002D202, // 003F SETMBR R0 K105 R2 + 0xB80A2800, // 0040 GETNGBL R2 K20 + 0x8C08055B, // 0041 GETMET R2 R2 K91 + 0x5C100000, // 0042 MOVE R4 R0 + 0x50140200, // 0043 LDBOOL R5 1 0 + 0x7C080600, // 0044 CALL R2 3 + 0x9002B402, // 0045 SETMBR R0 K90 R2 + 0x88080161, // 0046 GETMBR R2 R0 K97 + 0x8C08056B, // 0047 GETMET R2 R2 K107 + 0x7C080200, // 0048 CALL R2 1 + 0xB80A2000, // 0049 GETNGBL R2 K16 + 0x8C08056C, // 004A GETMET R2 R2 K108 + 0x5C100000, // 004B MOVE R4 R0 + 0x7C080400, // 004C CALL R2 2 + 0x8C08016D, // 004D GETMET R2 R0 K109 + 0x7C080200, // 004E CALL R2 1 + 0x80000000, // 004F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: button_pressed +********************************************************************/ +be_local_closure(class_Matter_Device_button_pressed, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(button_pressed), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x540E000F, // 0000 LDINT R3 16 + 0x3C0C0403, // 0001 SHR R3 R2 R3 + 0x541200FE, // 0002 LDINT R4 255 + 0x2C0C0604, // 0003 AND R3 R3 R4 + 0x54120007, // 0004 LDINT R4 8 + 0x3C100404, // 0005 SHR R4 R2 R4 + 0x541600FE, // 0006 LDINT R5 255 + 0x2C100805, // 0007 AND R4 R4 R5 + 0x541600FE, // 0008 LDINT R5 255 + 0x2C140405, // 0009 AND R5 R2 R5 + 0x541A0017, // 000A LDINT R6 24 + 0x3C180406, // 000B SHR R6 R2 R6 + 0x541E00FE, // 000C LDINT R7 255 + 0x2C180C07, // 000D AND R6 R6 R7 + 0x8C1C016E, // 000E GETMET R7 R0 K110 + 0x00240B08, // 000F ADD R9 R5 K8 + 0x20280604, // 0010 NE R10 R3 R4 + 0x782A0001, // 0011 JMPF R10 #0014 + 0x58280008, // 0012 LDCONST R10 K8 + 0x70020000, // 0013 JMP #0015 + 0x58280009, // 0014 LDCONST R10 K9 + 0x780E0001, // 0015 JMPF R3 #0018 + 0x582C0009, // 0016 LDCONST R11 K9 + 0x70020000, // 0017 JMP #0019 + 0x582C0008, // 0018 LDCONST R11 K8 + 0x5C300C00, // 0019 MOVE R12 R6 + 0x7C1C0A00, // 001A CALL R7 5 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_plugin_by_friendly_name +********************************************************************/ +be_local_closure(class_Matter_Device_find_plugin_by_friendly_name, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(find_plugin_by_friendly_name), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x740A0004, // 0002 JMPT R2 #0008 + 0x6008000C, // 0003 GETGBL R2 G12 + 0x5C0C0200, // 0004 MOVE R3 R1 + 0x7C080200, // 0005 CALL R2 1 + 0x1C080509, // 0006 EQ R2 R2 K9 + 0x780A0001, // 0007 JMPF R2 #000A + 0x4C080000, // 0008 LDNIL R2 + 0x80040400, // 0009 RET 1 R2 + 0x58080009, // 000A LDCONST R2 K9 + 0x600C000C, // 000B GETGBL R3 G12 + 0x8810010B, // 000C GETMBR R4 R0 K11 + 0x7C0C0200, // 000D CALL R3 1 + 0x140C0403, // 000E LT R3 R2 R3 + 0x780E0010, // 000F JMPF R3 #0021 + 0x880C010B, // 0010 GETMBR R3 R0 K11 + 0x940C0602, // 0011 GETIDX R3 R3 R2 + 0x8C10076F, // 0012 GETMET R4 R3 K111 + 0x7C100200, // 0013 CALL R4 1 + 0x4C140000, // 0014 LDNIL R5 + 0x20140805, // 0015 NE R5 R4 R5 + 0x78160007, // 0016 JMPF R5 #001F + 0x6014000C, // 0017 GETGBL R5 G12 + 0x5C180800, // 0018 MOVE R6 R4 + 0x7C140200, // 0019 CALL R5 1 + 0x24140B09, // 001A GT R5 R5 K9 + 0x78160002, // 001B JMPF R5 #001F + 0x1C140801, // 001C EQ R5 R4 R1 + 0x78160000, // 001D JMPF R5 #001F + 0x80040600, // 001E RET 1 R3 + 0x00080508, // 001F ADD R2 R2 K8 + 0x7001FFE9, // 0020 JMP #000B + 0x4C0C0000, // 0021 LDNIL R3 + 0x80040600, // 0022 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: check_network +********************************************************************/ +be_local_closure(class_Matter_Device_check_network, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(check_network), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x8804015E, // 0000 GETMBR R1 R0 K94 + 0x78060000, // 0001 JMPF R1 #0003 + 0x80000200, // 0002 RET 0 + 0xB8062000, // 0003 GETNGBL R1 K16 + 0x8C040370, // 0004 GETMET R1 R1 K112 + 0x7C040200, // 0005 CALL R1 1 + 0x94040371, // 0006 GETIDX R1 R1 K113 + 0x74060004, // 0007 JMPT R1 #000D + 0xB8062000, // 0008 GETNGBL R1 K16 + 0x8C040372, // 0009 GETMET R1 R1 K114 + 0x7C040200, // 000A CALL R1 1 + 0x94040371, // 000B GETIDX R1 R1 K113 + 0x78060001, // 000C JMPF R1 #000F + 0x8C040173, // 000D GETMET R1 R0 K115 + 0x7C040200, // 000E CALL R1 1 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: MtrUpdate +********************************************************************/ +be_local_closure(class_Matter_Device_MtrUpdate, /* name */ + be_nested_proto( + 18, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(MtrUpdate), + &be_const_str_solidified, + ( &(const binstruction[126]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140805, // 0001 EQ R5 R4 R5 + 0x78160004, // 0002 JMPF R5 #0008 + 0xB8162000, // 0003 GETNGBL R5 K16 + 0x8C140B74, // 0004 GETMET R5 R5 K116 + 0x581C0075, // 0005 LDCONST R7 K117 + 0x7C140400, // 0006 CALL R5 2 + 0x80040A00, // 0007 RET 1 R5 + 0xB8162000, // 0008 GETNGBL R5 K16 + 0x8C140B76, // 0009 GETMET R5 R5 K118 + 0x5C1C0800, // 000A MOVE R7 R4 + 0x58200077, // 000B LDCONST R8 K119 + 0x7C140600, // 000C CALL R5 3 + 0xB81A2000, // 000D GETNGBL R6 K16 + 0x8C180D76, // 000E GETMET R6 R6 K118 + 0x5C200800, // 000F MOVE R8 R4 + 0x58240078, // 0010 LDCONST R9 K120 + 0x7C180600, // 0011 CALL R6 3 + 0x74160000, // 0012 JMPT R5 #0014 + 0x781A0064, // 0013 JMPF R6 #0079 + 0x4C1C0000, // 0014 LDNIL R7 + 0x78160010, // 0015 JMPF R5 #0027 + 0x60200009, // 0016 GETGBL R8 G9 + 0x94240805, // 0017 GETIDX R9 R4 R5 + 0x7C200200, // 0018 CALL R8 1 + 0x18241109, // 0019 LE R9 R8 K9 + 0x78260004, // 001A JMPF R9 #0020 + 0xB8262000, // 001B GETNGBL R9 K16 + 0x8C241374, // 001C GETMET R9 R9 K116 + 0x582C0079, // 001D LDCONST R11 K121 + 0x7C240400, // 001E CALL R9 2 + 0x80041200, // 001F RET 1 R9 + 0x8C240149, // 0020 GETMET R9 R0 K73 + 0x5C2C1000, // 0021 MOVE R11 R8 + 0x7C240400, // 0022 CALL R9 2 + 0x5C1C1200, // 0023 MOVE R7 R9 + 0x8C24093D, // 0024 GETMET R9 R4 K61 + 0x5C2C0A00, // 0025 MOVE R11 R5 + 0x7C240400, // 0026 CALL R9 2 + 0x781A0009, // 0027 JMPF R6 #0032 + 0x4C200000, // 0028 LDNIL R8 + 0x1C200E08, // 0029 EQ R8 R7 R8 + 0x78220003, // 002A JMPF R8 #002F + 0x8C20010F, // 002B GETMET R8 R0 K15 + 0x94280806, // 002C GETIDX R10 R4 R6 + 0x7C200400, // 002D CALL R8 2 + 0x5C1C1000, // 002E MOVE R7 R8 + 0x8C20093D, // 002F GETMET R8 R4 K61 + 0x5C280C00, // 0030 MOVE R10 R6 + 0x7C200400, // 0031 CALL R8 2 + 0x4C200000, // 0032 LDNIL R8 + 0x1C200E08, // 0033 EQ R8 R7 R8 + 0x78220004, // 0034 JMPF R8 #003A + 0xB8222000, // 0035 GETNGBL R8 K16 + 0x8C201174, // 0036 GETMET R8 R8 K116 + 0x5828007A, // 0037 LDCONST R10 K122 + 0x7C200400, // 0038 CALL R8 2 + 0x80041000, // 0039 RET 1 R8 + 0x88200F7B, // 003A GETMBR R8 R7 K123 + 0x74220004, // 003B JMPT R8 #0041 + 0xB8222000, // 003C GETNGBL R8 K16 + 0x8C201174, // 003D GETMET R8 R8 K116 + 0x5828007C, // 003E LDCONST R10 K124 + 0x7C200400, // 003F CALL R8 2 + 0x80041000, // 0040 RET 1 R8 + 0x8C200F7D, // 0041 GETMET R8 R7 K125 + 0x7C200200, // 0042 CALL R8 1 + 0x60240013, // 0043 GETGBL R9 G19 + 0x7C240000, // 0044 CALL R9 0 + 0x60280010, // 0045 GETGBL R10 G16 + 0x8C2C0905, // 0046 GETMET R11 R4 K5 + 0x7C2C0200, // 0047 CALL R11 1 + 0x7C280200, // 0048 CALL R10 1 + 0xA8020016, // 0049 EXBLK 0 #0061 + 0x5C2C1400, // 004A MOVE R11 R10 + 0x7C2C0000, // 004B CALL R11 0 + 0xB8322000, // 004C GETNGBL R12 K16 + 0x8C30197E, // 004D GETMET R12 R12 K126 + 0x5C381000, // 004E MOVE R14 R8 + 0x5C3C1600, // 004F MOVE R15 R11 + 0x7C300600, // 0050 CALL R12 3 + 0x4C340000, // 0051 LDNIL R13 + 0x1C34180D, // 0052 EQ R13 R12 R13 + 0x78360008, // 0053 JMPF R13 #005D + 0xB8362000, // 0054 GETNGBL R13 K16 + 0x8C341B74, // 0055 GETMET R13 R13 K116 + 0x603C0018, // 0056 GETGBL R15 G24 + 0x5840007F, // 0057 LDCONST R16 K127 + 0x5C441600, // 0058 MOVE R17 R11 + 0x7C3C0400, // 0059 CALL R15 2 + 0x7C340400, // 005A CALL R13 2 + 0xA8040001, // 005B EXBLK 1 1 + 0x80001A00, // 005C RET 0 + 0x9434100C, // 005D GETIDX R13 R8 R12 + 0x9438080B, // 005E GETIDX R14 R4 R11 + 0x98241A0E, // 005F SETIDX R9 R13 R14 + 0x7001FFE8, // 0060 JMP #004A + 0x58280007, // 0061 LDCONST R10 K7 + 0xAC280200, // 0062 CATCH R10 1 0 + 0xB0080000, // 0063 RAISE 2 R0 R0 + 0x8C280F80, // 0064 GETMET R10 R7 K128 + 0x5C301200, // 0065 MOVE R12 R9 + 0x7C280400, // 0066 CALL R10 2 + 0x8C280F81, // 0067 GETMET R10 R7 K129 + 0x7C280200, // 0068 CALL R10 1 + 0x782A000A, // 0069 JMPF R10 #0075 + 0x602C0018, // 006A GETGBL R11 G24 + 0x58300082, // 006B LDCONST R12 K130 + 0x5C340200, // 006C MOVE R13 R1 + 0x5C381400, // 006D MOVE R14 R10 + 0x7C2C0600, // 006E CALL R11 3 + 0xB8322000, // 006F GETNGBL R12 K16 + 0x8C301983, // 0070 GETMET R12 R12 K131 + 0x5C381600, // 0071 MOVE R14 R11 + 0x7C300400, // 0072 CALL R12 2 + 0x80041800, // 0073 RET 1 R12 + 0x70020003, // 0074 JMP #0079 + 0xB82E2000, // 0075 GETNGBL R11 K16 + 0x8C2C1711, // 0076 GETMET R11 R11 K17 + 0x7C2C0200, // 0077 CALL R11 1 + 0x80041600, // 0078 RET 1 R11 + 0xB81E2000, // 0079 GETNGBL R7 K16 + 0x8C1C0F74, // 007A GETMET R7 R7 K116 + 0x58240084, // 007B LDCONST R9 K132 + 0x7C1C0400, // 007C CALL R7 2 + 0x80000000, // 007D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(class_Matter_Device_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C040185, // 0000 GETMET R1 R0 K133 + 0x7C040200, // 0001 CALL R1 1 + 0x8804015F, // 0002 GETMBR R1 R0 K95 + 0x00040308, // 0003 ADD R1 R1 K8 + 0x9002BE01, // 0004 SETMBR R0 K95 R1 + 0x88040118, // 0005 GETMBR R1 R0 K24 + 0x8C040386, // 0006 GETMET R1 R1 K134 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_Matter_Device_every_second, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8804013E, // 0000 GETMBR R1 R0 K62 + 0x8C040387, // 0001 GETMET R1 R1 K135 + 0x7C040200, // 0002 CALL R1 1 + 0x88040118, // 0003 GETMBR R1 R0 K24 + 0x8C040387, // 0004 GETMET R1 R1 K135 + 0x7C040200, // 0005 CALL R1 1 + 0x88040167, // 0006 GETMBR R1 R0 K103 + 0x8C040387, // 0007 GETMET R1 R1 K135 + 0x7C040200, // 0008 CALL R1 1 + 0x88040161, // 0009 GETMBR R1 R0 K97 + 0x8C040387, // 000A GETMET R1 R1 K135 + 0x7C040200, // 000B CALL R1 1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_read_sensors_schedule +********************************************************************/ +be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(add_read_sensors_schedule), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88080188, // 0000 GETMBR R2 R0 K136 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x740A0002, // 0003 JMPT R2 #0007 + 0x88080188, // 0004 GETMBR R2 R0 K136 + 0x24080401, // 0005 GT R2 R2 R1 + 0x780A0005, // 0006 JMPF R2 #000D + 0x90031001, // 0007 SETMBR R0 K136 R1 + 0xB80A2800, // 0008 GETNGBL R2 K20 + 0x8C08058A, // 0009 GETMET R2 R2 K138 + 0x5C100200, // 000A MOVE R4 R1 + 0x7C080400, // 000B CALL R2 2 + 0x90031202, // 000C SETMBR R0 K137 R2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: bridge_add_endpoint +********************************************************************/ +be_local_closure(class_Matter_Device_bridge_add_endpoint, /* name */ + be_nested_proto( + 16, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(bridge_add_endpoint), + &be_const_str_solidified, + ( &(const binstruction[68]) { /* code */ + 0x880C018B, // 0000 GETMBR R3 R0 K139 + 0x8C0C071D, // 0001 GETMET R3 R3 K29 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x4C100000, // 0004 LDNIL R4 + 0x1C100604, // 0005 EQ R4 R3 R4 + 0x78120008, // 0006 JMPF R4 #0010 + 0xB8126A00, // 0007 GETNGBL R4 K53 + 0x60140008, // 0008 GETGBL R5 G8 + 0x5C180200, // 0009 MOVE R6 R1 + 0x7C140200, // 000A CALL R5 1 + 0x00171805, // 000B ADD R5 K140 R5 + 0x00140B8D, // 000C ADD R5 R5 K141 + 0x58180046, // 000D LDCONST R6 K70 + 0x7C100400, // 000E CALL R4 2 + 0x80000800, // 000F RET 0 + 0x88100128, // 0010 GETMBR R4 R0 K40 + 0x60140008, // 0011 GETGBL R5 G8 + 0x5C180800, // 0012 MOVE R6 R4 + 0x7C140200, // 0013 CALL R5 1 + 0x5C180600, // 0014 MOVE R6 R3 + 0x5C1C0000, // 0015 MOVE R7 R0 + 0x5C200800, // 0016 MOVE R8 R4 + 0x5C240400, // 0017 MOVE R9 R2 + 0x7C180600, // 0018 CALL R6 3 + 0x881C010B, // 0019 GETMBR R7 R0 K11 + 0x8C1C0F06, // 001A GETMET R7 R7 K6 + 0x5C240C00, // 001B MOVE R9 R6 + 0x7C1C0400, // 001C CALL R7 2 + 0x601C0013, // 001D GETGBL R7 G19 + 0x7C1C0000, // 001E CALL R7 0 + 0x981F1C01, // 001F SETIDX R7 K142 R1 + 0x60200010, // 0020 GETGBL R8 G16 + 0x8C240505, // 0021 GETMET R9 R2 K5 + 0x7C240200, // 0022 CALL R9 1 + 0x7C200200, // 0023 CALL R8 1 + 0xA8020004, // 0024 EXBLK 0 #002A + 0x5C241000, // 0025 MOVE R9 R8 + 0x7C240000, // 0026 CALL R9 0 + 0x94280409, // 0027 GETIDX R10 R2 R9 + 0x981C120A, // 0028 SETIDX R7 R9 R10 + 0x7001FFFA, // 0029 JMP #0025 + 0x58200007, // 002A LDCONST R8 K7 + 0xAC200200, // 002B CATCH R8 1 0 + 0xB0080000, // 002C RAISE 2 R0 R0 + 0xB8226A00, // 002D GETNGBL R8 K53 + 0x60240018, // 002E GETGBL R9 G24 + 0x5828008F, // 002F LDCONST R10 K143 + 0x5C2C0800, // 0030 MOVE R11 R4 + 0x5C300200, // 0031 MOVE R12 R1 + 0x8C340190, // 0032 GETMET R13 R0 K144 + 0x5C3C0400, // 0033 MOVE R15 R2 + 0x7C340400, // 0034 CALL R13 2 + 0x7C240800, // 0035 CALL R9 4 + 0x58280038, // 0036 LDCONST R10 K56 + 0x7C200400, // 0037 CALL R8 2 + 0x8820012E, // 0038 GETMBR R8 R0 K46 + 0x98200A07, // 0039 SETIDX R8 R5 R7 + 0x50200200, // 003A LDBOOL R8 1 0 + 0x90025608, // 003B SETMBR R0 K43 R8 + 0x88200128, // 003C GETMBR R8 R0 K40 + 0x00201108, // 003D ADD R8 R8 K8 + 0x90025008, // 003E SETMBR R0 K40 R8 + 0x8C200140, // 003F GETMET R8 R0 K64 + 0x7C200200, // 0040 CALL R8 1 + 0x8C200191, // 0041 GETMET R8 R0 K145 + 0x7C200200, // 0042 CALL R8 1 + 0x80040800, // 0043 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: button_handler +********************************************************************/ +be_local_closure(class_Matter_Device_button_handler, /* name */ + be_nested_proto( + 14, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(button_handler), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x58140009, // 0000 LDCONST R5 K9 + 0xA41AA000, // 0001 IMPORT R6 K80 + 0x601C000C, // 0002 GETGBL R7 G12 + 0x8820010B, // 0003 GETMBR R8 R0 K11 + 0x7C1C0200, // 0004 CALL R7 1 + 0x141C0A07, // 0005 LT R7 R5 R7 + 0x781E0010, // 0006 JMPF R7 #0018 + 0x881C010B, // 0007 GETMBR R7 R0 K11 + 0x941C0E05, // 0008 GETIDX R7 R7 R5 + 0x8C200D92, // 0009 GETMET R8 R6 K146 + 0x5C280E00, // 000A MOVE R10 R7 + 0x582C006E, // 000B LDCONST R11 K110 + 0x7C200600, // 000C CALL R8 3 + 0x78220007, // 000D JMPF R8 #0016 + 0x8820010B, // 000E GETMBR R8 R0 K11 + 0x94201005, // 000F GETIDX R8 R8 R5 + 0x8C20116E, // 0010 GETMET R8 R8 K110 + 0x5C280200, // 0011 MOVE R10 R1 + 0x5C2C0400, // 0012 MOVE R11 R2 + 0x5C300600, // 0013 MOVE R12 R3 + 0x5C340800, // 0014 MOVE R13 R4 + 0x7C200A00, // 0015 CALL R8 5 + 0x00140B08, // 0016 ADD R5 R5 K8 + 0x7001FFE9, // 0017 JMP #0002 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _start_udp +********************************************************************/ +be_local_closure(class_Matter_Device__start_udp, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(msg_received), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80040600, // 0006 RET 1 R3 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(_start_udp), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x80000400, // 0002 RET 0 + 0x4C080000, // 0003 LDNIL R2 + 0x1C080202, // 0004 EQ R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x540615A3, // 0006 LDINT R1 5540 + 0xB80A6A00, // 0007 GETNGBL R2 K53 + 0x600C0008, // 0008 GETGBL R3 G8 + 0x5C100200, // 0009 MOVE R4 R1 + 0x7C0C0200, // 000A CALL R3 1 + 0x000F2603, // 000B ADD R3 K147 R3 + 0x58100038, // 000C LDCONST R4 K56 + 0x7C080400, // 000D CALL R2 2 + 0xB80A2800, // 000E GETNGBL R2 K20 + 0x8C080594, // 000F GETMET R2 R2 K148 + 0x5C100000, // 0010 MOVE R4 R0 + 0x5814000A, // 0011 LDCONST R5 K10 + 0x5C180200, // 0012 MOVE R6 R1 + 0x7C080800, // 0013 CALL R2 4 + 0x90020002, // 0014 SETMBR R0 K0 R2 + 0x88080100, // 0015 GETMBR R2 R0 K0 + 0x8C080573, // 0016 GETMET R2 R2 K115 + 0x84100000, // 0017 CLOSURE R4 P0 + 0x7C080400, // 0018 CALL R2 2 + 0xA0000000, // 0019 CLOSE R0 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: signal_endpoints_changed +********************************************************************/ +be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(signal_endpoints_changed), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8C040195, // 0000 GETMET R1 R0 K149 + 0x580C0009, // 0001 LDCONST R3 K9 + 0x5412001C, // 0002 LDINT R4 29 + 0x58140046, // 0003 LDCONST R5 K70 + 0x50180000, // 0004 LDBOOL R6 0 0 + 0x7C040A00, // 0005 CALL R1 5 + 0x8C040195, // 0006 GETMET R1 R0 K149 + 0xB80E2800, // 0007 GETNGBL R3 K20 + 0x880C0796, // 0008 GETMBR R3 R3 K150 + 0x5412001C, // 0009 LDINT R4 29 + 0x58140046, // 000A LDCONST R5 K70 + 0x50180000, // 000B LDBOOL R6 0 0 + 0x7C040A00, // 000C CALL R1 5 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_zigbee_present +********************************************************************/ +be_local_closure(class_Matter_Device_is_zigbee_present, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(is_zigbee_present), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xA406A000, // 0000 IMPORT R1 K80 + 0x8C080397, // 0001 GETMET R2 R1 K151 + 0x58100003, // 0002 LDCONST R4 K3 + 0x7C080400, // 0003 CALL R2 2 + 0x4C0C0000, // 0004 LDNIL R3 + 0x20080403, // 0005 NE R2 R2 R3 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_plugin_class_arg +********************************************************************/ +be_local_closure(class_Matter_Device_get_plugin_class_arg, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(get_plugin_class_arg), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8808018B, // 0000 GETMBR R2 R0 K139 + 0x8C08051D, // 0001 GETMET R2 R2 K29 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x880C0598, // 0005 GETMBR R3 R2 K152 + 0x70020000, // 0006 JMP #0008 + 0x580C000A, // 0007 LDCONST R3 K10 + 0x80040600, // 0008 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_remotes_info +********************************************************************/ +be_local_closure(class_Matter_Device_update_remotes_info, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(update_remotes_info), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x60040013, // 0000 GETGBL R1 G19 + 0x7C040000, // 0001 CALL R1 0 + 0x88080151, // 0002 GETMBR R2 R0 K81 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0018, // 0005 JMPF R2 #001F + 0x60080010, // 0006 GETGBL R2 G16 + 0x880C0151, // 0007 GETMBR R3 R0 K81 + 0x8C0C0705, // 0008 GETMET R3 R3 K5 + 0x7C0C0200, // 0009 CALL R3 1 + 0x7C080200, // 000A CALL R2 1 + 0xA802000F, // 000B EXBLK 0 #001C + 0x5C0C0400, // 000C MOVE R3 R2 + 0x7C0C0000, // 000D CALL R3 0 + 0x88100151, // 000E GETMBR R4 R0 K81 + 0x94100803, // 000F GETIDX R4 R4 R3 + 0x8C100999, // 0010 GETMET R4 R4 K153 + 0x7C100200, // 0011 CALL R4 1 + 0x4C140000, // 0012 LDNIL R5 + 0x20140805, // 0013 NE R5 R4 R5 + 0x78160005, // 0014 JMPF R5 #001B + 0x6014000C, // 0015 GETGBL R5 G12 + 0x5C180800, // 0016 MOVE R6 R4 + 0x7C140200, // 0017 CALL R5 1 + 0x24140B09, // 0018 GT R5 R5 K9 + 0x78160000, // 0019 JMPF R5 #001B + 0x98040604, // 001A SETIDX R1 R3 R4 + 0x7001FFEF, // 001B JMP #000C + 0x58080007, // 001C LDCONST R2 K7 + 0xAC080200, // 001D CATCH R2 1 0 + 0xB0080000, // 001E RAISE 2 R0 R0 + 0x90023C01, // 001F SETMBR R0 K30 R1 + 0x80040200, // 0020 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_fabric +********************************************************************/ +be_local_closure(class_Matter_Device_remove_fabric, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(remove_fabric), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0019, // 0002 JMPF R2 #001D + 0xB80A6A00, // 0003 GETNGBL R2 K53 + 0x8C0C039B, // 0004 GETMET R3 R1 K155 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C079C, // 0006 GETMET R3 R3 K156 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C0C079D, // 0008 GETMET R3 R3 K157 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C0C079E, // 000A GETMET R3 R3 K158 + 0x7C0C0200, // 000B CALL R3 1 + 0x000F3403, // 000C ADD R3 K154 R3 + 0x58100038, // 000D LDCONST R4 K56 + 0x7C080400, // 000E CALL R2 2 + 0x88080118, // 000F GETMBR R2 R0 K24 + 0x88080519, // 0010 GETMBR R2 R2 K25 + 0x8808051A, // 0011 GETMBR R2 R2 K26 + 0x8C08059F, // 0012 GETMET R2 R2 K159 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C080400, // 0014 CALL R2 2 + 0x88080161, // 0015 GETMBR R2 R0 K97 + 0x8C0805A0, // 0016 GETMET R2 R2 K160 + 0x5C100200, // 0017 MOVE R4 R1 + 0x7C080400, // 0018 CALL R2 2 + 0x8808013E, // 0019 GETMBR R2 R0 K62 + 0x8C0805A1, // 001A GETMET R2 R2 K161 + 0x5C100200, // 001B MOVE R4 R1 + 0x7C080400, // 001C CALL R2 2 + 0x8808013E, // 001D GETMBR R2 R0 K62 + 0x8C0805A2, // 001E GETMET R2 R2 K162 + 0x7C080200, // 001F CALL R2 1 + 0x80000000, // 0020 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: conf_to_log +********************************************************************/ +be_local_closure(class_Matter_Device_conf_to_log, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(conf_to_log), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58040004, // 0000 LDCONST R1 K4 + 0x5808000A, // 0001 LDCONST R2 K10 + 0x600C0010, // 0002 GETGBL R3 G16 + 0x8C1003A3, // 0003 GETMET R4 R1 K163 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C100400, // 0005 CALL R4 2 + 0x7C0C0200, // 0006 CALL R3 1 + 0xA802000B, // 0007 EXBLK 0 #0014 + 0x5C100600, // 0008 MOVE R4 R3 + 0x7C100000, // 0009 CALL R4 0 + 0x1C14098E, // 000A EQ R5 R4 K142 + 0x78160000, // 000B JMPF R5 #000D + 0x7001FFFA, // 000C JMP #0008 + 0x60140018, // 000D GETGBL R5 G24 + 0x581800A4, // 000E LDCONST R6 K164 + 0x5C1C0800, // 000F MOVE R7 R4 + 0x94200004, // 0010 GETIDX R8 R0 R4 + 0x7C140600, // 0011 CALL R5 3 + 0x00080405, // 0012 ADD R2 R2 R5 + 0x7001FFF3, // 0013 JMP #0008 + 0x580C0007, // 0014 LDCONST R3 K7 + 0xAC0C0200, // 0015 CATCH R3 1 0 + 0xB0080000, // 0016 RAISE 2 R0 R0 + 0x80040400, // 0017 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: adjust_next_ep +********************************************************************/ +be_local_closure(class_Matter_Device_adjust_next_ep, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(adjust_next_ep), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x8808012E, // 0001 GETMBR R2 R0 K46 + 0x8C080505, // 0002 GETMET R2 R2 K5 + 0x7C080200, // 0003 CALL R2 1 + 0x7C040200, // 0004 CALL R1 1 + 0xA802000A, // 0005 EXBLK 0 #0011 + 0x5C080200, // 0006 MOVE R2 R1 + 0x7C080000, // 0007 CALL R2 0 + 0x600C0009, // 0008 GETGBL R3 G9 + 0x5C100400, // 0009 MOVE R4 R2 + 0x7C0C0200, // 000A CALL R3 1 + 0x88100128, // 000B GETMBR R4 R0 K40 + 0x28100604, // 000C GE R4 R3 R4 + 0x78120001, // 000D JMPF R4 #0010 + 0x00100708, // 000E ADD R4 R3 K8 + 0x90025004, // 000F SETMBR R0 K40 R4 + 0x7001FFF4, // 0010 JMP #0006 + 0x58040007, // 0011 LDCONST R1 K7 + 0xAC040200, // 0012 CATCH R1 1 0 + 0xB0080000, // 0013 RAISE 2 R0 R0 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reset_param +********************************************************************/ +be_local_closure(class_Matter_Device_reset_param, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(reset_param), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x90025601, // 0001 SETMBR R0 K43 R1 + 0x88040160, // 0002 GETMBR R1 R0 K96 + 0x90025001, // 0003 SETMBR R0 K40 R1 + 0x8C040140, // 0004 GETMET R1 R0 K64 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_plugin_class_displayname +********************************************************************/ +be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(get_plugin_class_displayname), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8808018B, // 0000 GETMBR R2 R0 K139 + 0x8C08051D, // 0001 GETMET R2 R2 K29 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x880C05A5, // 0005 GETMBR R3 R2 K165 + 0x70020000, // 0006 JMP #0008 + 0x580C000A, // 0007 LDCONST R3 K10 + 0x80040600, // 0008 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_sensors_scheduler +********************************************************************/ +be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(read_sensors_scheduler), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x88040188, // 0000 GETMBR R1 R0 K136 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0x88040189, // 0005 GETMBR R1 R0 K137 + 0x1C040309, // 0006 EQ R1 R1 K9 + 0x74060004, // 0007 JMPT R1 #000D + 0xB8062000, // 0008 GETNGBL R1 K16 + 0x8C0403A6, // 0009 GETMET R1 R1 K166 + 0x880C0189, // 000A GETMBR R3 R0 K137 + 0x7C040400, // 000B CALL R1 2 + 0x78060006, // 000C JMPF R1 #0014 + 0x8C0401A7, // 000D GETMET R1 R0 K167 + 0x7C040200, // 000E CALL R1 1 + 0xB8062000, // 000F GETNGBL R1 K16 + 0x8C0403A8, // 0010 GETMET R1 R1 K168 + 0x880C0188, // 0011 GETMBR R3 R0 K136 + 0x7C040400, // 0012 CALL R1 2 + 0x90031201, // 0013 SETMBR R0 K137 R1 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_http_remote +********************************************************************/ +be_local_closure(class_Matter_Device_register_http_remote, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(register_http_remote), + &be_const_str_solidified, + ( &(const binstruction[42]) { /* code */ + 0x880C0151, // 0000 GETMBR R3 R0 K81 + 0x4C100000, // 0001 LDNIL R4 + 0x1C0C0604, // 0002 EQ R3 R3 R4 + 0x780E0002, // 0003 JMPF R3 #0007 + 0x600C0013, // 0004 GETGBL R3 G19 + 0x7C0C0000, // 0005 CALL R3 0 + 0x9002A203, // 0006 SETMBR R0 K81 R3 + 0x4C0C0000, // 0007 LDNIL R3 + 0x88100151, // 0008 GETMBR R4 R0 K81 + 0x8C100992, // 0009 GETMET R4 R4 K146 + 0x5C180200, // 000A MOVE R6 R1 + 0x7C100400, // 000B CALL R4 2 + 0x78120009, // 000C JMPF R4 #0017 + 0x88100151, // 000D GETMBR R4 R0 K81 + 0x940C0801, // 000E GETIDX R3 R4 R1 + 0x8C1407A9, // 000F GETMET R5 R3 K169 + 0x7C140200, // 0010 CALL R5 1 + 0x14140405, // 0011 LT R5 R2 R5 + 0x78160002, // 0012 JMPF R5 #0016 + 0x8C1407AA, // 0013 GETMET R5 R3 K170 + 0x5C1C0400, // 0014 MOVE R7 R2 + 0x7C140400, // 0015 CALL R5 2 + 0x70020011, // 0016 JMP #0029 + 0xB8122800, // 0017 GETNGBL R4 K20 + 0x8C1009AB, // 0018 GETMET R4 R4 K171 + 0x5C180000, // 0019 MOVE R6 R0 + 0x5C1C0200, // 001A MOVE R7 R1 + 0x5C200400, // 001B MOVE R8 R2 + 0x7C100800, // 001C CALL R4 4 + 0x5C0C0800, // 001D MOVE R3 R4 + 0x8810011E, // 001E GETMBR R4 R0 K30 + 0x8C100992, // 001F GETMET R4 R4 K146 + 0x5C180200, // 0020 MOVE R6 R1 + 0x7C100400, // 0021 CALL R4 2 + 0x78120003, // 0022 JMPF R4 #0027 + 0x8C1007AC, // 0023 GETMET R4 R3 K172 + 0x8818011E, // 0024 GETMBR R6 R0 K30 + 0x94180C01, // 0025 GETIDX R6 R6 R1 + 0x7C100400, // 0026 CALL R4 2 + 0x88100151, // 0027 GETMBR R4 R0 K81 + 0x98100203, // 0028 SETIDX R4 R1 R3 + 0x80040600, // 0029 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: process_attribute_expansion +********************************************************************/ +be_local_closure(class_Matter_Device_process_attribute_expansion, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(process_attribute_expansion), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x880C030D, // 0000 GETMBR R3 R1 K13 + 0x88100316, // 0001 GETMBR R4 R1 K22 + 0x88140317, // 0002 GETMBR R5 R1 K23 + 0xB81A2800, // 0003 GETNGBL R6 K20 + 0x8C180DAD, // 0004 GETMET R6 R6 K173 + 0x5C200000, // 0005 MOVE R8 R0 + 0x7C180400, // 0006 CALL R6 2 + 0x8C1C0D73, // 0007 GETMET R7 R6 K115 + 0x5C240600, // 0008 MOVE R9 R3 + 0x5C280800, // 0009 MOVE R10 R4 + 0x5C2C0A00, // 000A MOVE R11 R5 + 0x7C1C0800, // 000B CALL R7 4 + 0x8C1C0DAE, // 000C GETMET R7 R6 K174 + 0x7C1C0200, // 000D CALL R7 1 + 0x4C200000, // 000E LDNIL R8 + 0x8C240DAF, // 000F GETMET R9 R6 K175 + 0x7C240200, // 0010 CALL R9 1 + 0x5C201200, // 0011 MOVE R8 R9 + 0x4C280000, // 0012 LDNIL R10 + 0x2024120A, // 0013 NE R9 R9 R10 + 0x78260005, // 0014 JMPF R9 #001B + 0x5C240400, // 0015 MOVE R9 R2 + 0x8C280DB0, // 0016 GETMET R10 R6 K176 + 0x7C280200, // 0017 CALL R10 1 + 0x5C2C1000, // 0018 MOVE R11 R8 + 0x7C240400, // 0019 CALL R9 2 + 0x7001FFF3, // 001A JMP #000F + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load_param +********************************************************************/ +be_local_closure(class_Matter_Device_load_param, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(load_param), + &be_const_str_solidified, + ( &(const binstruction[136]) { /* code */ + 0xA406AE00, // 0000 IMPORT R1 K87 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0xA8020056, // 0002 EXBLK 0 #005A + 0x600C0011, // 0003 GETGBL R3 G17 + 0x88100131, // 0004 GETMBR R4 R0 K49 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C1007B1, // 0006 GETMET R4 R3 K177 + 0x7C100200, // 0007 CALL R4 1 + 0x8C140734, // 0008 GETMET R5 R3 K52 + 0x7C140200, // 0009 CALL R5 1 + 0xA4163E00, // 000A IMPORT R5 K31 + 0x8C180BB2, // 000B GETMET R6 R5 K178 + 0x5C200800, // 000C MOVE R8 R4 + 0x7C180400, // 000D CALL R6 2 + 0x8C1C0D1D, // 000E GETMET R7 R6 K29 + 0x582400B3, // 000F LDCONST R9 K179 + 0x88280122, // 0010 GETMBR R10 R0 K34 + 0x7C1C0600, // 0011 CALL R7 3 + 0x90024407, // 0012 SETMBR R0 K34 R7 + 0x8C1C0D1D, // 0013 GETMET R7 R6 K29 + 0x582400B4, // 0014 LDCONST R9 K180 + 0x88280123, // 0015 GETMBR R10 R0 K35 + 0x7C1C0600, // 0016 CALL R7 3 + 0x90024607, // 0017 SETMBR R0 K35 R7 + 0x601C0017, // 0018 GETGBL R7 G23 + 0x8C200D1D, // 0019 GETMET R8 R6 K29 + 0x58280024, // 001A LDCONST R10 K36 + 0x502C0000, // 001B LDBOOL R11 0 0 + 0x7C200600, // 001C CALL R8 3 + 0x7C1C0200, // 001D CALL R7 1 + 0x90024807, // 001E SETMBR R0 K36 R7 + 0x601C0017, // 001F GETGBL R7 G23 + 0x8C200D1D, // 0020 GETMET R8 R6 K29 + 0x58280027, // 0021 LDCONST R10 K39 + 0x502C0000, // 0022 LDBOOL R11 0 0 + 0x7C200600, // 0023 CALL R8 3 + 0x7C1C0200, // 0024 CALL R7 1 + 0x90024E07, // 0025 SETMBR R0 K39 R7 + 0x8C1C0D1D, // 0026 GETMET R7 R6 K29 + 0x582400B5, // 0027 LDCONST R9 K181 + 0x88280128, // 0028 GETMBR R10 R0 K40 + 0x7C1C0600, // 0029 CALL R7 3 + 0x90025007, // 002A SETMBR R0 K40 R7 + 0x8C1C0D1D, // 002B GETMET R7 R6 K29 + 0x582400B6, // 002C LDCONST R9 K182 + 0x60280013, // 002D GETGBL R10 G19 + 0x7C280000, // 002E CALL R10 0 + 0x7C1C0600, // 002F CALL R7 3 + 0x90025C07, // 0030 SETMBR R0 K46 R7 + 0x601C0017, // 0031 GETGBL R7 G23 + 0x8C200D1D, // 0032 GETMET R8 R6 K29 + 0x58280029, // 0033 LDCONST R10 K41 + 0x7C200400, // 0034 CALL R8 2 + 0x7C1C0200, // 0035 CALL R7 1 + 0x90025207, // 0036 SETMBR R0 K41 R7 + 0x881C012E, // 0037 GETMBR R7 R0 K46 + 0x4C200000, // 0038 LDNIL R8 + 0x201C0E08, // 0039 NE R7 R7 R8 + 0x781E000D, // 003A JMPF R7 #0049 + 0xB81E6A00, // 003B GETNGBL R7 K53 + 0x60200018, // 003C GETGBL R8 G24 + 0x582400B7, // 003D LDCONST R9 K183 + 0x8828012E, // 003E GETMBR R10 R0 K46 + 0x7C200400, // 003F CALL R8 2 + 0x58240046, // 0040 LDCONST R9 K70 + 0x7C1C0400, // 0041 CALL R7 2 + 0x8C1C0144, // 0042 GETMET R7 R0 K68 + 0x7C1C0200, // 0043 CALL R7 1 + 0x8C1C01B8, // 0044 GETMET R7 R0 K184 + 0x7C1C0200, // 0045 CALL R7 1 + 0x5C080E00, // 0046 MOVE R2 R7 + 0x501C0200, // 0047 LDBOOL R7 1 0 + 0x90025607, // 0048 SETMBR R0 K43 R7 + 0x8C1C0D1D, // 0049 GETMET R7 R6 K29 + 0x582400B9, // 004A LDCONST R9 K185 + 0x60280013, // 004B GETGBL R10 G19 + 0x7C280000, // 004C CALL R10 0 + 0x7C1C0600, // 004D CALL R7 3 + 0x90023C07, // 004E SETMBR R0 K30 R7 + 0x881C011E, // 004F GETMBR R7 R0 K30 + 0x781E0006, // 0050 JMPF R7 #0058 + 0xB81E6A00, // 0051 GETNGBL R7 K53 + 0x60200008, // 0052 GETGBL R8 G8 + 0x8824011E, // 0053 GETMBR R9 R0 K30 + 0x7C200200, // 0054 CALL R8 1 + 0x00237408, // 0055 ADD R8 K186 R8 + 0x58240046, // 0056 LDCONST R9 K70 + 0x7C1C0400, // 0057 CALL R7 2 + 0xA8040001, // 0058 EXBLK 1 1 + 0x70020011, // 0059 JMP #006C + 0xAC0C0002, // 005A CATCH R3 0 2 + 0x7002000E, // 005B JMP #006B + 0x201407BB, // 005C NE R5 R3 K187 + 0x7816000B, // 005D JMPF R5 #006A + 0xB8166A00, // 005E GETNGBL R5 K53 + 0x60180008, // 005F GETGBL R6 G8 + 0x5C1C0600, // 0060 MOVE R7 R3 + 0x7C180200, // 0061 CALL R6 1 + 0x001B7806, // 0062 ADD R6 K188 R6 + 0x00180D3A, // 0063 ADD R6 R6 K58 + 0x601C0008, // 0064 GETGBL R7 G8 + 0x5C200800, // 0065 MOVE R8 R4 + 0x7C1C0200, // 0066 CALL R7 1 + 0x00180C07, // 0067 ADD R6 R6 R7 + 0x581C0038, // 0068 LDCONST R7 K56 + 0x7C140400, // 0069 CALL R5 2 + 0x70020000, // 006A JMP #006C + 0xB0080000, // 006B RAISE 2 R0 R0 + 0x880C0122, // 006C GETMBR R3 R0 K34 + 0x4C100000, // 006D LDNIL R4 + 0x1C0C0604, // 006E EQ R3 R3 R4 + 0x780E000A, // 006F JMPF R3 #007B + 0x8C0C03BD, // 0070 GETMET R3 R1 K189 + 0x58140038, // 0071 LDCONST R5 K56 + 0x7C0C0400, // 0072 CALL R3 2 + 0x8C0C0752, // 0073 GETMET R3 R3 K82 + 0x58140009, // 0074 LDCONST R5 K9 + 0x58180038, // 0075 LDCONST R6 K56 + 0x7C0C0600, // 0076 CALL R3 3 + 0x54120FFE, // 0077 LDINT R4 4095 + 0x2C0C0604, // 0078 AND R3 R3 R4 + 0x90024403, // 0079 SETMBR R0 K34 R3 + 0x50080200, // 007A LDBOOL R2 1 0 + 0x880C0123, // 007B GETMBR R3 R0 K35 + 0x4C100000, // 007C LDNIL R4 + 0x1C0C0604, // 007D EQ R3 R3 R4 + 0x780E0004, // 007E JMPF R3 #0084 + 0x880C0161, // 007F GETMBR R3 R0 K97 + 0x8C0C07BE, // 0080 GETMET R3 R3 K190 + 0x7C0C0200, // 0081 CALL R3 1 + 0x90024603, // 0082 SETMBR R0 K35 R3 + 0x50080200, // 0083 LDBOOL R2 1 0 + 0x780A0001, // 0084 JMPF R2 #0087 + 0x8C0C0140, // 0085 GETMET R3 R0 K64 + 0x7C0C0200, // 0086 CALL R3 1 + 0x80000000, // 0087 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _trigger_read_sensors +********************************************************************/ +be_local_closure(class_Matter_Device__trigger_read_sensors, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(_trigger_read_sensors), + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0xA4063E00, // 0000 IMPORT R1 K31 + 0xB80A2000, // 0001 GETNGBL R2 K16 + 0x8C0805BF, // 0002 GETMET R2 R2 K191 + 0x7C080200, // 0003 CALL R2 1 + 0xB80E2000, // 0004 GETNGBL R3 K16 + 0x8C0C07C0, // 0005 GETMET R3 R3 K192 + 0x58140046, // 0006 LDCONST R5 K70 + 0x7C0C0400, // 0007 CALL R3 2 + 0x780E0006, // 0008 JMPF R3 #0010 + 0xB80E6A00, // 0009 GETNGBL R3 K53 + 0x60100008, // 000A GETGBL R4 G8 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C100200, // 000C CALL R4 1 + 0x00138204, // 000D ADD R4 K193 R4 + 0x58140046, // 000E LDCONST R5 K70 + 0x7C0C0400, // 000F CALL R3 2 + 0x4C0C0000, // 0010 LDNIL R3 + 0x1C0C0403, // 0011 EQ R3 R2 R3 + 0x780E0000, // 0012 JMPF R3 #0014 + 0x80000600, // 0013 RET 0 + 0x8C0C03B2, // 0014 GETMET R3 R1 K178 + 0x5C140400, // 0015 MOVE R5 R2 + 0x7C0C0400, // 0016 CALL R3 2 + 0x4C100000, // 0017 LDNIL R4 + 0x20100604, // 0018 NE R4 R3 R4 + 0x7812000D, // 0019 JMPF R4 #0028 + 0x58100009, // 001A LDCONST R4 K9 + 0x6014000C, // 001B GETGBL R5 G12 + 0x8818010B, // 001C GETMBR R6 R0 K11 + 0x7C140200, // 001D CALL R5 1 + 0x14140805, // 001E LT R5 R4 R5 + 0x78160006, // 001F JMPF R5 #0027 + 0x8814010B, // 0020 GETMBR R5 R0 K11 + 0x94140A04, // 0021 GETIDX R5 R5 R4 + 0x8C140BC2, // 0022 GETMET R5 R5 K194 + 0x5C1C0600, // 0023 MOVE R7 R3 + 0x7C140400, // 0024 CALL R5 2 + 0x00100908, // 0025 ADD R4 R4 K8 + 0x7001FFF3, // 0026 JMP #001B + 0x70020006, // 0027 JMP #002F + 0xB8126A00, // 0028 GETNGBL R4 K53 + 0x60140008, // 0029 GETGBL R5 G8 + 0x5C180400, // 002A MOVE R6 R2 + 0x7C140200, // 002B CALL R5 1 + 0x00178605, // 002C ADD R5 K195 R5 + 0x58180046, // 002D LDCONST R6 K70 + 0x7C100400, // 002E CALL R4 2 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: received_ack +********************************************************************/ +be_local_closure(class_Matter_Device_received_ack, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(received_ack), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C0805C4, // 0001 GETMET R2 R2 K196 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: check_config_ep +********************************************************************/ +be_local_closure(class_Matter_Device_check_config_ep, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(check_config_ep), + &be_const_str_solidified, + ( &(const binstruction[77]) { /* code */ + 0x50040000, // 0000 LDBOOL R1 0 0 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x600C0010, // 0003 GETGBL R3 G16 + 0x8810012E, // 0004 GETMBR R4 R0 K46 + 0x8C100905, // 0005 GETMET R4 R4 K5 + 0x7C100200, // 0006 CALL R4 1 + 0x7C0C0200, // 0007 CALL R3 1 + 0xA8020007, // 0008 EXBLK 0 #0011 + 0x5C100600, // 0009 MOVE R4 R3 + 0x7C100000, // 000A CALL R4 0 + 0x8C140506, // 000B GETMET R5 R2 K6 + 0x601C0009, // 000C GETGBL R7 G9 + 0x5C200800, // 000D MOVE R8 R4 + 0x7C1C0200, // 000E CALL R7 1 + 0x7C140400, // 000F CALL R5 2 + 0x7001FFF7, // 0010 JMP #0009 + 0x580C0007, // 0011 LDCONST R3 K7 + 0xAC0C0200, // 0012 CATCH R3 1 0 + 0xB0080000, // 0013 RAISE 2 R0 R0 + 0x600C0010, // 0014 GETGBL R3 G16 + 0x5C100400, // 0015 MOVE R4 R2 + 0x7C0C0200, // 0016 CALL R3 1 + 0xA8020030, // 0017 EXBLK 0 #0049 + 0x5C100600, // 0018 MOVE R4 R3 + 0x7C100000, // 0019 CALL R4 0 + 0x1C140909, // 001A EQ R5 R4 K9 + 0x7816000B, // 001B JMPF R5 #0028 + 0xB8166A00, // 001C GETNGBL R5 K53 + 0x581800C5, // 001D LDCONST R6 K197 + 0x581C0038, // 001E LDCONST R7 K56 + 0x7C140400, // 001F CALL R5 2 + 0x8814012E, // 0020 GETMBR R5 R0 K46 + 0x8C140B3D, // 0021 GETMET R5 R5 K61 + 0x601C0008, // 0022 GETGBL R7 G8 + 0x5C200800, // 0023 MOVE R8 R4 + 0x7C1C0200, // 0024 CALL R7 1 + 0x7C140400, // 0025 CALL R5 2 + 0x50040200, // 0026 LDBOOL R1 1 0 + 0x7002001F, // 0027 JMP #0048 + 0xB8162800, // 0028 GETNGBL R5 K20 + 0x88140B96, // 0029 GETMBR R5 R5 K150 + 0x1C140805, // 002A EQ R5 R4 R5 + 0x7816001B, // 002B JMPF R5 #0048 + 0x50040200, // 002C LDBOOL R1 1 0 + 0xB8166A00, // 002D GETNGBL R5 K53 + 0x60180018, // 002E GETGBL R6 G24 + 0x581C00C6, // 002F LDCONST R7 K198 + 0x5C200800, // 0030 MOVE R8 R4 + 0x88240128, // 0031 GETMBR R9 R0 K40 + 0x7C180600, // 0032 CALL R6 3 + 0x581C0038, // 0033 LDCONST R7 K56 + 0x7C140400, // 0034 CALL R5 2 + 0x60140008, // 0035 GETGBL R5 G8 + 0x88180128, // 0036 GETMBR R6 R0 K40 + 0x7C140200, // 0037 CALL R5 1 + 0x8818012E, // 0038 GETMBR R6 R0 K46 + 0x601C0008, // 0039 GETGBL R7 G8 + 0x5C200800, // 003A MOVE R8 R4 + 0x7C1C0200, // 003B CALL R7 1 + 0x8820012E, // 003C GETMBR R8 R0 K46 + 0x941C1007, // 003D GETIDX R7 R8 R7 + 0x98180A07, // 003E SETIDX R6 R5 R7 + 0x8814012E, // 003F GETMBR R5 R0 K46 + 0x8C140B3D, // 0040 GETMET R5 R5 K61 + 0x601C0008, // 0041 GETGBL R7 G8 + 0x5C200800, // 0042 MOVE R8 R4 + 0x7C1C0200, // 0043 CALL R7 1 + 0x7C140400, // 0044 CALL R5 2 + 0x88140128, // 0045 GETMBR R5 R0 K40 + 0x00140B08, // 0046 ADD R5 R5 K8 + 0x90025005, // 0047 SETMBR R0 K40 R5 + 0x7001FFCE, // 0048 JMP #0018 + 0x580C0007, // 0049 LDCONST R3 K7 + 0xAC0C0200, // 004A CATCH R3 1 0 + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80040200, // 004C RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: button_multi_pressed +********************************************************************/ +be_local_closure(class_Matter_Device_button_multi_pressed, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(button_multi_pressed), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x540E0007, // 0000 LDINT R3 8 + 0x3C0C0403, // 0001 SHR R3 R2 R3 + 0x541200FE, // 0002 LDINT R4 255 + 0x2C0C0604, // 0003 AND R3 R3 R4 + 0x541200FE, // 0004 LDINT R4 255 + 0x2C100404, // 0005 AND R4 R2 R4 + 0x8C14016E, // 0006 GETMET R5 R0 K110 + 0x001C0908, // 0007 ADD R7 R4 K8 + 0x58200038, // 0008 LDCONST R8 K56 + 0x58240009, // 0009 LDCONST R9 K9 + 0x5C280600, // 000A MOVE R10 R3 + 0x7C140A00, // 000B CALL R5 5 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: bridge_remove_endpoint +********************************************************************/ +be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(bridge_remove_endpoint), + &be_const_str_solidified, + ( &(const binstruction[56]) { /* code */ + 0xA40A3E00, // 0000 IMPORT R2 K31 + 0x600C0008, // 0001 GETGBL R3 G8 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x4C100000, // 0004 LDNIL R4 + 0x4C140000, // 0005 LDNIL R5 + 0x8818012E, // 0006 GETMBR R6 R0 K46 + 0x8C180D92, // 0007 GETMET R6 R6 K146 + 0x5C200600, // 0008 MOVE R8 R3 + 0x7C180400, // 0009 CALL R6 2 + 0x741A0004, // 000A JMPT R6 #0010 + 0xB81A6A00, // 000B GETNGBL R6 K53 + 0x001F8E03, // 000C ADD R7 K199 R3 + 0x58200046, // 000D LDCONST R8 K70 + 0x7C180400, // 000E CALL R6 2 + 0x80000C00, // 000F RET 0 + 0xB81A6A00, // 0010 GETNGBL R6 K53 + 0x601C0018, // 0011 GETGBL R7 G24 + 0x582000C8, // 0012 LDCONST R8 K200 + 0x5C240200, // 0013 MOVE R9 R1 + 0x7C1C0400, // 0014 CALL R7 2 + 0x58200038, // 0015 LDCONST R8 K56 + 0x7C180400, // 0016 CALL R6 2 + 0x8818012E, // 0017 GETMBR R6 R0 K46 + 0x8C180D3D, // 0018 GETMET R6 R6 K61 + 0x5C200600, // 0019 MOVE R8 R3 + 0x7C180400, // 001A CALL R6 2 + 0x50180200, // 001B LDBOOL R6 1 0 + 0x90025606, // 001C SETMBR R0 K43 R6 + 0x58180009, // 001D LDCONST R6 K9 + 0x601C000C, // 001E GETGBL R7 G12 + 0x8820010B, // 001F GETMBR R8 R0 K11 + 0x7C1C0200, // 0020 CALL R7 1 + 0x141C0C07, // 0021 LT R7 R6 R7 + 0x781E000D, // 0022 JMPF R7 #0031 + 0x881C010B, // 0023 GETMBR R7 R0 K11 + 0x941C0E06, // 0024 GETIDX R7 R7 R6 + 0x8C1C0F1C, // 0025 GETMET R7 R7 K28 + 0x7C1C0200, // 0026 CALL R7 1 + 0x1C1C0207, // 0027 EQ R7 R1 R7 + 0x781E0005, // 0028 JMPF R7 #002F + 0x881C010B, // 0029 GETMBR R7 R0 K11 + 0x8C1C0F3D, // 002A GETMET R7 R7 K61 + 0x5C240C00, // 002B MOVE R9 R6 + 0x7C1C0400, // 002C CALL R7 2 + 0x70020002, // 002D JMP #0031 + 0x70020000, // 002E JMP #0030 + 0x00180D08, // 002F ADD R6 R6 K8 + 0x7001FFEC, // 0030 JMP #001E + 0x8C1C01C9, // 0031 GETMET R7 R0 K201 + 0x7C1C0200, // 0032 CALL R7 1 + 0x8C1C0140, // 0033 GETMET R7 R0 K64 + 0x7C1C0200, // 0034 CALL R7 1 + 0x8C1C0191, // 0035 GETMET R7 R0 K145 + 0x7C1C0200, // 0036 CALL R7 1 + 0x80000000, // 0037 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_plugin_by_endpoint +********************************************************************/ +be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(find_plugin_by_endpoint), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x58080009, // 0000 LDCONST R2 K9 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x8810010B, // 0002 GETMBR R4 R0 K11 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0008, // 0005 JMPF R3 #000F + 0x880C010B, // 0006 GETMBR R3 R0 K11 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x8C10071C, // 0008 GETMET R4 R3 K28 + 0x7C100200, // 0009 CALL R4 1 + 0x1C100801, // 000A EQ R4 R4 R1 + 0x78120000, // 000B JMPF R4 #000D + 0x80040600, // 000C RET 1 R3 + 0x00080508, // 000D ADD R2 R2 K8 + 0x7001FFF1, // 000E JMP #0001 + 0x4C0C0000, // 000F LDNIL R3 + 0x80040600, // 0010 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_commands +********************************************************************/ +be_local_closure(class_Matter_Device_register_commands, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 3]) { + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(MtrJoin), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x68100000, // 0000 GETUPV R4 U0 + 0x8C100900, // 0001 GETMET R4 R4 K0 + 0x5C180000, // 0002 MOVE R6 R0 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80040800, // 0007 RET 1 R4 + }) + ), + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(MtrUpdate), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x68100000, // 0000 GETUPV R4 U0 + 0x8C100900, // 0001 GETMET R4 R4 K0 + 0x5C180000, // 0002 MOVE R6 R0 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80040800, // 0007 RET 1 R4 + }) + ), + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(MtrInfo), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x68100000, // 0000 GETUPV R4 U0 + 0x8C100900, // 0001 GETMET R4 R4 K0 + 0x5C180000, // 0002 MOVE R6 R0 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80040800, // 0007 RET 1 R4 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(register_commands), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xB8062000, // 0000 GETNGBL R1 K16 + 0x8C0403CA, // 0001 GETMET R1 R1 K202 + 0x580C00CB, // 0002 LDCONST R3 K203 + 0x84100000, // 0003 CLOSURE R4 P0 + 0x7C040600, // 0004 CALL R1 3 + 0xB8062000, // 0005 GETNGBL R1 K16 + 0x8C0403CA, // 0006 GETMET R1 R1 K202 + 0x580C00CC, // 0007 LDCONST R3 K204 + 0x84100001, // 0008 CLOSURE R4 P1 + 0x7C040600, // 0009 CALL R1 3 + 0xB8062000, // 000A GETNGBL R1 K16 + 0x8C0403CA, // 000B GETMET R1 R1 K202 + 0x580C00CD, // 000C LDCONST R3 K205 + 0x84100002, // 000D CLOSURE R4 P2 + 0x7C040600, // 000E CALL R1 3 + 0xA0000000, // 000F CLOSE R0 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: save_before_restart +********************************************************************/ +be_local_closure(class_Matter_Device_save_before_restart, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(save_before_restart), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040161, // 0000 GETMBR R1 R0 K97 + 0x8C0403CE, // 0001 GETMET R1 R1 K206 + 0x7C040200, // 0002 CALL R1 1 + 0x88040161, // 0003 GETMBR R1 R0 K97 + 0x8C0403CF, // 0004 GETMET R1 R1 K207 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: MtrJoin +********************************************************************/ +be_local_closure(class_Matter_Device_MtrJoin, /* name */ + be_nested_proto( + 8, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(MtrJoin), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x60140009, // 0000 GETGBL R5 G9 + 0x5C180600, // 0001 MOVE R6 R3 + 0x7C140200, // 0002 CALL R5 1 + 0x78160003, // 0003 JMPF R5 #0008 + 0x88180161, // 0004 GETMBR R6 R0 K97 + 0x8C180DD0, // 0005 GETMET R6 R6 K208 + 0x7C180200, // 0006 CALL R6 1 + 0x70020002, // 0007 JMP #000B + 0x88180161, // 0008 GETMBR R6 R0 K97 + 0x8C180DCE, // 0009 GETMET R6 R6 K206 + 0x7C180200, // 000A CALL R6 1 + 0xB81A2000, // 000B GETNGBL R6 K16 + 0x8C180D11, // 000C GETMET R6 R6 K17 + 0x7C180200, // 000D CALL R6 1 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: k2l +********************************************************************/ +be_local_closure(class_Matter_Device_k2l, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(k2l), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0x58040004, // 0000 LDCONST R1 K4 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0003, // 0004 EQ R3 R0 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x80040400, // 0006 RET 1 R2 + 0x600C0010, // 0007 GETGBL R3 G16 + 0x8C100105, // 0008 GETMET R4 R0 K5 + 0x7C100200, // 0009 CALL R4 1 + 0x7C0C0200, // 000A CALL R3 1 + 0xA8020005, // 000B EXBLK 0 #0012 + 0x5C100600, // 000C MOVE R4 R3 + 0x7C100000, // 000D CALL R4 0 + 0x8C140506, // 000E GETMET R5 R2 K6 + 0x5C1C0800, // 000F MOVE R7 R4 + 0x7C140400, // 0010 CALL R5 2 + 0x7001FFF9, // 0011 JMP #000C + 0x580C0007, // 0012 LDCONST R3 K7 + 0xAC0C0200, // 0013 CATCH R3 1 0 + 0xB0080000, // 0014 RAISE 2 R0 R0 + 0x600C0010, // 0015 GETGBL R3 G16 + 0x6010000C, // 0016 GETGBL R4 G12 + 0x5C140400, // 0017 MOVE R5 R2 + 0x7C100200, // 0018 CALL R4 1 + 0x04100908, // 0019 SUB R4 R4 K8 + 0x40121004, // 001A CONNECT R4 K8 R4 + 0x7C0C0200, // 001B CALL R3 1 + 0xA8020010, // 001C EXBLK 0 #002E + 0x5C100600, // 001D MOVE R4 R3 + 0x7C100000, // 001E CALL R4 0 + 0x94140404, // 001F GETIDX R5 R2 R4 + 0x5C180800, // 0020 MOVE R6 R4 + 0x241C0D09, // 0021 GT R7 R6 K9 + 0x781E0008, // 0022 JMPF R7 #002C + 0x041C0D08, // 0023 SUB R7 R6 K8 + 0x941C0407, // 0024 GETIDX R7 R2 R7 + 0x241C0E05, // 0025 GT R7 R7 R5 + 0x781E0004, // 0026 JMPF R7 #002C + 0x041C0D08, // 0027 SUB R7 R6 K8 + 0x941C0407, // 0028 GETIDX R7 R2 R7 + 0x98080C07, // 0029 SETIDX R2 R6 R7 + 0x04180D08, // 002A SUB R6 R6 K8 + 0x7001FFF4, // 002B JMP #0021 + 0x98080C05, // 002C SETIDX R2 R6 R5 + 0x7001FFEE, // 002D JMP #001D + 0x580C0007, // 002E LDCONST R3 K7 + 0xAC0C0200, // 002F CATCH R3 1 0 + 0xB0080000, // 0030 RAISE 2 R0 R0 + 0x80040400, // 0031 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: MtrInfo_one +********************************************************************/ +be_local_closure(class_Matter_Device_MtrInfo_one, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(MtrInfo_one), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x8C080149, // 0000 GETMET R2 R0 K73 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0403, // 0004 EQ R3 R2 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x80000600, // 0006 RET 0 + 0x8C0C0581, // 0007 GETMET R3 R2 K129 + 0x7C0C0200, // 0008 CALL R3 1 + 0x780E0008, // 0009 JMPF R3 #0013 + 0x60100018, // 000A GETGBL R4 G24 + 0x581400D1, // 000B LDCONST R5 K209 + 0x5C180600, // 000C MOVE R6 R3 + 0x7C100400, // 000D CALL R4 2 + 0xB8162000, // 000E GETNGBL R5 K16 + 0x8C140BD2, // 000F GETMET R5 R5 K210 + 0x5C1C0800, // 0010 MOVE R7 R4 + 0x5820000A, // 0011 LDCONST R8 K10 + 0x7C140600, // 0012 CALL R5 3 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_zb_mapper +********************************************************************/ +be_local_closure(class_Matter_Device_create_zb_mapper, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(create_zb_mapper), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88080169, // 0000 GETMBR R2 R0 K105 + 0x780A0004, // 0001 JMPF R2 #0007 + 0x88080169, // 0002 GETMBR R2 R0 K105 + 0x8C0805D3, // 0003 GETMET R2 R2 K211 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x80040400, // 0006 RET 1 R2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_Matter_Device_start, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8804015E, // 0000 GETMBR R1 R0 K94 + 0x78060000, // 0001 JMPF R1 #0003 + 0x80000200, // 0002 RET 0 + 0x8C0401D4, // 0003 GETMET R1 R0 K212 + 0x7C040200, // 0004 CALL R1 1 + 0x8C0401D5, // 0005 GETMET R1 R0 K213 + 0x880C01D6, // 0006 GETMBR R3 R0 K214 + 0x7C040400, // 0007 CALL R1 2 + 0x88040161, // 0008 GETMBR R1 R0 K97 + 0x8C0403D7, // 0009 GETMET R1 R1 K215 + 0x7C040200, // 000A CALL R1 1 + 0x50040200, // 000B LDBOOL R1 1 0 + 0x9002BC01, // 000C SETMBR R0 K94 R1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Device +********************************************************************/ +be_local_class(Matter_Device, + 24, + NULL, + be_nested_map(84, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(commissioning, -1), be_const_var(8) }, + { be_const_key_weak(msg_send, -1), be_const_closure(class_Matter_Device_msg_send_closure) }, + { be_const_key_weak(plugins_config, -1), be_const_var(3) }, + { be_const_key_weak(k2l_num, 73), be_const_static_closure(class_Matter_Device_k2l_num_closure) }, + { be_const_key_weak(plugins_persist, 7), be_const_var(2) }, + { be_const_key_weak(EP, -1), be_const_int(2) }, + { be_const_key_weak(MtrInfo, -1), be_const_closure(class_Matter_Device_MtrInfo_closure) }, + { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_Device_msg_received_closure) }, + { be_const_key_weak(every_250ms, 77), be_const_closure(class_Matter_Device_every_250ms_closure) }, + { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) }, + { be_const_key_weak(init_zigbee, 12), be_const_closure(class_Matter_Device_init_zigbee_closure) }, + { be_const_key_weak(get_active_endpoints, -1), be_const_closure(class_Matter_Device_get_active_endpoints_closure) }, + { be_const_key_weak(MtrJoin, 56), be_const_closure(class_Matter_Device_MtrJoin_closure) }, + { be_const_key_weak(plugins_config_remotes, -1), be_const_var(4) }, + { be_const_key_weak(save_param, 37), be_const_closure(class_Matter_Device_save_param_closure) }, + { be_const_key_weak(register_commands, -1), be_const_closure(class_Matter_Device_register_commands_closure) }, + { be_const_key_weak(debug, 48), be_const_var(21) }, + { be_const_key_weak(stop, 68), be_const_closure(class_Matter_Device_stop_closure) }, + { be_const_key_weak(udp_server, 33), be_const_var(5) }, + { be_const_key_weak(find_plugin_by_endpoint, 66), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) }, + { be_const_key_weak(events, -1), be_const_var(14) }, + { be_const_key_weak(bridge_remove_endpoint, -1), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) }, + { be_const_key_weak(event_fabrics_saved, -1), be_const_closure(class_Matter_Device_event_fabrics_saved_closure) }, + { be_const_key_weak(autoconf_device, -1), be_const_closure(class_Matter_Device_autoconf_device_closure) }, + { be_const_key_weak(check_network, -1), be_const_closure(class_Matter_Device_check_network_closure) }, + { be_const_key_weak(VENDOR_ID, -1), be_const_int(65521) }, + { be_const_key_weak(root_passcode, -1), be_const_var(17) }, + { be_const_key_weak(zigbee, -1), be_const_var(11) }, + { be_const_key_weak(sessions, -1), be_const_var(10) }, + { be_const_key_weak(resolve_attribute_read_solo, -1), be_const_closure(class_Matter_Device_resolve_attribute_read_solo_closure) }, + { be_const_key_weak(clean_remotes, 24), be_const_closure(class_Matter_Device_clean_remotes_closure) }, + { be_const_key_weak(get_plugin_remote_info, 79), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) }, + { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) }, + { be_const_key_weak(check_config_ep, 13), be_const_closure(class_Matter_Device_check_config_ep_closure) }, + { be_const_key_weak(root_discriminator, -1), be_const_var(16) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Device_invoke_request_closure) }, + { be_const_key_weak(probe_sensor_time, -1), be_const_var(22) }, + { be_const_key_weak(button_handler, -1), be_const_closure(class_Matter_Device_button_handler_closure) }, + { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) }, + { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) }, + { be_const_key_weak(find_plugin_by_friendly_name, -1), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) }, + { be_const_key_weak(disable_bridge_mode, -1), be_const_var(19) }, + { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) }, + { be_const_key_weak(MtrUpdate, 15), be_const_closure(class_Matter_Device_MtrUpdate_closure) }, + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_Device_every_50ms_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Device_every_second_closure) }, + { be_const_key_weak(process_attribute_expansion, -1), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) }, + { be_const_key_weak(add_read_sensors_schedule, -1), be_const_closure(class_Matter_Device_add_read_sensors_schedule_closure) }, + { be_const_key_weak(profiler, 49), be_const_var(6) }, + { be_const_key_weak(register_http_remote, 5), be_const_closure(class_Matter_Device_register_http_remote_closure) }, + { be_const_key_weak(sort_distinct, 38), be_const_static_closure(class_Matter_Device_sort_distinct_closure) }, + { be_const_key_weak(signal_endpoints_changed, 57), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) }, + { be_const_key_weak(is_zigbee_present, 65), be_const_closure(class_Matter_Device_is_zigbee_present_closure) }, + { be_const_key_weak(plugins_classes, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(60, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(gensw_btn, -1), be_const_class(be_class_Matter_Plugin_Sensor_GenericSwitch_Btn) }, + { be_const_key_weak(pressure, -1), be_const_class(be_class_Matter_Plugin_Sensor_Pressure) }, + { be_const_key_weak(z_light0, 40), be_const_class(be_class_Matter_Plugin_Zigbee_Light0) }, + { be_const_key_weak(v_rain, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Rain) }, + { be_const_key_weak(http_temperature, 13), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Temp) }, + { be_const_key_weak(http_pressure, 25), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Pressure) }, + { be_const_key_weak(v_light2, -1), be_const_class(be_class_Matter_Plugin_Virt_Light2) }, + { be_const_key_weak(v_fan, -1), be_const_class(be_class_Matter_Plugin_Virt_Fan) }, + { be_const_key_weak(v_temp, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Temp) }, + { be_const_key_weak(light1, -1), be_const_class(be_class_Matter_Plugin_Light1) }, + { be_const_key_weak(v_flow, 1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Flow) }, + { be_const_key_weak(v_occupancy, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Occupancy) }, + { be_const_key_weak(shutter_X2Btilt, -1), be_const_class(be_class_Matter_Plugin_ShutterTilt) }, + { be_const_key_weak(z_temp, -1), be_const_class(be_class_Matter_Plugin_Zigbee_Temperature) }, + { be_const_key_weak(fan, -1), be_const_class(be_class_Matter_Plugin_Fan) }, + { be_const_key_weak(z_humidity, 16), be_const_class(be_class_Matter_Plugin_Zigbee_Humidity) }, + { be_const_key_weak(v_airquality, 33), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Air_Quality) }, + { be_const_key_weak(light0, 54), be_const_class(be_class_Matter_Plugin_Light0) }, + { be_const_key_weak(http_contact, 9), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Contact) }, + { be_const_key_weak(http_airquality, 39), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Air_Quality) }, + { be_const_key_weak(light3, 45), be_const_class(be_class_Matter_Plugin_Light3) }, + { be_const_key_weak(v_waterleak, 44), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Waterleak) }, + { be_const_key_weak(occupancy, -1), be_const_class(be_class_Matter_Plugin_Sensor_Occupancy) }, + { be_const_key_weak(v_light1, -1), be_const_class(be_class_Matter_Plugin_Virt_Light1) }, + { be_const_key_weak(humidity, -1), be_const_class(be_class_Matter_Plugin_Sensor_Humidity) }, + { be_const_key_weak(flow, -1), be_const_class(be_class_Matter_Plugin_Sensor_Flow) }, + { be_const_key_weak(contact, -1), be_const_class(be_class_Matter_Plugin_Sensor_Contact) }, + { be_const_key_weak(waterleak, 34), be_const_class(be_class_Matter_Plugin_Sensor_Waterleak) }, + { be_const_key_weak(aggregator, -1), be_const_class(be_class_Matter_Plugin_Aggregator) }, + { be_const_key_weak(http_light1, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light1) }, + { be_const_key_weak(relay, 21), be_const_class(be_class_Matter_Plugin_OnOff) }, + { be_const_key_weak(http_light3, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light3) }, + { be_const_key_weak(http_light2, 3), be_const_class(be_class_Matter_Plugin_Bridge_Light2) }, + { be_const_key_weak(v_humidity, 36), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Humidity) }, + { be_const_key_weak(rain, -1), be_const_class(be_class_Matter_Plugin_Sensor_Rain) }, + { be_const_key_weak(http_illuminance, 26), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Illuminance) }, + { be_const_key_weak(http_occupancy, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Occupancy) }, + { be_const_key_weak(temperature, -1), be_const_class(be_class_Matter_Plugin_Sensor_Temp) }, + { be_const_key_weak(shutter, -1), be_const_class(be_class_Matter_Plugin_Shutter) }, + { be_const_key_weak(light2, -1), be_const_class(be_class_Matter_Plugin_Light2) }, + { be_const_key_weak(v_contact, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Contact) }, + { be_const_key_weak(z_pressure, -1), be_const_class(be_class_Matter_Plugin_Zigbee_Pressure) }, + { be_const_key_weak(http_flow, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Flow) }, + { be_const_key_weak(http_relay, -1), be_const_class(be_class_Matter_Plugin_Bridge_OnOff) }, + { be_const_key_weak(http_light0, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light0) }, + { be_const_key_weak(airquality, 12), be_const_class(be_class_Matter_Plugin_Sensor_Air_Quality) }, + { be_const_key_weak(http_waterleak, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Waterleak) }, + { be_const_key_weak(v_relay, 27), be_const_class(be_class_Matter_Plugin_Virt_OnOff) }, + { be_const_key_weak(z_occupancy, 59), be_const_class(be_class_Matter_Plugin_Zigbee_Occupancy) }, + { be_const_key_weak(z_light1, 23), be_const_class(be_class_Matter_Plugin_Zigbee_Light1) }, + { be_const_key_weak(v_light0, 2), be_const_class(be_class_Matter_Plugin_Virt_Light0) }, + { be_const_key_weak(v_illuminance, 48), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Illuminance) }, + { be_const_key_weak(z_light2, 6), be_const_class(be_class_Matter_Plugin_Zigbee_Light2) }, + { be_const_key_weak(root, 41), be_const_class(be_class_Matter_Plugin_Root) }, + { be_const_key_weak(onoff, -1), be_const_class(be_class_Matter_Plugin_Sensor_OnOff) }, + { be_const_key_weak(http_humidity, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Humidity) }, + { be_const_key_weak(http_rain, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Rain) }, + { be_const_key_weak(v_pressure, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Pressure) }, + { be_const_key_weak(illuminance, -1), be_const_class(be_class_Matter_Plugin_Sensor_Illuminance) }, + { be_const_key_weak(v_light3, -1), be_const_class(be_class_Matter_Plugin_Virt_Light3) }, + })) ) } )) }, + { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) }, + { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Device_remove_fabric_closure) }, + { be_const_key_weak(get_plugin_class_displayname, 2), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) }, + { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(class_Matter_Device_get_plugin_class_arg_closure) }, + { be_const_key_weak(started, 54), be_const_var(0) }, + { be_const_key_weak(ui, 62), be_const_var(12) }, + { be_const_key_weak(bridge_add_endpoint, 61), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) }, + { be_const_key_weak(PRODUCT_ID, -1), be_const_int(32768) }, + { be_const_key_weak(message_handler, -1), be_const_var(7) }, + { be_const_key_weak(read_sensors_scheduler, 42), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) }, + { be_const_key_weak(next_ep, 53), be_const_var(20) }, + { be_const_key_weak(autoconf, -1), be_const_var(9) }, + { be_const_key_weak(conf_to_log, -1), be_const_static_closure(class_Matter_Device_conf_to_log_closure) }, + { be_const_key_weak(attribute_updated, 46), be_const_closure(class_Matter_Device_attribute_updated_closure) }, + { be_const_key_weak(update_remotes_info, -1), be_const_closure(class_Matter_Device_update_remotes_info_closure) }, + { be_const_key_weak(http_remotes, 41), be_const_var(15) }, + { be_const_key_weak(reset_param, 39), be_const_closure(class_Matter_Device_reset_param_closure) }, + { be_const_key_weak(_trigger_read_sensors, -1), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) }, + { be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_Device_received_ack_closure) }, + { be_const_key_weak(plugins, -1), be_const_var(1) }, + { be_const_key_weak(button_multi_pressed, -1), be_const_closure(class_Matter_Device_button_multi_pressed_closure) }, + { be_const_key_weak(init, 21), be_const_closure(class_Matter_Device_init_closure) }, + { be_const_key_weak(ipv4only, 19), be_const_var(18) }, + { be_const_key_weak(button_pressed, -1), be_const_closure(class_Matter_Device_button_pressed_closure) }, + { be_const_key_weak(save_before_restart, -1), be_const_closure(class_Matter_Device_save_before_restart_closure) }, + { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(23) }, + { be_const_key_weak(tick, 9), be_const_var(13) }, + { be_const_key_weak(MtrInfo_one, -1), be_const_closure(class_Matter_Device_MtrInfo_one_closure) }, + { be_const_key_weak(create_zb_mapper, -1), be_const_closure(class_Matter_Device_create_zb_mapper_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_Matter_Device_start_closure) }, + })), + be_str_weak(Matter_Device) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zzz_TLV_test.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zzz_TLV_test.h new file mode 100644 index 000000000..50a506760 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_Matter_zzz_TLV_test.h @@ -0,0 +1,7 @@ +/* Solidification of Matter_zzz_TLV_test.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_matter.h b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_matter.h new file mode 100644 index 000000000..e0e4862f0 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/berry_matter/solidified_matter.h @@ -0,0 +1,7 @@ +/* Solidification of matter.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP192.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP192.h new file mode 100644 index 000000000..e00408263 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP192.h @@ -0,0 +1,923 @@ +/* Solidification of AXP192.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'AXP192' ktab size: 37, total: 82 (saved 360 bytes) +static const bvalue be_ktab_class_AXP192[37] = { + /* K0 */ be_const_int(1), + /* K1 */ be_nested_str(write_bit), + /* K2 */ be_const_int(0), + /* K3 */ be_const_int(2), + /* K4 */ be_const_int(3), + /* K5 */ be_nested_str(read24), + /* K6 */ be_const_real_hex(0x3A102DE0), + /* K7 */ be_nested_str(read12), + /* K8 */ be_const_real_hex(0x3A902DE0), + /* K9 */ be_const_real_hex(0x3EC00000), + /* K10 */ be_nested_str(wire), + /* K11 */ be_nested_str(read), + /* K12 */ be_nested_str(addr), + /* K13 */ be_const_real_hex(0x3AB78035), + /* K14 */ be_const_real_hex(0x3ADED28A), + /* K15 */ be_nested_str(write8), + /* K16 */ be_nested_str(read8), + /* K17 */ be_nested_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D), + /* K18 */ be_nested_str(get_vbus_voltage), + /* K19 */ be_nested_str(get_bat_voltage), + /* K20 */ be_nested_str(get_bat_current), + /* K21 */ be_nested_str(get_temp), + /* K22 */ be_nested_str(tasmota), + /* K23 */ be_nested_str(response_append), + /* K24 */ be_nested_str(I2C_Driver), + /* K25 */ be_nested_str(init), + /* K26 */ be_nested_str(AXP192), + /* K27 */ be_nested_str(read13), + /* K28 */ be_const_real_hex(0x3F000000), + /* K29 */ be_nested_str(_X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D), + /* K30 */ be_nested_str(_X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D), + /* K31 */ be_nested_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D), + /* K32 */ be_nested_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D), + /* K33 */ be_nested_str(_X7Bs_X7DAXP_X20Temperature_X7Bm_X7D_X25_X2E1f_X20_X26deg_X3BC_X7Be_X7D), + /* K34 */ be_nested_str(web_send_decimal), + /* K35 */ be_const_real_hex(0x3DCCCCCD), + /* K36 */ be_const_real_hex(0x4310B333), +}; + + +extern const bclass be_class_AXP192; + +/******************************************************************** +** Solidified function: set_dcdc_enable +********************************************************************/ +be_local_closure(class_AXP192_set_dcdc_enable, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_dcdc_enable, + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x1C0C0300, // 0000 EQ R3 R1 K0 + 0x780E0004, // 0001 JMPF R3 #0007 + 0x8C0C0101, // 0002 GETMET R3 R0 K1 + 0x54160011, // 0003 LDINT R5 18 + 0x58180002, // 0004 LDCONST R6 K2 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x7C0C0800, // 0006 CALL R3 4 + 0x1C0C0303, // 0007 EQ R3 R1 K3 + 0x780E0004, // 0008 JMPF R3 #000E + 0x8C0C0101, // 0009 GETMET R3 R0 K1 + 0x54160011, // 000A LDINT R5 18 + 0x541A0003, // 000B LDINT R6 4 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x7C0C0800, // 000D CALL R3 4 + 0x1C0C0304, // 000E EQ R3 R1 K4 + 0x780E0004, // 000F JMPF R3 #0015 + 0x8C0C0101, // 0010 GETMET R3 R0 K1 + 0x54160011, // 0011 LDINT R5 18 + 0x58180000, // 0012 LDCONST R6 K0 + 0x5C1C0400, // 0013 MOVE R7 R2 + 0x7C0C0800, // 0014 CALL R3 4 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_power +********************************************************************/ +be_local_closure(class_AXP192_get_bat_power, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_bat_power, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040105, // 0000 GETMET R1 R0 K5 + 0x540E006F, // 0001 LDINT R3 112 + 0x7C040400, // 0002 CALL R1 2 + 0x08040306, // 0003 MUL R1 R1 K6 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_voltage +********************************************************************/ +be_local_closure(class_AXP192_get_bat_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_bat_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E0077, // 0001 LDINT R3 120 + 0x7C040400, // 0002 CALL R1 2 + 0x08040308, // 0003 MUL R1 R1 K8 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_current +********************************************************************/ +be_local_closure(class_AXP192_get_vbus_current, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_vbus_current, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E005B, // 0001 LDINT R3 92 + 0x7C040400, // 0002 CALL R1 2 + 0x08040309, // 0003 MUL R1 R1 K9 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_warning_level +********************************************************************/ +be_local_closure(class_AXP192_get_warning_level, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_warning_level, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E0046, // 0001 LDINT R3 71 + 0x7C040400, // 0002 CALL R1 2 + 0x2C040300, // 0003 AND R1 R1 K0 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ldo_enable +********************************************************************/ +be_local_closure(class_AXP192_set_ldo_enable, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_ldo_enable, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x1C0C0303, // 0000 EQ R3 R1 K3 + 0x780E0004, // 0001 JMPF R3 #0007 + 0x8C0C0101, // 0002 GETMET R3 R0 K1 + 0x54160011, // 0003 LDINT R5 18 + 0x58180003, // 0004 LDCONST R6 K3 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x7C0C0800, // 0006 CALL R3 4 + 0x1C0C0304, // 0007 EQ R3 R1 K4 + 0x780E0004, // 0008 JMPF R3 #000E + 0x8C0C0101, // 0009 GETMET R3 R0 K1 + 0x54160011, // 000A LDINT R5 18 + 0x58180004, // 000B LDCONST R6 K4 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x7C0C0800, // 000D CALL R3 4 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_input_power_status +********************************************************************/ +be_local_closure(class_AXP192_get_input_power_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_input_power_status, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x8C04030B, // 0001 GETMET R1 R1 K11 + 0x880C010C, // 0002 GETMBR R3 R0 K12 + 0x58100002, // 0003 LDCONST R4 K2 + 0x58140000, // 0004 LDCONST R5 K0 + 0x7C040800, // 0005 CALL R1 4 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_aps_voltage +********************************************************************/ +be_local_closure(class_AXP192_get_aps_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_aps_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E007D, // 0001 LDINT R3 126 + 0x7C040400, // 0002 CALL R1 2 + 0x0804030D, // 0003 MUL R1 R1 K13 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_exten +********************************************************************/ +be_local_closure(class_AXP192_set_exten, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_exten, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C080101, // 0000 GETMET R2 R0 K1 + 0x54120011, // 0001 LDINT R4 18 + 0x54160005, // 0002 LDINT R5 6 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C080800, // 0004 CALL R2 4 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: battery_present +********************************************************************/ +be_local_closure(class_AXP192_battery_present, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_battery_present, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x8C04030B, // 0001 GETMET R1 R1 K11 + 0x880C010C, // 0002 GETMBR R3 R0 K12 + 0x58100000, // 0003 LDCONST R4 K0 + 0x58140000, // 0004 LDCONST R5 K0 + 0x7C040800, // 0005 CALL R1 4 + 0x540A001F, // 0006 LDINT R2 32 + 0x2C040202, // 0007 AND R1 R1 R2 + 0x78060002, // 0008 JMPF R1 #000C + 0x50040200, // 0009 LDBOOL R1 1 0 + 0x80040200, // 000A RET 1 R1 + 0x70020001, // 000B JMP #000E + 0x50040000, // 000C LDBOOL R1 0 0 + 0x80040200, // 000D RET 1 R1 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_voltage +********************************************************************/ +be_local_closure(class_AXP192_get_vbus_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_vbus_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E0059, // 0001 LDINT R3 90 + 0x7C040400, // 0002 CALL R1 2 + 0x0804030E, // 0003 MUL R1 R1 K14 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_gpio +********************************************************************/ +be_local_closure(class_AXP192_write_gpio, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_write_gpio, + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x280C0302, // 0000 GE R3 R1 K2 + 0x780E0007, // 0001 JMPF R3 #000A + 0x180C0303, // 0002 LE R3 R1 K3 + 0x780E0005, // 0003 JMPF R3 #000A + 0x8C0C0101, // 0004 GETMET R3 R0 K1 + 0x54160093, // 0005 LDINT R5 148 + 0x5C180200, // 0006 MOVE R6 R1 + 0x5C1C0400, // 0007 MOVE R7 R2 + 0x7C0C0800, // 0008 CALL R3 4 + 0x70020009, // 0009 JMP #0014 + 0x280C0304, // 000A GE R3 R1 K4 + 0x780E0007, // 000B JMPF R3 #0014 + 0x540E0003, // 000C LDINT R3 4 + 0x180C0203, // 000D LE R3 R1 R3 + 0x780E0004, // 000E JMPF R3 #0014 + 0x8C0C0101, // 000F GETMET R3 R0 K1 + 0x54160095, // 0010 LDINT R5 150 + 0x04180304, // 0011 SUB R6 R1 K4 + 0x5C1C0400, // 0012 MOVE R7 R2 + 0x7C0C0800, // 0013 CALL R3 4 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ldo_voltage +********************************************************************/ +be_local_closure(class_AXP192_set_ldo_voltage, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_ldo_voltage, + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0x540E0CE3, // 0000 LDINT R3 3300 + 0x240C0403, // 0001 GT R3 R2 R3 + 0x780E0001, // 0002 JMPF R3 #0005 + 0x540A000E, // 0003 LDINT R2 15 + 0x70020004, // 0004 JMP #000A + 0x540E0063, // 0005 LDINT R3 100 + 0x0C0C0403, // 0006 DIV R3 R2 R3 + 0x54120011, // 0007 LDINT R4 18 + 0x040C0604, // 0008 SUB R3 R3 R4 + 0x5C080600, // 0009 MOVE R2 R3 + 0x1C0C0303, // 000A EQ R3 R1 K3 + 0x780E000C, // 000B JMPF R3 #0019 + 0x8C0C010F, // 000C GETMET R3 R0 K15 + 0x54160027, // 000D LDINT R5 40 + 0x8C180110, // 000E GETMET R6 R0 K16 + 0x54220027, // 000F LDINT R8 40 + 0x7C180400, // 0010 CALL R6 2 + 0x541E000E, // 0011 LDINT R7 15 + 0x2C180C07, // 0012 AND R6 R6 R7 + 0x541E000E, // 0013 LDINT R7 15 + 0x2C1C0407, // 0014 AND R7 R2 R7 + 0x54220003, // 0015 LDINT R8 4 + 0x381C0E08, // 0016 SHL R7 R7 R8 + 0x30180C07, // 0017 OR R6 R6 R7 + 0x7C0C0600, // 0018 CALL R3 3 + 0x1C0C0304, // 0019 EQ R3 R1 K4 + 0x780E000A, // 001A JMPF R3 #0026 + 0x8C0C010F, // 001B GETMET R3 R0 K15 + 0x54160027, // 001C LDINT R5 40 + 0x8C180110, // 001D GETMET R6 R0 K16 + 0x54220027, // 001E LDINT R8 40 + 0x7C180400, // 001F CALL R6 2 + 0x541E00EF, // 0020 LDINT R7 240 + 0x2C180C07, // 0021 AND R6 R6 R7 + 0x541E000E, // 0022 LDINT R7 15 + 0x2C1C0407, // 0023 AND R7 R2 R7 + 0x30180C07, // 0024 OR R6 R6 R7 + 0x7C0C0600, // 0025 CALL R3 3 + 0x80000000, // 0026 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: json_append +********************************************************************/ +be_local_closure(class_AXP192_json_append, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_json_append, + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x74060001, // 0001 JMPT R1 #0004 + 0x4C040000, // 0002 LDNIL R1 + 0x80040200, // 0003 RET 1 R1 + 0x60040018, // 0004 GETGBL R1 G24 + 0x58080011, // 0005 LDCONST R2 K17 + 0x8C0C0112, // 0006 GETMET R3 R0 K18 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C100112, // 0008 GETMET R4 R0 K18 + 0x7C100200, // 0009 CALL R4 1 + 0x8C140113, // 000A GETMET R5 R0 K19 + 0x7C140200, // 000B CALL R5 1 + 0x8C180114, // 000C GETMET R6 R0 K20 + 0x7C180200, // 000D CALL R6 1 + 0x8C1C0115, // 000E GETMET R7 R0 K21 + 0x7C1C0200, // 000F CALL R7 1 + 0x7C040C00, // 0010 CALL R1 6 + 0xB80A2C00, // 0011 GETNGBL R2 K22 + 0x8C080517, // 0012 GETMET R2 R2 K23 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C080400, // 0014 CALL R2 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_AXP192_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x54060033, // 0003 LDINT R1 52 + 0x60080003, // 0004 GETGBL R2 G3 + 0x5C0C0000, // 0005 MOVE R3 R0 + 0xB8123000, // 0006 GETNGBL R4 K24 + 0x7C080400, // 0007 CALL R2 2 + 0x8C080519, // 0008 GETMET R2 R2 K25 + 0x5810001A, // 0009 LDCONST R4 K26 + 0x54160033, // 000A LDINT R5 52 + 0x7C080600, // 000B CALL R2 3 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_current +********************************************************************/ +be_local_closure(class_AXP192_get_bat_current, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_bat_current, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C04011B, // 0000 GETMET R1 R0 K27 + 0x540E0079, // 0001 LDINT R3 122 + 0x7C040400, // 0002 CALL R1 2 + 0x8C08011B, // 0003 GETMET R2 R0 K27 + 0x5412007B, // 0004 LDINT R4 124 + 0x7C080400, // 0005 CALL R2 2 + 0x04040202, // 0006 SUB R1 R1 R2 + 0x0804031C, // 0007 MUL R1 R1 K28 + 0x80040200, // 0008 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_sensor +********************************************************************/ +be_local_closure(class_AXP192_web_sensor, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_web_sensor, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x74060001, // 0001 JMPT R1 #0004 + 0x4C040000, // 0002 LDNIL R1 + 0x80040200, // 0003 RET 1 R1 + 0x60040018, // 0004 GETGBL R1 G24 + 0x400A3B1E, // 0005 CONNECT R2 K29 K30 + 0x4008051F, // 0006 CONNECT R2 R2 K31 + 0x40080520, // 0007 CONNECT R2 R2 K32 + 0x40080521, // 0008 CONNECT R2 R2 K33 + 0x8C0C0112, // 0009 GETMET R3 R0 K18 + 0x7C0C0200, // 000A CALL R3 1 + 0x8C100112, // 000B GETMET R4 R0 K18 + 0x7C100200, // 000C CALL R4 1 + 0x8C140113, // 000D GETMET R5 R0 K19 + 0x7C140200, // 000E CALL R5 1 + 0x8C180114, // 000F GETMET R6 R0 K20 + 0x7C180200, // 0010 CALL R6 1 + 0x8C1C0115, // 0011 GETMET R7 R0 K21 + 0x7C1C0200, // 0012 CALL R7 1 + 0x7C040C00, // 0013 CALL R1 6 + 0xB80A2C00, // 0014 GETNGBL R2 K22 + 0x8C080522, // 0015 GETMET R2 R2 K34 + 0x5C100200, // 0016 MOVE R4 R1 + 0x7C080400, // 0017 CALL R2 2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_battery_charging_status +********************************************************************/ +be_local_closure(class_AXP192_get_battery_charging_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_battery_charging_status, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8804010A, // 0000 GETMBR R1 R0 K10 + 0x8C04030B, // 0001 GETMET R1 R1 K11 + 0x880C010C, // 0002 GETMBR R3 R0 K12 + 0x58100000, // 0003 LDCONST R4 K0 + 0x58140000, // 0004 LDCONST R5 K0 + 0x7C040800, // 0005 CALL R1 4 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_temp +********************************************************************/ +be_local_closure(class_AXP192_get_temp, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_temp, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040107, // 0000 GETMET R1 R0 K7 + 0x540E005D, // 0001 LDINT R3 94 + 0x7C040400, // 0002 CALL R1 2 + 0x08040323, // 0003 MUL R1 R1 K35 + 0x04040324, // 0004 SUB R1 R1 K36 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_dc_voltage +********************************************************************/ +be_local_closure(class_AXP192_set_dc_voltage, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_dc_voltage, + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x140C0300, // 0000 LT R3 R1 K0 + 0x740E0001, // 0001 JMPT R3 #0004 + 0x240C0304, // 0002 GT R3 R1 K4 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x80000600, // 0004 RET 0 + 0x4C0C0000, // 0005 LDNIL R3 + 0x541202BB, // 0006 LDINT R4 700 + 0x14100404, // 0007 LT R4 R2 R4 + 0x78120001, // 0008 JMPF R4 #000B + 0x580C0002, // 0009 LDCONST R3 K2 + 0x70020010, // 000A JMP #001C + 0x54120DAB, // 000B LDINT R4 3500 + 0x24100404, // 000C GT R4 R2 R4 + 0x78120001, // 000D JMPF R4 #0010 + 0x540E006F, // 000E LDINT R3 112 + 0x7002000B, // 000F JMP #001C + 0x1C100303, // 0010 EQ R4 R1 K3 + 0x78120004, // 0011 JMPF R4 #0017 + 0x541208E2, // 0012 LDINT R4 2275 + 0x24100404, // 0013 GT R4 R2 R4 + 0x78120001, // 0014 JMPF R4 #0017 + 0x540E003E, // 0015 LDINT R3 63 + 0x70020004, // 0016 JMP #001C + 0x541202BB, // 0017 LDINT R4 700 + 0x04100404, // 0018 SUB R4 R2 R4 + 0x54160018, // 0019 LDINT R5 25 + 0x0C100805, // 001A DIV R4 R4 R5 + 0x5C0C0800, // 001B MOVE R3 R4 + 0x54120025, // 001C LDINT R4 38 + 0x1C140304, // 001D EQ R5 R1 K4 + 0x78160001, // 001E JMPF R5 #0021 + 0x54120026, // 001F LDINT R4 39 + 0x70020002, // 0020 JMP #0024 + 0x1C140303, // 0021 EQ R5 R1 K3 + 0x78160000, // 0022 JMPF R5 #0024 + 0x54120022, // 0023 LDINT R4 35 + 0x8C14010F, // 0024 GETMET R5 R0 K15 + 0x5C1C0800, // 0025 MOVE R7 R4 + 0x8C200110, // 0026 GETMET R8 R0 K16 + 0x5C280800, // 0027 MOVE R10 R4 + 0x7C200400, // 0028 CALL R8 2 + 0x5426007F, // 0029 LDINT R9 128 + 0x2C201009, // 002A AND R8 R8 R9 + 0x5426007E, // 002B LDINT R9 127 + 0x2C240609, // 002C AND R9 R3 R9 + 0x30201009, // 002D OR R8 R8 R9 + 0x7C140600, // 002E CALL R5 3 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: power_off +********************************************************************/ +be_local_closure(class_AXP192_power_off, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_power_off, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040101, // 0000 GETMET R1 R0 K1 + 0x540E0031, // 0001 LDINT R3 50 + 0x54120006, // 0002 LDINT R4 7 + 0x58140000, // 0003 LDCONST R5 K0 + 0x7C040800, // 0004 CALL R1 4 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_chg_current +********************************************************************/ +be_local_closure(class_AXP192_set_chg_current, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_set_chg_current, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8C08010F, // 0000 GETMET R2 R0 K15 + 0x54120032, // 0001 LDINT R4 51 + 0x8C140110, // 0002 GETMET R5 R0 K16 + 0x541E0032, // 0003 LDINT R7 51 + 0x7C140400, // 0004 CALL R5 2 + 0x541A00EF, // 0005 LDINT R6 240 + 0x2C140A06, // 0006 AND R5 R5 R6 + 0x541A000E, // 0007 LDINT R6 15 + 0x2C180206, // 0008 AND R6 R1 R6 + 0x30140A06, // 0009 OR R5 R5 R6 + 0x7C080600, // 000A CALL R2 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_charge_current +********************************************************************/ +be_local_closure(class_AXP192_get_bat_charge_current, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP192, /* shared constants */ + &be_const_str_get_bat_charge_current, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C04011B, // 0000 GETMET R1 R0 K27 + 0x540E0079, // 0001 LDINT R3 122 + 0x7C040400, // 0002 CALL R1 2 + 0x0804031C, // 0003 MUL R1 R1 K28 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: AXP192 +********************************************************************/ +extern const bclass be_class_I2C_Driver; +be_local_class(AXP192, + 0, + &be_class_I2C_Driver, + be_nested_map(23, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP192_set_dcdc_enable_closure) }, + { be_const_key(get_bat_power, -1), be_const_closure(class_AXP192_get_bat_power_closure) }, + { be_const_key(get_bat_charge_current, -1), be_const_closure(class_AXP192_get_bat_charge_current_closure) }, + { be_const_key(set_chg_current, -1), be_const_closure(class_AXP192_set_chg_current_closure) }, + { be_const_key(get_warning_level, -1), be_const_closure(class_AXP192_get_warning_level_closure) }, + { be_const_key(power_off, -1), be_const_closure(class_AXP192_power_off_closure) }, + { be_const_key(get_vbus_current, 22), be_const_closure(class_AXP192_get_vbus_current_closure) }, + { be_const_key(get_aps_voltage, 17), be_const_closure(class_AXP192_get_aps_voltage_closure) }, + { be_const_key(set_exten, -1), be_const_closure(class_AXP192_set_exten_closure) }, + { be_const_key(battery_present, -1), be_const_closure(class_AXP192_battery_present_closure) }, + { be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP192_get_vbus_voltage_closure) }, + { be_const_key(write_gpio, -1), be_const_closure(class_AXP192_write_gpio_closure) }, + { be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP192_set_ldo_voltage_closure) }, + { be_const_key(set_ldo_enable, 21), be_const_closure(class_AXP192_set_ldo_enable_closure) }, + { be_const_key(init, 2), be_const_closure(class_AXP192_init_closure) }, + { be_const_key(get_bat_current, -1), be_const_closure(class_AXP192_get_bat_current_closure) }, + { be_const_key(web_sensor, -1), be_const_closure(class_AXP192_web_sensor_closure) }, + { be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP192_get_battery_charging_status_closure) }, + { be_const_key(get_temp, -1), be_const_closure(class_AXP192_get_temp_closure) }, + { be_const_key(set_dc_voltage, 3), be_const_closure(class_AXP192_set_dc_voltage_closure) }, + { be_const_key(get_bat_voltage, 5), be_const_closure(class_AXP192_get_bat_voltage_closure) }, + { be_const_key(json_append, -1), be_const_closure(class_AXP192_json_append_closure) }, + { be_const_key(get_input_power_status, -1), be_const_closure(class_AXP192_get_input_power_status_closure) }, + })), + (bstring*) &be_const_str_AXP192 +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP202.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP202.h new file mode 100644 index 000000000..77e4fb3e5 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP202.h @@ -0,0 +1,853 @@ +/* Solidification of AXP202.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'AXP202' ktab size: 24, total: 64 (saved 320 bytes) +static const bvalue be_ktab_class_AXP202[24] = { + /* K0 */ be_const_int(0), + /* K1 */ be_const_int(1), + /* K2 */ be_const_int(2), + /* K3 */ be_const_int(3), + /* K4 */ be_nested_str(write8), + /* K5 */ be_nested_str(read8), + /* K6 */ be_nested_str(read12), + /* K7 */ be_const_real_hex(0x3EC00000), + /* K8 */ be_nested_str(read13), + /* K9 */ be_const_real_hex(0x3F000000), + /* K10 */ be_nested_str(read24), + /* K11 */ be_const_real_hex(0x3A102DE0), + /* K12 */ be_nested_str(wire), + /* K13 */ be_nested_str(read), + /* K14 */ be_nested_str(addr), + /* K15 */ be_const_real_hex(0x3ADED28A), + /* K16 */ be_const_real_hex(0x3AB78035), + /* K17 */ be_nested_str(write_bit), + /* K18 */ be_nested_str(I2C_Driver), + /* K19 */ be_nested_str(init), + /* K20 */ be_nested_str(AXP202), + /* K21 */ be_const_real_hex(0x3A902DE0), + /* K22 */ be_const_real_hex(0x3DCCCCCD), + /* K23 */ be_const_real_hex(0x4310B333), +}; + + +extern const bclass be_class_AXP202; + +/******************************************************************** +** Solidified function: set_shutdown_time +********************************************************************/ +be_local_closure(class_AXP202_set_shutdown_time, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_shutdown_time, + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x540E0005, // 0001 LDINT R3 6 + 0x1C0C0203, // 0002 EQ R3 R1 R3 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x58080001, // 0004 LDCONST R2 K1 + 0x540E0007, // 0005 LDINT R3 8 + 0x1C0C0203, // 0006 EQ R3 R1 R3 + 0x780E0000, // 0007 JMPF R3 #0009 + 0x58080002, // 0008 LDCONST R2 K2 + 0x540E0009, // 0009 LDINT R3 10 + 0x1C0C0203, // 000A EQ R3 R1 R3 + 0x780E0000, // 000B JMPF R3 #000D + 0x58080003, // 000C LDCONST R2 K3 + 0x8C0C0104, // 000D GETMET R3 R0 K4 + 0x54160035, // 000E LDINT R5 54 + 0x8C180105, // 000F GETMET R6 R0 K5 + 0x54220035, // 0010 LDINT R8 54 + 0x7C180400, // 0011 CALL R6 2 + 0x541E00FB, // 0012 LDINT R7 252 + 0x2C180C07, // 0013 AND R6 R6 R7 + 0x2C1C0503, // 0014 AND R7 R2 K3 + 0x30180C07, // 0015 OR R6 R6 R7 + 0x7C0C0600, // 0016 CALL R3 3 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_current +********************************************************************/ +be_local_closure(class_AXP202_get_vbus_current, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_vbus_current, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x540E005B, // 0001 LDINT R3 92 + 0x7C040400, // 0002 CALL R1 2 + 0x08040307, // 0003 MUL R1 R1 K7 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_charge_current +********************************************************************/ +be_local_closure(class_AXP202_get_bat_charge_current, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_bat_charge_current, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040108, // 0000 GETMET R1 R0 K8 + 0x540E0079, // 0001 LDINT R3 122 + 0x7C040400, // 0002 CALL R1 2 + 0x08040309, // 0003 MUL R1 R1 K9 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_current +********************************************************************/ +be_local_closure(class_AXP202_get_bat_current, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_bat_current, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C040108, // 0000 GETMET R1 R0 K8 + 0x540E0079, // 0001 LDINT R3 122 + 0x7C040400, // 0002 CALL R1 2 + 0x8C080108, // 0003 GETMET R2 R0 K8 + 0x5412007B, // 0004 LDINT R4 124 + 0x7C080400, // 0005 CALL R2 2 + 0x04040202, // 0006 SUB R1 R1 R2 + 0x08040309, // 0007 MUL R1 R1 K9 + 0x80040200, // 0008 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_power +********************************************************************/ +be_local_closure(class_AXP202_get_bat_power, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_bat_power, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C04010A, // 0000 GETMET R1 R0 K10 + 0x540E006F, // 0001 LDINT R3 112 + 0x7C040400, // 0002 CALL R1 2 + 0x0804030B, // 0003 MUL R1 R1 K11 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_battery_charging_status +********************************************************************/ +be_local_closure(class_AXP202_get_battery_charging_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_battery_charging_status, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x880C010E, // 0002 GETMBR R3 R0 K14 + 0x58100001, // 0003 LDCONST R4 K1 + 0x58140001, // 0004 LDCONST R5 K1 + 0x7C040800, // 0005 CALL R1 4 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_voltage +********************************************************************/ +be_local_closure(class_AXP202_get_vbus_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_vbus_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x540E0059, // 0001 LDINT R3 90 + 0x7C040400, // 0002 CALL R1 2 + 0x0804030F, // 0003 MUL R1 R1 K15 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_aps_voltage +********************************************************************/ +be_local_closure(class_AXP202_get_aps_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_aps_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x540E007D, // 0001 LDINT R3 126 + 0x7C040400, // 0002 CALL R1 2 + 0x08040310, // 0003 MUL R1 R1 K16 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: battery_present +********************************************************************/ +be_local_closure(class_AXP202_battery_present, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_battery_present, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x880C010E, // 0002 GETMBR R3 R0 K14 + 0x58100001, // 0003 LDCONST R4 K1 + 0x58140001, // 0004 LDCONST R5 K1 + 0x7C040800, // 0005 CALL R1 4 + 0x540A001F, // 0006 LDINT R2 32 + 0x2C040202, // 0007 AND R1 R1 R2 + 0x78060002, // 0008 JMPF R1 #000C + 0x50040200, // 0009 LDBOOL R1 1 0 + 0x80040200, // 000A RET 1 R1 + 0x70020001, // 000B JMP #000E + 0x50040000, // 000C LDBOOL R1 0 0 + 0x80040200, // 000D RET 1 R1 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_chg_current_ma +********************************************************************/ +be_local_closure(class_AXP202_set_chg_current_ma, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_chg_current_ma, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x540A012B, // 0000 LDINT R2 300 + 0x04080202, // 0001 SUB R2 R1 R2 + 0x540E0063, // 0002 LDINT R3 100 + 0x0C080403, // 0003 DIV R2 R2 R3 + 0x8C0C0104, // 0004 GETMET R3 R0 K4 + 0x54160032, // 0005 LDINT R5 51 + 0x8C180105, // 0006 GETMET R6 R0 K5 + 0x54220032, // 0007 LDINT R8 51 + 0x7C180400, // 0008 CALL R6 2 + 0x541E00EF, // 0009 LDINT R7 240 + 0x2C180C07, // 000A AND R6 R6 R7 + 0x541E000E, // 000B LDINT R7 15 + 0x2C1C0407, // 000C AND R7 R2 R7 + 0x30180C07, // 000D OR R6 R6 R7 + 0x7C0C0600, // 000E CALL R3 3 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_dcdc_enable +********************************************************************/ +be_local_closure(class_AXP202_set_dcdc_enable, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_dcdc_enable, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x1C0C0302, // 0000 EQ R3 R1 K2 + 0x780E0004, // 0001 JMPF R3 #0007 + 0x8C0C0111, // 0002 GETMET R3 R0 K17 + 0x54160011, // 0003 LDINT R5 18 + 0x541A0003, // 0004 LDINT R6 4 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x7C0C0800, // 0006 CALL R3 4 + 0x1C0C0303, // 0007 EQ R3 R1 K3 + 0x780E0004, // 0008 JMPF R3 #000E + 0x8C0C0111, // 0009 GETMET R3 R0 K17 + 0x54160011, // 000A LDINT R5 18 + 0x58180001, // 000B LDCONST R6 K1 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x7C0C0800, // 000D CALL R3 4 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_chg_led_mode +********************************************************************/ +be_local_closure(class_AXP202_set_chg_led_mode, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_chg_led_mode, + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x8C080105, // 0000 GETMET R2 R0 K5 + 0x54120031, // 0001 LDINT R4 50 + 0x7C080400, // 0002 CALL R2 2 + 0x540E00CE, // 0003 LDINT R3 207 + 0x2C0C0403, // 0004 AND R3 R2 R3 + 0x54120007, // 0005 LDINT R4 8 + 0x300C0604, // 0006 OR R3 R3 R4 + 0x5C080600, // 0007 MOVE R2 R3 + 0x2C0C0303, // 0008 AND R3 R1 K3 + 0x54120003, // 0009 LDINT R4 4 + 0x380C0604, // 000A SHL R3 R3 R4 + 0x30080403, // 000B OR R2 R2 R3 + 0x8C0C0104, // 000C GETMET R3 R0 K4 + 0x54160031, // 000D LDINT R5 50 + 0x5C180400, // 000E MOVE R6 R2 + 0x7C0C0600, // 000F CALL R3 3 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_AXP202_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x54060034, // 0003 LDINT R1 53 + 0x60080003, // 0004 GETGBL R2 G3 + 0x5C0C0000, // 0005 MOVE R3 R0 + 0xB8122400, // 0006 GETNGBL R4 K18 + 0x7C080400, // 0007 CALL R2 2 + 0x8C080513, // 0008 GETMET R2 R2 K19 + 0x58100014, // 0009 LDCONST R4 K20 + 0x54160034, // 000A LDINT R5 53 + 0x7C080600, // 000B CALL R2 3 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_exten +********************************************************************/ +be_local_closure(class_AXP202_set_exten, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_exten, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C080111, // 0000 GETMET R2 R0 K17 + 0x54120011, // 0001 LDINT R4 18 + 0x58140000, // 0002 LDCONST R5 K0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C080800, // 0004 CALL R2 4 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ldo_voltage +********************************************************************/ +be_local_closure(class_AXP202_set_ldo_voltage, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_ldo_voltage, + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0x540E0CE3, // 0000 LDINT R3 3300 + 0x240C0403, // 0001 GT R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x540A000E, // 0003 LDINT R2 15 + 0x1C0C0302, // 0004 EQ R3 R1 K2 + 0x740E0002, // 0005 JMPT R3 #0009 + 0x540E0003, // 0006 LDINT R3 4 + 0x1C0C0203, // 0007 EQ R3 R1 R3 + 0x780E0020, // 0008 JMPF R3 #002A + 0x540E0063, // 0009 LDINT R3 100 + 0x0C0C0403, // 000A DIV R3 R2 R3 + 0x54120011, // 000B LDINT R4 18 + 0x040C0604, // 000C SUB R3 R3 R4 + 0x5C080600, // 000D MOVE R2 R3 + 0x1C0C0302, // 000E EQ R3 R1 K2 + 0x780E000D, // 000F JMPF R3 #001E + 0x8C0C0104, // 0010 GETMET R3 R0 K4 + 0x54160027, // 0011 LDINT R5 40 + 0x8C180105, // 0012 GETMET R6 R0 K5 + 0x54220027, // 0013 LDINT R8 40 + 0x7C180400, // 0014 CALL R6 2 + 0x541E000E, // 0015 LDINT R7 15 + 0x2C180C07, // 0016 AND R6 R6 R7 + 0x541E000E, // 0017 LDINT R7 15 + 0x2C1C0407, // 0018 AND R7 R2 R7 + 0x54220003, // 0019 LDINT R8 4 + 0x381C0E08, // 001A SHL R7 R7 R8 + 0x30180C07, // 001B OR R6 R6 R7 + 0x7C0C0600, // 001C CALL R3 3 + 0x7002000A, // 001D JMP #0029 + 0x8C0C0104, // 001E GETMET R3 R0 K4 + 0x54160027, // 001F LDINT R5 40 + 0x8C180105, // 0020 GETMET R6 R0 K5 + 0x54220027, // 0021 LDINT R8 40 + 0x7C180400, // 0022 CALL R6 2 + 0x541E00EF, // 0023 LDINT R7 240 + 0x2C180C07, // 0024 AND R6 R6 R7 + 0x541E000E, // 0025 LDINT R7 15 + 0x2C1C0407, // 0026 AND R7 R2 R7 + 0x30180C07, // 0027 OR R6 R6 R7 + 0x7C0C0600, // 0028 CALL R3 3 + 0x7002000F, // 0029 JMP #003A + 0x540E0018, // 002A LDINT R3 25 + 0x0C0C0403, // 002B DIV R3 R2 R3 + 0x5412001B, // 002C LDINT R4 28 + 0x040C0604, // 002D SUB R3 R3 R4 + 0x5C080600, // 002E MOVE R2 R3 + 0x8C0C0104, // 002F GETMET R3 R0 K4 + 0x54160027, // 0030 LDINT R5 40 + 0x8C180105, // 0031 GETMET R6 R0 K5 + 0x54220028, // 0032 LDINT R8 41 + 0x7C180400, // 0033 CALL R6 2 + 0x541E007F, // 0034 LDINT R7 128 + 0x2C180C07, // 0035 AND R6 R6 R7 + 0x541E007E, // 0036 LDINT R7 127 + 0x2C1C0407, // 0037 AND R7 R2 R7 + 0x30180C07, // 0038 OR R6 R6 R7 + 0x7C0C0600, // 0039 CALL R3 3 + 0x80000000, // 003A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_dc_voltage +********************************************************************/ +be_local_closure(class_AXP202_set_dc_voltage, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_dc_voltage, + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x140C0302, // 0000 LT R3 R1 K2 + 0x740E0001, // 0001 JMPT R3 #0004 + 0x240C0303, // 0002 GT R3 R1 K3 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x80000600, // 0004 RET 0 + 0x4C0C0000, // 0005 LDNIL R3 + 0x541202BB, // 0006 LDINT R4 700 + 0x14100404, // 0007 LT R4 R2 R4 + 0x78120001, // 0008 JMPF R4 #000B + 0x580C0000, // 0009 LDCONST R3 K0 + 0x70020010, // 000A JMP #001C + 0x54120DAB, // 000B LDINT R4 3500 + 0x24100404, // 000C GT R4 R2 R4 + 0x78120001, // 000D JMPF R4 #0010 + 0x540E006F, // 000E LDINT R3 112 + 0x7002000B, // 000F JMP #001C + 0x1C100302, // 0010 EQ R4 R1 K2 + 0x78120004, // 0011 JMPF R4 #0017 + 0x541208E2, // 0012 LDINT R4 2275 + 0x24100404, // 0013 GT R4 R2 R4 + 0x78120001, // 0014 JMPF R4 #0017 + 0x540E003E, // 0015 LDINT R3 63 + 0x70020004, // 0016 JMP #001C + 0x541202BB, // 0017 LDINT R4 700 + 0x04100404, // 0018 SUB R4 R2 R4 + 0x54160018, // 0019 LDINT R5 25 + 0x0C100805, // 001A DIV R4 R4 R5 + 0x5C0C0800, // 001B MOVE R3 R4 + 0x54120022, // 001C LDINT R4 35 + 0x1C140303, // 001D EQ R5 R1 K3 + 0x78160000, // 001E JMPF R5 #0020 + 0x54120026, // 001F LDINT R4 39 + 0x8C140104, // 0020 GETMET R5 R0 K4 + 0x5C1C0800, // 0021 MOVE R7 R4 + 0x8C200105, // 0022 GETMET R8 R0 K5 + 0x5C280800, // 0023 MOVE R10 R4 + 0x7C200400, // 0024 CALL R8 2 + 0x5426007F, // 0025 LDINT R9 128 + 0x2C201009, // 0026 AND R8 R8 R9 + 0x5426007E, // 0027 LDINT R9 127 + 0x2C240609, // 0028 AND R9 R3 R9 + 0x30201009, // 0029 OR R8 R8 R9 + 0x7C140600, // 002A CALL R5 3 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_voltage +********************************************************************/ +be_local_closure(class_AXP202_get_bat_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_bat_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x540E0077, // 0001 LDINT R3 120 + 0x7C040400, // 0002 CALL R1 2 + 0x08040315, // 0003 MUL R1 R1 K21 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_temp +********************************************************************/ +be_local_closure(class_AXP202_get_temp, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_temp, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040106, // 0000 GETMET R1 R0 K6 + 0x540E005D, // 0001 LDINT R3 94 + 0x7C040400, // 0002 CALL R1 2 + 0x08040316, // 0003 MUL R1 R1 K22 + 0x04040317, // 0004 SUB R1 R1 K23 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ldo_enable +********************************************************************/ +be_local_closure(class_AXP202_set_ldo_enable, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_ldo_enable, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x1C0C0302, // 0000 EQ R3 R1 K2 + 0x780E0004, // 0001 JMPF R3 #0007 + 0x8C0C0111, // 0002 GETMET R3 R0 K17 + 0x54160011, // 0003 LDINT R5 18 + 0x58180002, // 0004 LDCONST R6 K2 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x7C0C0800, // 0006 CALL R3 4 + 0x1C0C0303, // 0007 EQ R3 R1 K3 + 0x780E0004, // 0008 JMPF R3 #000E + 0x8C0C0111, // 0009 GETMET R3 R0 K17 + 0x54160011, // 000A LDINT R5 18 + 0x541A0005, // 000B LDINT R6 6 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x7C0C0800, // 000D CALL R3 4 + 0x540E0003, // 000E LDINT R3 4 + 0x1C0C0203, // 000F EQ R3 R1 R3 + 0x780E0004, // 0010 JMPF R3 #0016 + 0x8C0C0111, // 0011 GETMET R3 R0 K17 + 0x54160011, // 0012 LDINT R5 18 + 0x58180003, // 0013 LDCONST R6 K3 + 0x5C1C0400, // 0014 MOVE R7 R2 + 0x7C0C0800, // 0015 CALL R3 4 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_limiting_off +********************************************************************/ +be_local_closure(class_AXP202_set_limiting_off, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_set_limiting_off, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C040104, // 0000 GETMET R1 R0 K4 + 0x540E002F, // 0001 LDINT R3 48 + 0x8C100105, // 0002 GETMET R4 R0 K5 + 0x541A002F, // 0003 LDINT R6 48 + 0x7C100400, // 0004 CALL R4 2 + 0x30100903, // 0005 OR R4 R4 K3 + 0x7C040600, // 0006 CALL R1 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_input_power_status +********************************************************************/ +be_local_closure(class_AXP202_get_input_power_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP202, /* shared constants */ + &be_const_str_get_input_power_status, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8804010C, // 0000 GETMBR R1 R0 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x880C010E, // 0002 GETMBR R3 R0 K14 + 0x58100000, // 0003 LDCONST R4 K0 + 0x58140001, // 0004 LDCONST R5 K1 + 0x7C040800, // 0005 CALL R1 4 + 0x80040200, // 0006 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: AXP202 +********************************************************************/ +extern const bclass be_class_I2C_Driver; +be_local_class(AXP202, + 0, + &be_class_I2C_Driver, + be_nested_map(21, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(set_shutdown_time, -1), be_const_closure(class_AXP202_set_shutdown_time_closure) }, + { be_const_key(get_vbus_current, -1), be_const_closure(class_AXP202_get_vbus_current_closure) }, + { be_const_key(get_aps_voltage, -1), be_const_closure(class_AXP202_get_aps_voltage_closure) }, + { be_const_key(get_bat_current, -1), be_const_closure(class_AXP202_get_bat_current_closure) }, + { be_const_key(get_bat_power, 2), be_const_closure(class_AXP202_get_bat_power_closure) }, + { be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP202_get_battery_charging_status_closure) }, + { be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP202_get_vbus_voltage_closure) }, + { be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP202_set_ldo_voltage_closure) }, + { be_const_key(battery_present, -1), be_const_closure(class_AXP202_battery_present_closure) }, + { be_const_key(set_chg_current_ma, -1), be_const_closure(class_AXP202_set_chg_current_ma_closure) }, + { be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP202_set_dcdc_enable_closure) }, + { be_const_key(set_chg_led_mode, 16), be_const_closure(class_AXP202_set_chg_led_mode_closure) }, + { be_const_key(init, 14), be_const_closure(class_AXP202_init_closure) }, + { be_const_key(set_exten, -1), be_const_closure(class_AXP202_set_exten_closure) }, + { be_const_key(set_ldo_enable, -1), be_const_closure(class_AXP202_set_ldo_enable_closure) }, + { be_const_key(get_bat_charge_current, 17), be_const_closure(class_AXP202_get_bat_charge_current_closure) }, + { be_const_key(get_temp, 7), be_const_closure(class_AXP202_get_temp_closure) }, + { be_const_key(get_bat_voltage, 18), be_const_closure(class_AXP202_get_bat_voltage_closure) }, + { be_const_key(set_dc_voltage, -1), be_const_closure(class_AXP202_set_dc_voltage_closure) }, + { be_const_key(set_limiting_off, -1), be_const_closure(class_AXP202_set_limiting_off_closure) }, + { be_const_key(get_input_power_status, -1), be_const_closure(class_AXP202_get_input_power_status_closure) }, + })), + (bstring*) &be_const_str_AXP202 +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP2102.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP2102.h new file mode 100644 index 000000000..834cee80d --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_AXP2102.h @@ -0,0 +1,878 @@ +/* Solidification of AXP2102.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'AXP2102' ktab size: 18, total: 58 (saved 320 bytes) +static const bvalue be_ktab_class_AXP2102[18] = { + /* K0 */ be_nested_str(read8), + /* K1 */ be_const_int(1), + /* K2 */ be_nested_str(wire), + /* K3 */ be_nested_str(read), + /* K4 */ be_nested_str(addr), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str(init), + /* K7 */ be_nested_str(AXP2102), + /* K8 */ be_nested_str(write8), + /* K9 */ be_nested_str(read16), + /* K10 */ be_const_int(3), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str(_charge), + /* K13 */ be_nested_str(_pre_charge), + /* K14 */ be_nested_str(read14), + /* K15 */ be_const_real_hex(0x447A0000), + /* K16 */ be_nested_str(_charge_voltage), + /* K17 */ be_nested_str(get_vbus_good), +}; + + +extern const bclass be_class_AXP2102; + +/******************************************************************** +** Solidified function: is_charging +********************************************************************/ +be_local_closure(class_AXP2102_is_charging, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_is_charging, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x580C0001, // 0001 LDCONST R3 K1 + 0x7C040400, // 0002 CALL R1 2 + 0x540A005F, // 0003 LDINT R2 96 + 0x2C040202, // 0004 AND R1 R1 R2 + 0x540A001F, // 0005 LDINT R2 32 + 0x1C040202, // 0006 EQ R1 R1 R2 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: battery_present +********************************************************************/ +be_local_closure(class_AXP2102_battery_present, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_battery_present, + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60040017, // 0000 GETGBL R1 G23 + 0x88080102, // 0001 GETMBR R2 R0 K2 + 0x8C080503, // 0002 GETMET R2 R2 K3 + 0x88100104, // 0003 GETMBR R4 R0 K4 + 0x58140005, // 0004 LDCONST R5 K5 + 0x58180001, // 0005 LDCONST R6 K1 + 0x7C080800, // 0006 CALL R2 4 + 0x540E0007, // 0007 LDINT R3 8 + 0x2C080403, // 0008 AND R2 R2 R3 + 0x7C040200, // 0009 CALL R1 1 + 0x80040200, // 000A RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_AXP2102_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x54060033, // 0003 LDINT R1 52 + 0x60080003, // 0004 GETGBL R2 G3 + 0x5C0C0000, // 0005 MOVE R3 R0 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080506, // 0007 GETMET R2 R2 K6 + 0x58100007, // 0008 LDCONST R4 K7 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C080600, // 000A CALL R2 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_dldo_voltage +********************************************************************/ +be_local_closure(class_AXP2102_set_dldo_voltage, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_dldo_voltage, + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x140C0305, // 0000 LT R3 R1 K5 + 0x740E0001, // 0001 JMPT R3 #0004 + 0x240C0301, // 0002 GT R3 R1 K1 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x80000600, // 0004 RET 0 + 0x540E0098, // 0005 LDINT R3 153 + 0x000C0203, // 0006 ADD R3 R1 R3 + 0x541201F3, // 0007 LDINT R4 500 + 0x04080404, // 0008 SUB R2 R2 R4 + 0x14100505, // 0009 LT R4 R2 K5 + 0x78120001, // 000A JMPF R4 #000D + 0x58100005, // 000B LDCONST R4 K5 + 0x70020004, // 000C JMP #0012 + 0x78060001, // 000D JMPF R1 #0010 + 0x54120031, // 000E LDINT R4 50 + 0x70020000, // 000F JMP #0011 + 0x54120063, // 0010 LDINT R4 100 + 0x0C100404, // 0011 DIV R4 R2 R4 + 0x78060001, // 0012 JMPF R1 #0015 + 0x54160012, // 0013 LDINT R5 19 + 0x70020000, // 0014 JMP #0016 + 0x5416001B, // 0015 LDINT R5 28 + 0x24140805, // 0016 GT R5 R4 R5 + 0x78160004, // 0017 JMPF R5 #001D + 0x78060001, // 0018 JMPF R1 #001B + 0x54160012, // 0019 LDINT R5 19 + 0x70020000, // 001A JMP #001C + 0x5416001B, // 001B LDINT R5 28 + 0x5C100A00, // 001C MOVE R4 R5 + 0x8C140108, // 001D GETMET R5 R0 K8 + 0x5C1C0600, // 001E MOVE R7 R3 + 0x5C200800, // 001F MOVE R8 R4 + 0x7C140600, // 0020 CALL R5 3 + 0x5416008F, // 0021 LDINT R5 144 + 0x00140A01, // 0022 ADD R5 R5 R1 + 0x78060001, // 0023 JMPF R1 #0026 + 0x58180001, // 0024 LDCONST R6 K1 + 0x70020000, // 0025 JMP #0027 + 0x541A007F, // 0026 LDINT R6 128 + 0x141C0505, // 0027 LT R7 R2 K5 + 0x781E0008, // 0028 JMPF R7 #0032 + 0x8C1C0108, // 0029 GETMET R7 R0 K8 + 0x5426008F, // 002A LDINT R9 144 + 0x8C280100, // 002B GETMET R10 R0 K0 + 0x5C300A00, // 002C MOVE R12 R5 + 0x7C280400, // 002D CALL R10 2 + 0x482C0C00, // 002E FLIP R11 R6 + 0x2C28140B, // 002F AND R10 R10 R11 + 0x7C1C0600, // 0030 CALL R7 3 + 0x70020006, // 0031 JMP #0039 + 0x8C1C0108, // 0032 GETMET R7 R0 K8 + 0x5426008F, // 0033 LDINT R9 144 + 0x8C280100, // 0034 GETMET R10 R0 K0 + 0x5C300A00, // 0035 MOVE R12 R5 + 0x7C280400, // 0036 CALL R10 2 + 0x30281406, // 0037 OR R10 R10 R6 + 0x7C1C0600, // 0038 CALL R7 3 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_temp +********************************************************************/ +be_local_closure(class_AXP2102_get_temp, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_temp, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x54060015, // 0000 LDINT R1 22 + 0x540A1C69, // 0001 LDINT R2 7274 + 0x8C0C0109, // 0002 GETMET R3 R0 K9 + 0x5416003B, // 0003 LDINT R5 60 + 0x7C0C0400, // 0004 CALL R3 2 + 0x04080403, // 0005 SUB R2 R2 R3 + 0x540E0013, // 0006 LDINT R3 20 + 0x0C080403, // 0007 DIV R2 R2 R3 + 0x00040202, // 0008 ADD R1 R1 R2 + 0x80040200, // 0009 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ldo_enable +********************************************************************/ +be_local_closure(class_AXP2102_get_ldo_enable, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_ldo_enable, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x50080000, // 0000 LDBOOL R2 0 0 + 0x540E0004, // 0001 LDINT R3 5 + 0x180C0203, // 0002 LE R3 R1 R3 + 0x780E0007, // 0003 JMPF R3 #000C + 0x380E0201, // 0004 SHL R3 K1 R1 + 0x60100017, // 0005 GETGBL R4 G23 + 0x8C140100, // 0006 GETMET R5 R0 K0 + 0x541E008F, // 0007 LDINT R7 144 + 0x7C140400, // 0008 CALL R5 2 + 0x2C140A03, // 0009 AND R5 R5 R3 + 0x7C100200, // 000A CALL R4 1 + 0x5C080800, // 000B MOVE R2 R4 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_battery_charging_status +********************************************************************/ +be_local_closure(class_AXP2102_get_battery_charging_status, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_battery_charging_status, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x580C0001, // 0001 LDCONST R3 K1 + 0x7C040400, // 0002 CALL R1 2 + 0x540A0004, // 0003 LDINT R2 5 + 0x3C040202, // 0004 SHR R1 R1 R2 + 0x2C04030A, // 0005 AND R1 R1 K10 + 0x1C080301, // 0006 EQ R2 R1 K1 + 0x780A0001, // 0007 JMPF R2 #000A + 0x58080001, // 0008 LDCONST R2 K1 + 0x70020004, // 0009 JMP #000F + 0x1C08030B, // 000A EQ R2 R1 K11 + 0x780A0001, // 000B JMPF R2 #000E + 0x5409FFFE, // 000C LDINT R2 -1 + 0x70020000, // 000D JMP #000F + 0x58080005, // 000E LDCONST R2 K5 + 0x80040400, // 000F RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ldo_voltage +********************************************************************/ +be_local_closure(class_AXP2102_set_ldo_voltage, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_ldo_voltage, + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x140C0305, // 0000 LT R3 R1 K5 + 0x740E0002, // 0001 JMPT R3 #0005 + 0x540E0004, // 0002 LDINT R3 5 + 0x240C0203, // 0003 GT R3 R1 R3 + 0x780E0000, // 0004 JMPF R3 #0006 + 0x80000600, // 0005 RET 0 + 0x540E0091, // 0006 LDINT R3 146 + 0x000C0203, // 0007 ADD R3 R1 R3 + 0x541201F3, // 0008 LDINT R4 500 + 0x04080404, // 0009 SUB R2 R2 R4 + 0x14100505, // 000A LT R4 R2 K5 + 0x78120001, // 000B JMPF R4 #000E + 0x58100005, // 000C LDCONST R4 K5 + 0x70020001, // 000D JMP #0010 + 0x54120063, // 000E LDINT R4 100 + 0x0C100404, // 000F DIV R4 R2 R4 + 0x5416001D, // 0010 LDINT R5 30 + 0x24140805, // 0011 GT R5 R4 R5 + 0x78160000, // 0012 JMPF R5 #0014 + 0x5412001D, // 0013 LDINT R4 30 + 0x8C140108, // 0014 GETMET R5 R0 K8 + 0x5C1C0600, // 0015 MOVE R7 R3 + 0x5C200800, // 0016 MOVE R8 R4 + 0x7C140600, // 0017 CALL R5 3 + 0x38160201, // 0018 SHL R5 K1 R1 + 0x14180505, // 0019 LT R6 R2 K5 + 0x781A0008, // 001A JMPF R6 #0024 + 0x8C180108, // 001B GETMET R6 R0 K8 + 0x5422008F, // 001C LDINT R8 144 + 0x8C240100, // 001D GETMET R9 R0 K0 + 0x542E008F, // 001E LDINT R11 144 + 0x7C240400, // 001F CALL R9 2 + 0x48280A00, // 0020 FLIP R10 R5 + 0x2C24120A, // 0021 AND R9 R9 R10 + 0x7C180600, // 0022 CALL R6 3 + 0x70020006, // 0023 JMP #002B + 0x8C180108, // 0024 GETMET R6 R0 K8 + 0x5422008F, // 0025 LDINT R8 144 + 0x8C240100, // 0026 GETMET R9 R0 K0 + 0x542E008F, // 0027 LDINT R11 144 + 0x7C240400, // 0028 CALL R9 2 + 0x30241205, // 0029 OR R9 R9 R5 + 0x7C180600, // 002A CALL R6 3 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_current +********************************************************************/ +be_local_closure(class_AXP2102_get_bat_current, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_bat_current, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060A00, // 0000 RET 1 K5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_charge_current +********************************************************************/ +be_local_closure(class_AXP2102_set_charge_current, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_charge_current, + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x14080305, // 0000 LT R2 R1 K5 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040005, // 0002 LDCONST R1 K5 + 0x540A00C7, // 0003 LDINT R2 200 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x540600C7, // 0006 LDINT R1 200 + 0x58080005, // 0007 LDCONST R2 K5 + 0x880C010C, // 0008 GETMBR R3 R0 K12 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x180C0601, // 000A LE R3 R3 R1 + 0x780E0001, // 000B JMPF R3 #000E + 0x00080501, // 000C ADD R2 R2 K1 + 0x7001FFF9, // 000D JMP #0008 + 0x540E0003, // 000E LDINT R3 4 + 0x00080403, // 000F ADD R2 R2 R3 + 0x8C0C0108, // 0010 GETMET R3 R0 K8 + 0x54160061, // 0011 LDINT R5 98 + 0x5C180400, // 0012 MOVE R6 R2 + 0x7C0C0600, // 0013 CALL R3 3 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_aps_voltage +********************************************************************/ +be_local_closure(class_AXP2102_get_aps_voltage, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_aps_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060A00, // 0000 RET 1 K5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pre_charge_current +********************************************************************/ +be_local_closure(class_AXP2102_set_pre_charge_current, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_pre_charge_current, + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x14080305, // 0000 LT R2 R1 K5 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040005, // 0002 LDCONST R1 K5 + 0x540A00C7, // 0003 LDINT R2 200 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x540600C7, // 0006 LDINT R1 200 + 0x58080005, // 0007 LDCONST R2 K5 + 0x880C010D, // 0008 GETMBR R3 R0 K13 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x180C0601, // 000A LE R3 R3 R1 + 0x780E0001, // 000B JMPF R3 #000E + 0x00080501, // 000C ADD R2 R2 K1 + 0x7001FFF9, // 000D JMP #0008 + 0x8C0C0108, // 000E GETMET R3 R0 K8 + 0x54160060, // 000F LDINT R5 97 + 0x5C180400, // 0010 MOVE R6 R2 + 0x7C0C0600, // 0011 CALL R3 3 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_power +********************************************************************/ +be_local_closure(class_AXP2102_get_bat_power, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_bat_power, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060A00, // 0000 RET 1 K5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_battery_charge +********************************************************************/ +be_local_closure(class_AXP2102_set_battery_charge, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_battery_charge, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8C080108, // 0000 GETMET R2 R0 K8 + 0x54120017, // 0001 LDINT R4 24 + 0x8C140100, // 0002 GETMET R5 R0 K0 + 0x541E0017, // 0003 LDINT R7 24 + 0x7C140400, // 0004 CALL R5 2 + 0x541A00FC, // 0005 LDINT R6 253 + 0x2C140A06, // 0006 AND R5 R5 R6 + 0x78060001, // 0007 JMPF R1 #000A + 0x58180001, // 0008 LDCONST R6 K1 + 0x70020000, // 0009 JMP #000B + 0x58180005, // 000A LDCONST R6 K5 + 0x38180D01, // 000B SHL R6 R6 K1 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_charge_current +********************************************************************/ +be_local_closure(class_AXP2102_get_bat_charge_current, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_bat_charge_current, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060A00, // 0000 RET 1 K5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_good +********************************************************************/ +be_local_closure(class_AXP2102_get_vbus_good, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_vbus_good, + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60040017, // 0000 GETGBL R1 G23 + 0x88080102, // 0001 GETMBR R2 R0 K2 + 0x8C080503, // 0002 GETMET R2 R2 K3 + 0x88100104, // 0003 GETMBR R4 R0 K4 + 0x58140005, // 0004 LDCONST R5 K5 + 0x58180001, // 0005 LDCONST R6 K1 + 0x7C080800, // 0006 CALL R2 4 + 0x540E001F, // 0007 LDINT R3 32 + 0x2C080403, // 0008 AND R2 R2 R3 + 0x7C040200, // 0009 CALL R1 1 + 0x80040200, // 000A RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bat_voltage +********************************************************************/ +be_local_closure(class_AXP2102_get_bat_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_bat_voltage, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C04010E, // 0000 GETMET R1 R0 K14 + 0x540E0033, // 0001 LDINT R3 52 + 0x7C040400, // 0002 CALL R1 2 + 0x0C04030F, // 0003 DIV R1 R1 K15 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_battery_level +********************************************************************/ +be_local_closure(class_AXP2102_get_battery_level, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_battery_level, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x540E00A3, // 0001 LDINT R3 164 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_charge_voltage +********************************************************************/ +be_local_closure(class_AXP2102_set_charge_voltage, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_set_charge_voltage, + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x14080305, // 0000 LT R2 R1 K5 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040005, // 0002 LDCONST R1 K5 + 0x540A01CB, // 0003 LDINT R2 460 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x540601CB, // 0006 LDINT R1 460 + 0x58080005, // 0007 LDCONST R2 K5 + 0x880C0110, // 0008 GETMBR R3 R0 K16 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x180C0601, // 000A LE R3 R3 R1 + 0x780E0001, // 000B JMPF R3 #000E + 0x00080501, // 000C ADD R2 R2 K1 + 0x7001FFF9, // 000D JMP #0008 + 0x00080501, // 000E ADD R2 R2 K1 + 0x540E0005, // 000F LDINT R3 6 + 0x280C0403, // 0010 GE R3 R2 R3 + 0x780E0000, // 0011 JMPF R3 #0013 + 0x58080005, // 0012 LDCONST R2 K5 + 0x8C0C0108, // 0013 GETMET R3 R0 K8 + 0x54160063, // 0014 LDINT R5 100 + 0x5C180400, // 0015 MOVE R6 R2 + 0x7C0C0600, // 0016 CALL R3 3 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_current +********************************************************************/ +be_local_closure(class_AXP2102_get_vbus_current, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_vbus_current, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060A00, // 0000 RET 1 K5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_vbus_voltage +********************************************************************/ +be_local_closure(class_AXP2102_get_vbus_voltage, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_AXP2102, /* shared constants */ + &be_const_str_get_vbus_voltage, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8C040111, // 0000 GETMET R1 R0 K17 + 0x7C040200, // 0001 CALL R1 1 + 0x74060000, // 0002 JMPT R1 #0004 + 0x80060A00, // 0003 RET 1 K5 + 0x8C04010E, // 0004 GETMET R1 R0 K14 + 0x540E0037, // 0005 LDINT R3 56 + 0x7C040400, // 0006 CALL R1 2 + 0x540A3FF6, // 0007 LDINT R2 16375 + 0x24080202, // 0008 GT R2 R1 R2 + 0x780A0000, // 0009 JMPF R2 #000B + 0x80060A00, // 000A RET 1 K5 + 0x0C08030F, // 000B DIV R2 R1 K15 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: AXP2102 +********************************************************************/ +extern const bclass be_class_I2C_Driver; +be_local_class(AXP2102, + 0, + &be_class_I2C_Driver, + be_nested_map(24, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP2102_get_vbus_voltage_closure) }, + { be_const_key(is_charging, -1), be_const_closure(class_AXP2102_is_charging_closure) }, + { be_const_key(battery_present, -1), be_const_closure(class_AXP2102_battery_present_closure) }, + { be_const_key(init, -1), be_const_closure(class_AXP2102_init_closure) }, + { be_const_key(set_dldo_voltage, -1), be_const_closure(class_AXP2102_set_dldo_voltage_closure) }, + { be_const_key(_charge, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(13, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(25), + be_const_int(30), + be_const_int(35), + be_const_int(40), + be_const_int(60), + be_const_int(80), + be_const_int(100), + be_const_int(120), + be_const_int(140), + be_const_int(160), + be_const_int(180), + be_const_int(200), + be_const_int(255), + })) ) } )) }, + { be_const_key(set_charge_voltage, -1), be_const_closure(class_AXP2102_set_charge_voltage_closure) }, + { be_const_key(get_battery_level, 23), be_const_closure(class_AXP2102_get_battery_level_closure) }, + { be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP2102_set_ldo_voltage_closure) }, + { be_const_key(get_bat_current, 0), be_const_closure(class_AXP2102_get_bat_current_closure) }, + { be_const_key(set_charge_current, -1), be_const_closure(class_AXP2102_set_charge_current_closure) }, + { be_const_key(_charge_voltage, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(6, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(410), + be_const_int(420), + be_const_int(435), + be_const_int(440), + be_const_int(460), + be_const_int(655), + })) ) } )) }, + { be_const_key(set_pre_charge_current, 16), be_const_closure(class_AXP2102_set_pre_charge_current_closure) }, + { be_const_key(get_bat_power, -1), be_const_closure(class_AXP2102_get_bat_power_closure) }, + { be_const_key(get_temp, 5), be_const_closure(class_AXP2102_get_temp_closure) }, + { be_const_key(get_bat_voltage, 17), be_const_closure(class_AXP2102_get_bat_voltage_closure) }, + { be_const_key(get_vbus_good, -1), be_const_closure(class_AXP2102_get_vbus_good_closure) }, + { be_const_key(get_bat_charge_current, -1), be_const_closure(class_AXP2102_get_bat_charge_current_closure) }, + { be_const_key(set_battery_charge, 15), be_const_closure(class_AXP2102_set_battery_charge_closure) }, + { be_const_key(get_aps_voltage, 11), be_const_closure(class_AXP2102_get_aps_voltage_closure) }, + { be_const_key(_pre_charge, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(10, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(25), + be_const_int(50), + be_const_int(75), + be_const_int(100), + be_const_int(125), + be_const_int(150), + be_const_int(175), + be_const_int(200), + be_const_int(255), + })) ) } )) }, + { be_const_key(get_ldo_enable, 6), be_const_closure(class_AXP2102_get_ldo_enable_closure) }, + { be_const_key(get_vbus_current, -1), be_const_closure(class_AXP2102_get_vbus_current_closure) }, + { be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP2102_get_battery_charging_status_closure) }, + })), + (bstring*) &be_const_str_AXP2102 +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_Wire.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_Wire.h new file mode 100644 index 000000000..545533000 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_Wire.h @@ -0,0 +1,105 @@ +/* Solidification of Wire.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: read_bytes +********************************************************************/ +be_local_closure(class_Wire_read_bytes, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str(_begin_transmission), + /* K1 */ be_nested_str(_write), + /* K2 */ be_nested_str(_end_transmission), + /* K3 */ be_nested_str(_request_from), + /* K4 */ be_nested_str(_available), + /* K5 */ be_nested_str(append), + /* K6 */ be_nested_str(_read), + }), + &be_const_str_read_bytes, + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x8C100100, // 0000 GETMET R4 R0 K0 + 0x5C180200, // 0001 MOVE R6 R1 + 0x7C100400, // 0002 CALL R4 2 + 0x8C100101, // 0003 GETMET R4 R0 K1 + 0x5C180400, // 0004 MOVE R6 R2 + 0x7C100400, // 0005 CALL R4 2 + 0x8C100102, // 0006 GETMET R4 R0 K2 + 0x50180200, // 0007 LDBOOL R6 1 0 + 0x7C100400, // 0008 CALL R4 2 + 0x8C100103, // 0009 GETMET R4 R0 K3 + 0x5C180200, // 000A MOVE R6 R1 + 0x5C1C0600, // 000B MOVE R7 R3 + 0x7C100600, // 000C CALL R4 3 + 0x60100015, // 000D GETGBL R4 G21 + 0x5C140600, // 000E MOVE R5 R3 + 0x7C100200, // 000F CALL R4 1 + 0x8C140104, // 0010 GETMET R5 R0 K4 + 0x7C140200, // 0011 CALL R5 1 + 0x78160004, // 0012 JMPF R5 #0018 + 0x8C140905, // 0013 GETMET R5 R4 K5 + 0x8C1C0106, // 0014 GETMET R7 R0 K6 + 0x7C1C0200, // 0015 CALL R7 1 + 0x7C140400, // 0016 CALL R5 2 + 0x7001FFF7, // 0017 JMP #0010 + 0x8C140102, // 0018 GETMET R5 R0 K2 + 0x501C0200, // 0019 LDBOOL R7 1 0 + 0x7C140400, // 001A CALL R5 2 + 0x80040800, // 001B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_bytes +********************************************************************/ +be_local_closure(class_Wire_write_bytes, /* name */ + be_nested_proto( + 7, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(_begin_transmission), + /* K1 */ be_nested_str(_write), + /* K2 */ be_nested_str(_end_transmission), + }), + &be_const_str_write_bytes, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8C100100, // 0000 GETMET R4 R0 K0 + 0x5C180200, // 0001 MOVE R6 R1 + 0x7C100400, // 0002 CALL R4 2 + 0x8C100101, // 0003 GETMET R4 R0 K1 + 0x5C180400, // 0004 MOVE R6 R2 + 0x7C100400, // 0005 CALL R4 2 + 0x8C100101, // 0006 GETMET R4 R0 K1 + 0x5C180600, // 0007 MOVE R6 R3 + 0x7C100400, // 0008 CALL R4 2 + 0x8C100102, // 0009 GETMET R4 R0 K2 + 0x7C100200, // 000A CALL R4 1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_autoconf_module.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_autoconf_module.h new file mode 100644 index 000000000..ef5e1921e --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_autoconf_module.h @@ -0,0 +1,1357 @@ +/* Solidification of autoconf_module.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Autoconf' ktab size: 126, total: 207 (saved 648 bytes) +static const bvalue be_ktab_class_Autoconf[126] = { + /* K0 */ be_nested_str(webserver), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(check_privileged_access), + /* K3 */ be_nested_str(has_arg), + /* K4 */ be_nested_str(reapply), + /* K5 */ be_nested_str(tasmota), + /* K6 */ be_nested_str(log), + /* K7 */ be_nested_str(CFG_X3A_X20removing_X20first_X20time_X20marker), + /* K8 */ be_const_int(2), + /* K9 */ be_nested_str(clear_first_time), + /* K10 */ be_nested_str(redirect), + /* K11 */ be_nested_str(_X2F_X3Frst_X3D), + /* K12 */ be_nested_str(zip), + /* K13 */ be_nested_str(CFG_X3A_X20removing_X20autoconf_X20files), + /* K14 */ be_nested_str(delete_all_configs), + /* K15 */ be_nested_str(arg), + /* K16 */ be_nested_str(reset), + /* K17 */ be_nested_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf), + /* K18 */ be_nested_str(arch), + /* K19 */ be_nested_str(CFG_X3A_X20downloading_X20_X27_X25s_X27), + /* K20 */ be_nested_str(_X25s_X2Eautoconf), + /* K21 */ be_nested_str(webclient), + /* K22 */ be_nested_str(begin), + /* K23 */ be_nested_str(GET), + /* K24 */ be_nested_str(return_X20code_X3D_X25i), + /* K25 */ be_nested_str(connection_error), + /* K26 */ be_nested_str(write_file), + /* K27 */ be_nested_str(close), + /* K28 */ be_nested_str(value_error), + /* K29 */ be_nested_str(Unknown_X20command), + /* K30 */ be_nested_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K31 */ be_nested_str(content_start), + /* K32 */ be_nested_str(Parameter_X20error), + /* K33 */ be_nested_str(content_send_style), + /* K34 */ be_nested_str(content_send), + /* K35 */ be_nested_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E), + /* K36 */ be_nested_str(content_button), + /* K37 */ be_nested_str(BUTTON_CONFIGURATION), + /* K38 */ be_nested_str(content_stop), + /* K39 */ be_nested_str(_archive), + /* K40 */ be_nested_str(_X23init_X2Ebat), + /* K41 */ be_nested_str(is_first_time), + /* K42 */ be_nested_str(exists), + /* K43 */ be_nested_str(set_first_time), + /* K44 */ be_nested_str(run_bat), + /* K45 */ be_nested_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting), + /* K46 */ be_nested_str(_X23display_X2Eini), + /* K47 */ be_nested_str(display_X2Eini), + /* K48 */ be_nested_str(r), + /* K49 */ be_nested_str(w), + /* K50 */ be_nested_str(readbytes), + /* K51 */ be_nested_str(write), + /* K52 */ be_nested_str(CFG_X3A_X20_X27display_X2Eini_X27_X20extracted_X2C_X20restarting), + /* K53 */ be_nested_str(CFG_X3A_X20could_X20not_X20copy_X20_X27display_X2Eini_X27_X20_X28_X25s_X20_X2D_X20_X25s_X29_X27), + /* K54 */ be_nested_str(cmd), + /* K55 */ be_nested_str(Restart_X201), + /* K56 */ be_nested_str(_X23autoexec_X2Ebat), + /* K57 */ be_nested_str(CFG_X3A_X20running_X20), + /* K58 */ be_const_int(3), + /* K59 */ be_nested_str(CFG_X3A_X20ran_X20_X20), + /* K60 */ be_nested_str(_X23autoexec_X2Ebe), + /* K61 */ be_nested_str(CFG_X3A_X20loading_X20), + /* K62 */ be_nested_str(load), + /* K63 */ be_nested_str(CFG_X3A_X20loaded_X20_X20), + /* K64 */ be_nested_str(readline), + /* K65 */ be_const_int(0), + /* K66 */ be_nested_str(tell), + /* K67 */ be_nested_str(size), + /* K68 */ be_nested_str(_X0A), + /* K69 */ be_nested_str(_X0D), + /* K70 */ be_nested_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29), + /* K71 */ be_const_int(1), + /* K72 */ be_nested_str(string), + /* K73 */ be_nested_str(Auto_X2Dconfiguration), + /* K74 */ be_nested_str(_X3Cp_X3E_X3Csmall_X3E_X26nbsp_X3B_X28This_X20feature_X20requires_X20an_X20internet_X20connection_X29_X3C_X2Fsmall_X3E_X3C_X2Fp_X3E), + /* K75 */ be_nested_str(get_current_module_path), + /* K76 */ be_nested_str(tr), + /* K77 */ be_nested_str(get_current_module_name), + /* K78 */ be_nested_str(_), + /* K79 */ be_nested_str(_X20), + /* K80 */ be_nested_str(_error), + /* K81 */ be_nested_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B), + /* K82 */ be_nested_str(_X26lt_X3BNone_X26gt_X3B), + /* K83 */ be_nested_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E), + /* K84 */ be_nested_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E), + /* K85 */ be_nested_str(_X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E), + /* K86 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20), + /* K87 */ be_nested_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E), + /* K88 */ be_nested_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E), + /* K89 */ be_nested_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E), + /* K90 */ be_nested_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K91 */ be_nested_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E), + /* K92 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dzip_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20), + /* K93 */ be_nested_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E), + /* K94 */ be_nested_str(_X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E), + /* K95 */ be_nested_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E), + /* K96 */ be_nested_str(load_templates), + /* K97 */ be_nested_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E), + /* K98 */ be_nested_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E), + /* K99 */ be_nested_str(stop_iteration), + /* K100 */ be_nested_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K101 */ be_nested_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E), + /* K102 */ be_nested_str(listdir), + /* K103 */ be_nested_str(_X2F), + /* K104 */ be_nested_str(find), + /* K105 */ be_nested_str(_X2Eautoconf), + /* K106 */ be_nested_str(remove), + /* K107 */ be_nested_str(_X2F_X2Eautoconf), + /* K108 */ be_nested_str(json), + /* K109 */ be_nested_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson), + /* K110 */ be_nested_str(CFG_X3A_X20loading_X20_X27_X25s_X27), + /* K111 */ be_nested_str(CFG_X3A_X20return_code_X3D_X25i), + /* K112 */ be_nested_str(get_string), + /* K113 */ be_nested_str(CFG_X3A_X20loaded_X20_X27_X25s_X27), + /* K114 */ be_nested_str(files), + /* K115 */ be_nested_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27), + /* K116 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3EAuto_X2DConf_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E), + /* K117 */ be_nested_str(add_driver), + /* K118 */ be_nested_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29), + /* K119 */ be_nested_str(CFG_X3A_X20No_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found), + /* K120 */ be_nested_str(_X23preinit_X2Ebe), + /* K121 */ be_nested_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27), + /* K122 */ be_nested_str(on), + /* K123 */ be_nested_str(_X2Fac), + /* K124 */ be_nested_str(HTTP_GET), + /* K125 */ be_nested_str(HTTP_POST), +}; + + +extern const bclass be_class_Autoconf; + +/******************************************************************** +** Solidified function: page_autoconf_ctl +********************************************************************/ +be_local_closure(class_Autoconf_page_autoconf_ctl, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_page_autoconf_ctl, + &be_const_str_solidified, + ( &(const binstruction[116]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA40A0200, // 0001 IMPORT R2 K1 + 0x8C0C0302, // 0002 GETMET R3 R1 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x740E0001, // 0004 JMPT R3 #0007 + 0x4C0C0000, // 0005 LDNIL R3 + 0x80040600, // 0006 RET 1 R3 + 0xA802004E, // 0007 EXBLK 0 #0057 + 0x8C0C0303, // 0008 GETMET R3 R1 K3 + 0x58140004, // 0009 LDCONST R5 K4 + 0x7C0C0400, // 000A CALL R3 2 + 0x780E000A, // 000B JMPF R3 #0017 + 0xB80E0A00, // 000C GETNGBL R3 K5 + 0x8C0C0706, // 000D GETMET R3 R3 K6 + 0x58140007, // 000E LDCONST R5 K7 + 0x58180008, // 000F LDCONST R6 K8 + 0x7C0C0600, // 0010 CALL R3 3 + 0x8C0C0109, // 0011 GETMET R3 R0 K9 + 0x7C0C0200, // 0012 CALL R3 1 + 0x8C0C030A, // 0013 GETMET R3 R1 K10 + 0x5814000B, // 0014 LDCONST R5 K11 + 0x7C0C0400, // 0015 CALL R3 2 + 0x7002003D, // 0016 JMP #0055 + 0x8C0C0303, // 0017 GETMET R3 R1 K3 + 0x5814000C, // 0018 LDCONST R5 K12 + 0x7C0C0400, // 0019 CALL R3 2 + 0x780E0038, // 001A JMPF R3 #0054 + 0xB80E0A00, // 001B GETNGBL R3 K5 + 0x8C0C0706, // 001C GETMET R3 R3 K6 + 0x5814000D, // 001D LDCONST R5 K13 + 0x58180008, // 001E LDCONST R6 K8 + 0x7C0C0600, // 001F CALL R3 3 + 0x8C0C010E, // 0020 GETMET R3 R0 K14 + 0x7C0C0200, // 0021 CALL R3 1 + 0x8C0C030F, // 0022 GETMET R3 R1 K15 + 0x5814000C, // 0023 LDCONST R5 K12 + 0x7C0C0400, // 0024 CALL R3 2 + 0x20100710, // 0025 NE R4 R3 K16 + 0x78120026, // 0026 JMPF R4 #004E + 0x60100018, // 0027 GETGBL R4 G24 + 0x58140011, // 0028 LDCONST R5 K17 + 0xB81A0A00, // 0029 GETNGBL R6 K5 + 0x8C180D12, // 002A GETMET R6 R6 K18 + 0x7C180200, // 002B CALL R6 1 + 0x5C1C0600, // 002C MOVE R7 R3 + 0x7C100600, // 002D CALL R4 3 + 0xB8160A00, // 002E GETNGBL R5 K5 + 0x8C140B06, // 002F GETMET R5 R5 K6 + 0x601C0018, // 0030 GETGBL R7 G24 + 0x58200013, // 0031 LDCONST R8 K19 + 0x5C240800, // 0032 MOVE R9 R4 + 0x7C1C0400, // 0033 CALL R7 2 + 0x58200008, // 0034 LDCONST R8 K8 + 0x7C140600, // 0035 CALL R5 3 + 0x60140018, // 0036 GETGBL R5 G24 + 0x58180014, // 0037 LDCONST R6 K20 + 0x5C1C0600, // 0038 MOVE R7 R3 + 0x7C140400, // 0039 CALL R5 2 + 0xB81A2A00, // 003A GETNGBL R6 K21 + 0x7C180000, // 003B CALL R6 0 + 0x8C1C0D16, // 003C GETMET R7 R6 K22 + 0x5C240800, // 003D MOVE R9 R4 + 0x7C1C0400, // 003E CALL R7 2 + 0x8C1C0D17, // 003F GETMET R7 R6 K23 + 0x7C1C0200, // 0040 CALL R7 1 + 0x542200C7, // 0041 LDINT R8 200 + 0x20200E08, // 0042 NE R8 R7 R8 + 0x78220004, // 0043 JMPF R8 #0049 + 0x60200018, // 0044 GETGBL R8 G24 + 0x58240018, // 0045 LDCONST R9 K24 + 0x5C280E00, // 0046 MOVE R10 R7 + 0x7C200400, // 0047 CALL R8 2 + 0xB0063208, // 0048 RAISE 1 K25 R8 + 0x8C200D1A, // 0049 GETMET R8 R6 K26 + 0x5C280A00, // 004A MOVE R10 R5 + 0x7C200400, // 004B CALL R8 2 + 0x8C200D1B, // 004C GETMET R8 R6 K27 + 0x7C200200, // 004D CALL R8 1 + 0x8C100109, // 004E GETMET R4 R0 K9 + 0x7C100200, // 004F CALL R4 1 + 0x8C10030A, // 0050 GETMET R4 R1 K10 + 0x5818000B, // 0051 LDCONST R6 K11 + 0x7C100400, // 0052 CALL R4 2 + 0x70020000, // 0053 JMP #0055 + 0xB006391D, // 0054 RAISE 1 K28 K29 + 0xA8040001, // 0055 EXBLK 1 1 + 0x7002001B, // 0056 JMP #0073 + 0xAC0C0002, // 0057 CATCH R3 0 2 + 0x70020018, // 0058 JMP #0072 + 0x60140001, // 0059 GETGBL R5 G1 + 0x60180018, // 005A GETGBL R6 G24 + 0x581C001E, // 005B LDCONST R7 K30 + 0x5C200600, // 005C MOVE R8 R3 + 0x5C240800, // 005D MOVE R9 R4 + 0x7C180600, // 005E CALL R6 3 + 0x7C140200, // 005F CALL R5 1 + 0x8C14031F, // 0060 GETMET R5 R1 K31 + 0x581C0020, // 0061 LDCONST R7 K32 + 0x7C140400, // 0062 CALL R5 2 + 0x8C140321, // 0063 GETMET R5 R1 K33 + 0x7C140200, // 0064 CALL R5 1 + 0x8C140322, // 0065 GETMET R5 R1 K34 + 0x601C0018, // 0066 GETGBL R7 G24 + 0x58200023, // 0067 LDCONST R8 K35 + 0x5C240600, // 0068 MOVE R9 R3 + 0x5C280800, // 0069 MOVE R10 R4 + 0x7C1C0600, // 006A CALL R7 3 + 0x7C140400, // 006B CALL R5 2 + 0x8C140324, // 006C GETMET R5 R1 K36 + 0x881C0325, // 006D GETMBR R7 R1 K37 + 0x7C140400, // 006E CALL R5 2 + 0x8C140326, // 006F GETMET R5 R1 K38 + 0x7C140200, // 0070 CALL R5 1 + 0x70020000, // 0071 JMP #0073 + 0xB0080000, // 0072 RAISE 2 R0 R0 + 0x80000000, // 0073 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoexec +********************************************************************/ +be_local_closure(class_Autoconf_autoexec, /* name */ + be_nested_proto( + 13, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_autoexec, + &be_const_str_solidified, + ( &(const binstruction[147]) { /* code */ + 0x88040127, // 0000 GETMBR R1 R0 K39 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0xA4060200, // 0005 IMPORT R1 K1 + 0x50080000, // 0006 LDBOOL R2 0 0 + 0x880C0127, // 0007 GETMBR R3 R0 K39 + 0x000C0728, // 0008 ADD R3 R3 K40 + 0x8C100129, // 0009 GETMET R4 R0 K41 + 0x7C100200, // 000A CALL R4 1 + 0x7812000F, // 000B JMPF R4 #001C + 0x8C10032A, // 000C GETMET R4 R1 K42 + 0x5C180600, // 000D MOVE R6 R3 + 0x7C100400, // 000E CALL R4 2 + 0x7812000B, // 000F JMPF R4 #001C + 0x8C10012B, // 0010 GETMET R4 R0 K43 + 0x7C100200, // 0011 CALL R4 1 + 0x8C10012C, // 0012 GETMET R4 R0 K44 + 0x5C180600, // 0013 MOVE R6 R3 + 0x7C100400, // 0014 CALL R4 2 + 0xB8120A00, // 0015 GETNGBL R4 K5 + 0x8C100906, // 0016 GETMET R4 R4 K6 + 0x5818002D, // 0017 LDCONST R6 K45 + 0x581C0008, // 0018 LDCONST R7 K8 + 0x7C100600, // 0019 CALL R4 3 + 0x50080200, // 001A LDBOOL R2 1 0 + 0x80000800, // 001B RET 0 + 0x88100127, // 001C GETMBR R4 R0 K39 + 0x0010092E, // 001D ADD R4 R4 K46 + 0x5C0C0800, // 001E MOVE R3 R4 + 0x8C10032A, // 001F GETMET R4 R1 K42 + 0x5C180600, // 0020 MOVE R6 R3 + 0x7C100400, // 0021 CALL R4 2 + 0x78120040, // 0022 JMPF R4 #0064 + 0x8C100129, // 0023 GETMET R4 R0 K41 + 0x7C100200, // 0024 CALL R4 1 + 0x74120003, // 0025 JMPT R4 #002A + 0x8C10032A, // 0026 GETMET R4 R1 K42 + 0x5818002F, // 0027 LDCONST R6 K47 + 0x7C100400, // 0028 CALL R4 2 + 0x74120039, // 0029 JMPT R4 #0064 + 0x8C100129, // 002A GETMET R4 R0 K41 + 0x7C100200, // 002B CALL R4 1 + 0x78120003, // 002C JMPF R4 #0031 + 0x5C100400, // 002D MOVE R4 R2 + 0x74120001, // 002E JMPT R4 #0031 + 0x8C10012B, // 002F GETMET R4 R0 K43 + 0x7C100200, // 0030 CALL R4 1 + 0x4C100000, // 0031 LDNIL R4 + 0x4C140000, // 0032 LDNIL R5 + 0xA802001A, // 0033 EXBLK 0 #004F + 0x60180011, // 0034 GETGBL R6 G17 + 0x5C1C0600, // 0035 MOVE R7 R3 + 0x58200030, // 0036 LDCONST R8 K48 + 0x7C180400, // 0037 CALL R6 2 + 0x5C100C00, // 0038 MOVE R4 R6 + 0x60180011, // 0039 GETGBL R6 G17 + 0x581C002F, // 003A LDCONST R7 K47 + 0x58200031, // 003B LDCONST R8 K49 + 0x7C180400, // 003C CALL R6 2 + 0x5C140C00, // 003D MOVE R5 R6 + 0x8C180932, // 003E GETMET R6 R4 K50 + 0x7C180200, // 003F CALL R6 1 + 0x8C1C0B33, // 0040 GETMET R7 R5 K51 + 0x5C240C00, // 0041 MOVE R9 R6 + 0x7C1C0400, // 0042 CALL R7 2 + 0x8C1C091B, // 0043 GETMET R7 R4 K27 + 0x7C1C0200, // 0044 CALL R7 1 + 0x8C1C0B1B, // 0045 GETMET R7 R5 K27 + 0x7C1C0200, // 0046 CALL R7 1 + 0x50080200, // 0047 LDBOOL R2 1 0 + 0xB81E0A00, // 0048 GETNGBL R7 K5 + 0x8C1C0F06, // 0049 GETMET R7 R7 K6 + 0x58240034, // 004A LDCONST R9 K52 + 0x58280008, // 004B LDCONST R10 K8 + 0x7C1C0600, // 004C CALL R7 3 + 0xA8040001, // 004D EXBLK 1 1 + 0x70020014, // 004E JMP #0064 + 0xAC180002, // 004F CATCH R6 0 2 + 0x70020011, // 0050 JMP #0063 + 0x60200001, // 0051 GETGBL R8 G1 + 0x60240018, // 0052 GETGBL R9 G24 + 0x58280035, // 0053 LDCONST R10 K53 + 0x5C2C0C00, // 0054 MOVE R11 R6 + 0x5C300E00, // 0055 MOVE R12 R7 + 0x7C240600, // 0056 CALL R9 3 + 0x7C200200, // 0057 CALL R8 1 + 0x4C200000, // 0058 LDNIL R8 + 0x20200808, // 0059 NE R8 R4 R8 + 0x78220001, // 005A JMPF R8 #005D + 0x8C20091B, // 005B GETMET R8 R4 K27 + 0x7C200200, // 005C CALL R8 1 + 0x4C200000, // 005D LDNIL R8 + 0x20200A08, // 005E NE R8 R5 R8 + 0x78220001, // 005F JMPF R8 #0062 + 0x8C200B1B, // 0060 GETMET R8 R5 K27 + 0x7C200200, // 0061 CALL R8 1 + 0x70020000, // 0062 JMP #0064 + 0xB0080000, // 0063 RAISE 2 R0 R0 + 0x780A0004, // 0064 JMPF R2 #006A + 0xB8120A00, // 0065 GETNGBL R4 K5 + 0x8C100936, // 0066 GETMET R4 R4 K54 + 0x58180037, // 0067 LDCONST R6 K55 + 0x7C100400, // 0068 CALL R4 2 + 0x80000800, // 0069 RET 0 + 0x88100127, // 006A GETMBR R4 R0 K39 + 0x00100938, // 006B ADD R4 R4 K56 + 0x5C0C0800, // 006C MOVE R3 R4 + 0x8C10032A, // 006D GETMET R4 R1 K42 + 0x5C180600, // 006E MOVE R6 R3 + 0x7C100400, // 006F CALL R4 2 + 0x7812000C, // 0070 JMPF R4 #007E + 0xB8120A00, // 0071 GETNGBL R4 K5 + 0x8C100906, // 0072 GETMET R4 R4 K6 + 0x001A7203, // 0073 ADD R6 K57 R3 + 0x581C003A, // 0074 LDCONST R7 K58 + 0x7C100600, // 0075 CALL R4 3 + 0x8C10012C, // 0076 GETMET R4 R0 K44 + 0x5C180600, // 0077 MOVE R6 R3 + 0x7C100400, // 0078 CALL R4 2 + 0xB8120A00, // 0079 GETNGBL R4 K5 + 0x8C100906, // 007A GETMET R4 R4 K6 + 0x001A7603, // 007B ADD R6 K59 R3 + 0x581C003A, // 007C LDCONST R7 K58 + 0x7C100600, // 007D CALL R4 3 + 0x88100127, // 007E GETMBR R4 R0 K39 + 0x0010093C, // 007F ADD R4 R4 K60 + 0x5C0C0800, // 0080 MOVE R3 R4 + 0x8C10032A, // 0081 GETMET R4 R1 K42 + 0x5C180600, // 0082 MOVE R6 R3 + 0x7C100400, // 0083 CALL R4 2 + 0x7812000C, // 0084 JMPF R4 #0092 + 0xB8120A00, // 0085 GETNGBL R4 K5 + 0x8C100906, // 0086 GETMET R4 R4 K6 + 0x001A7A03, // 0087 ADD R6 K61 R3 + 0x581C003A, // 0088 LDCONST R7 K58 + 0x7C100600, // 0089 CALL R4 3 + 0xB8127C00, // 008A GETNGBL R4 K62 + 0x5C140600, // 008B MOVE R5 R3 + 0x7C100200, // 008C CALL R4 1 + 0xB8120A00, // 008D GETNGBL R4 K5 + 0x8C100906, // 008E GETMET R4 R4 K6 + 0x001A7E03, // 008F ADD R6 K63 R3 + 0x581C003A, // 0090 LDCONST R7 K58 + 0x7C100600, // 0091 CALL R4 3 + 0x80000000, // 0092 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: run_bat +********************************************************************/ +be_local_closure(class_Autoconf_run_bat, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_run_bat, + &be_const_str_solidified, + ( &(const binstruction[74]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0xA8020033, // 0001 EXBLK 0 #0036 + 0x600C0011, // 0002 GETGBL R3 G17 + 0x5C100200, // 0003 MOVE R4 R1 + 0x58140030, // 0004 LDCONST R5 K48 + 0x7C0C0400, // 0005 CALL R3 2 + 0x5C080600, // 0006 MOVE R2 R3 + 0x500C0200, // 0007 LDBOOL R3 1 0 + 0x780E0028, // 0008 JMPF R3 #0032 + 0x8C0C0540, // 0009 GETMET R3 R2 K64 + 0x7C0C0200, // 000A CALL R3 1 + 0x6010000C, // 000B GETGBL R4 G12 + 0x5C140600, // 000C MOVE R5 R3 + 0x7C100200, // 000D CALL R4 1 + 0x1C100941, // 000E EQ R4 R4 K65 + 0x78120006, // 000F JMPF R4 #0017 + 0x8C100542, // 0010 GETMET R4 R2 K66 + 0x7C100200, // 0011 CALL R4 1 + 0x8C140543, // 0012 GETMET R5 R2 K67 + 0x7C140200, // 0013 CALL R5 1 + 0x28100805, // 0014 GE R4 R4 R5 + 0x78120000, // 0015 JMPF R4 #0017 + 0x7002001A, // 0016 JMP #0032 + 0x6010000C, // 0017 GETGBL R4 G12 + 0x5C140600, // 0018 MOVE R5 R3 + 0x7C100200, // 0019 CALL R4 1 + 0x24100941, // 001A GT R4 R4 K65 + 0x7812000B, // 001B JMPF R4 #0028 + 0x5411FFFE, // 001C LDINT R4 -1 + 0x94100604, // 001D GETIDX R4 R3 R4 + 0x1C100944, // 001E EQ R4 R4 K68 + 0x74120003, // 001F JMPT R4 #0024 + 0x5411FFFE, // 0020 LDINT R4 -1 + 0x94100604, // 0021 GETIDX R4 R3 R4 + 0x1C100945, // 0022 EQ R4 R4 K69 + 0x78120003, // 0023 JMPF R4 #0028 + 0x5411FFFD, // 0024 LDINT R4 -2 + 0x40128204, // 0025 CONNECT R4 K65 R4 + 0x940C0604, // 0026 GETIDX R3 R3 R4 + 0x7001FFEE, // 0027 JMP #0017 + 0x6010000C, // 0028 GETGBL R4 G12 + 0x5C140600, // 0029 MOVE R5 R3 + 0x7C100200, // 002A CALL R4 1 + 0x24100941, // 002B GT R4 R4 K65 + 0x78120003, // 002C JMPF R4 #0031 + 0xB8120A00, // 002D GETNGBL R4 K5 + 0x8C100936, // 002E GETMET R4 R4 K54 + 0x5C180600, // 002F MOVE R6 R3 + 0x7C100400, // 0030 CALL R4 2 + 0x7001FFD4, // 0031 JMP #0007 + 0x8C0C051B, // 0032 GETMET R3 R2 K27 + 0x7C0C0200, // 0033 CALL R3 1 + 0xA8040001, // 0034 EXBLK 1 1 + 0x70020012, // 0035 JMP #0049 + 0xAC0C0002, // 0036 CATCH R3 0 2 + 0x7002000F, // 0037 JMP #0048 + 0xB8160A00, // 0038 GETNGBL R5 K5 + 0x8C140B06, // 0039 GETMET R5 R5 K6 + 0x601C0018, // 003A GETGBL R7 G24 + 0x58200046, // 003B LDCONST R8 K70 + 0x5C240200, // 003C MOVE R9 R1 + 0x5C280600, // 003D MOVE R10 R3 + 0x5C2C0800, // 003E MOVE R11 R4 + 0x7C1C0800, // 003F CALL R7 4 + 0x58200047, // 0040 LDCONST R8 K71 + 0x7C140600, // 0041 CALL R5 3 + 0x4C140000, // 0042 LDNIL R5 + 0x20140405, // 0043 NE R5 R2 R5 + 0x78160001, // 0044 JMPF R5 #0047 + 0x8C14051B, // 0045 GETMET R5 R2 K27 + 0x7C140200, // 0046 CALL R5 1 + 0x70020000, // 0047 JMP #0049 + 0xB0080000, // 0048 RAISE 2 R0 R0 + 0x80000000, // 0049 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_autoconf_mgr +********************************************************************/ +be_local_closure(class_Autoconf_page_autoconf_mgr, /* name */ + be_nested_proto( + 18, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_page_autoconf_mgr, + &be_const_str_solidified, + ( &(const binstruction[124]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA40A9000, // 0001 IMPORT R2 K72 + 0x8C0C0302, // 0002 GETMET R3 R1 K2 + 0x7C0C0200, // 0003 CALL R3 1 + 0x740E0001, // 0004 JMPT R3 #0007 + 0x4C0C0000, // 0005 LDNIL R3 + 0x80040600, // 0006 RET 1 R3 + 0x8C0C031F, // 0007 GETMET R3 R1 K31 + 0x58140049, // 0008 LDCONST R5 K73 + 0x7C0C0400, // 0009 CALL R3 2 + 0x8C0C0321, // 000A GETMET R3 R1 K33 + 0x7C0C0200, // 000B CALL R3 1 + 0x8C0C0322, // 000C GETMET R3 R1 K34 + 0x5814004A, // 000D LDCONST R5 K74 + 0x7C0C0400, // 000E CALL R3 2 + 0x8C0C014B, // 000F GETMET R3 R0 K75 + 0x7C0C0200, // 0010 CALL R3 1 + 0x780E0006, // 0011 JMPF R3 #0019 + 0x8C10054C, // 0012 GETMET R4 R2 K76 + 0x8C18014D, // 0013 GETMET R6 R0 K77 + 0x7C180200, // 0014 CALL R6 1 + 0x581C004E, // 0015 LDCONST R7 K78 + 0x5820004F, // 0016 LDCONST R8 K79 + 0x7C100800, // 0017 CALL R4 4 + 0x70020004, // 0018 JMP #001E + 0x88100150, // 0019 GETMBR R4 R0 K80 + 0x78120001, // 001A JMPF R4 #001D + 0x58100051, // 001B LDCONST R4 K81 + 0x70020000, // 001C JMP #001E + 0x58100052, // 001D LDCONST R4 K82 + 0x8C140322, // 001E GETMET R5 R1 K34 + 0x581C0053, // 001F LDCONST R7 K83 + 0x7C140400, // 0020 CALL R5 2 + 0x8C140322, // 0021 GETMET R5 R1 K34 + 0x601C0018, // 0022 GETGBL R7 G24 + 0x58200054, // 0023 LDCONST R8 K84 + 0x7C1C0200, // 0024 CALL R7 1 + 0x7C140400, // 0025 CALL R5 2 + 0x8C140322, // 0026 GETMET R5 R1 K34 + 0x601C0018, // 0027 GETGBL R7 G24 + 0x58200055, // 0028 LDCONST R8 K85 + 0x5C240800, // 0029 MOVE R9 R4 + 0x7C1C0400, // 002A CALL R7 2 + 0x7C140400, // 002B CALL R5 2 + 0x780E000B, // 002C JMPF R3 #0039 + 0x8C140322, // 002D GETMET R5 R1 K34 + 0x581C0056, // 002E LDCONST R7 K86 + 0x7C140400, // 002F CALL R5 2 + 0x8C140322, // 0030 GETMET R5 R1 K34 + 0x581C0057, // 0031 LDCONST R7 K87 + 0x7C140400, // 0032 CALL R5 2 + 0x8C140322, // 0033 GETMET R5 R1 K34 + 0x581C0058, // 0034 LDCONST R7 K88 + 0x7C140400, // 0035 CALL R5 2 + 0x8C140322, // 0036 GETMET R5 R1 K34 + 0x581C0059, // 0037 LDCONST R7 K89 + 0x7C140400, // 0038 CALL R5 2 + 0x8C140322, // 0039 GETMET R5 R1 K34 + 0x581C005A, // 003A LDCONST R7 K90 + 0x7C140400, // 003B CALL R5 2 + 0x8C140322, // 003C GETMET R5 R1 K34 + 0x581C0053, // 003D LDCONST R7 K83 + 0x7C140400, // 003E CALL R5 2 + 0x8C140322, // 003F GETMET R5 R1 K34 + 0x601C0018, // 0040 GETGBL R7 G24 + 0x5820005B, // 0041 LDCONST R8 K91 + 0x7C1C0200, // 0042 CALL R7 1 + 0x7C140400, // 0043 CALL R5 2 + 0x8C140322, // 0044 GETMET R5 R1 K34 + 0x581C005C, // 0045 LDCONST R7 K92 + 0x7C140400, // 0046 CALL R5 2 + 0x8C140322, // 0047 GETMET R5 R1 K34 + 0x581C005D, // 0048 LDCONST R7 K93 + 0x7C140400, // 0049 CALL R5 2 + 0x8C140322, // 004A GETMET R5 R1 K34 + 0x581C005E, // 004B LDCONST R7 K94 + 0x7C140400, // 004C CALL R5 2 + 0x8C140322, // 004D GETMET R5 R1 K34 + 0x581C005F, // 004E LDCONST R7 K95 + 0x7C140400, // 004F CALL R5 2 + 0x8C140160, // 0050 GETMET R5 R0 K96 + 0x7C140200, // 0051 CALL R5 1 + 0x8C180322, // 0052 GETMET R6 R1 K34 + 0x58200061, // 0053 LDCONST R8 K97 + 0x7C180400, // 0054 CALL R6 2 + 0x60180010, // 0055 GETGBL R6 G16 + 0x5C1C0A00, // 0056 MOVE R7 R5 + 0x7C180200, // 0057 CALL R6 1 + 0xA802000D, // 0058 EXBLK 0 #0067 + 0x5C1C0C00, // 0059 MOVE R7 R6 + 0x7C1C0000, // 005A CALL R7 0 + 0x8C200322, // 005B GETMET R8 R1 K34 + 0x60280018, // 005C GETGBL R10 G24 + 0x582C0062, // 005D LDCONST R11 K98 + 0x5C300E00, // 005E MOVE R12 R7 + 0x8C34054C, // 005F GETMET R13 R2 K76 + 0x5C3C0E00, // 0060 MOVE R15 R7 + 0x5840004E, // 0061 LDCONST R16 K78 + 0x5844004F, // 0062 LDCONST R17 K79 + 0x7C340800, // 0063 CALL R13 4 + 0x7C280600, // 0064 CALL R10 3 + 0x7C200400, // 0065 CALL R8 2 + 0x7001FFF1, // 0066 JMP #0059 + 0x58180063, // 0067 LDCONST R6 K99 + 0xAC180200, // 0068 CATCH R6 1 0 + 0xB0080000, // 0069 RAISE 2 R0 R0 + 0x8C180322, // 006A GETMET R6 R1 K34 + 0x58200064, // 006B LDCONST R8 K100 + 0x7C180400, // 006C CALL R6 2 + 0x8C180322, // 006D GETMET R6 R1 K34 + 0x58200065, // 006E LDCONST R8 K101 + 0x7C180400, // 006F CALL R6 2 + 0x8C180322, // 0070 GETMET R6 R1 K34 + 0x58200059, // 0071 LDCONST R8 K89 + 0x7C180400, // 0072 CALL R6 2 + 0x8C180322, // 0073 GETMET R6 R1 K34 + 0x5820005A, // 0074 LDCONST R8 K90 + 0x7C180400, // 0075 CALL R6 2 + 0x8C180324, // 0076 GETMET R6 R1 K36 + 0x88200325, // 0077 GETMBR R8 R1 K37 + 0x7C180400, // 0078 CALL R6 2 + 0x8C180326, // 0079 GETMET R6 R1 K38 + 0x7C180200, // 007A CALL R6 1 + 0x80000000, // 007B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_current_module_name +********************************************************************/ +be_local_closure(class_Autoconf_get_current_module_name, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_get_current_module_name, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x5405FFF5, // 0000 LDINT R1 -10 + 0x40068201, // 0001 CONNECT R1 K65 R1 + 0x88080127, // 0002 GETMBR R2 R0 K39 + 0x94040401, // 0003 GETIDX R1 R2 R1 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: delete_all_configs +********************************************************************/ +be_local_closure(class_Autoconf_delete_all_configs, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_delete_all_configs, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0xA40A9000, // 0001 IMPORT R2 K72 + 0x8C0C0366, // 0002 GETMET R3 R1 K102 + 0x58140067, // 0003 LDCONST R5 K103 + 0x7C0C0400, // 0004 CALL R3 2 + 0x60100010, // 0005 GETGBL R4 G16 + 0x5C140600, // 0006 MOVE R5 R3 + 0x7C100200, // 0007 CALL R4 1 + 0xA802000B, // 0008 EXBLK 0 #0015 + 0x5C140800, // 0009 MOVE R5 R4 + 0x7C140000, // 000A CALL R5 0 + 0x8C180568, // 000B GETMET R6 R2 K104 + 0x5C200A00, // 000C MOVE R8 R5 + 0x58240069, // 000D LDCONST R9 K105 + 0x7C180600, // 000E CALL R6 3 + 0x24180D41, // 000F GT R6 R6 K65 + 0x781A0002, // 0010 JMPF R6 #0014 + 0x8C18036A, // 0011 GETMET R6 R1 K106 + 0x5C200A00, // 0012 MOVE R8 R5 + 0x7C180400, // 0013 CALL R6 2 + 0x7001FFF3, // 0014 JMP #0009 + 0x58100063, // 0015 LDCONST R4 K99 + 0xAC100200, // 0016 CATCH R4 1 0 + 0xB0080000, // 0017 RAISE 2 R0 R0 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_first_time +********************************************************************/ +be_local_closure(class_Autoconf_set_first_time, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_set_first_time, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60040011, // 0000 GETGBL R1 G17 + 0x5808006B, // 0001 LDCONST R2 K107 + 0x580C0031, // 0002 LDCONST R3 K49 + 0x7C040400, // 0003 CALL R1 2 + 0x8C08031B, // 0004 GETMET R2 R1 K27 + 0x7C080200, // 0005 CALL R2 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load_templates +********************************************************************/ +be_local_closure(class_Autoconf_load_templates, /* name */ + be_nested_proto( + 13, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_load_templates, + &be_const_str_solidified, + ( &(const binstruction[85]) { /* code */ + 0xA406D800, // 0000 IMPORT R1 K108 + 0xA8020042, // 0001 EXBLK 0 #0045 + 0x60080018, // 0002 GETGBL R2 G24 + 0x580C006D, // 0003 LDCONST R3 K109 + 0xB8120A00, // 0004 GETNGBL R4 K5 + 0x8C100912, // 0005 GETMET R4 R4 K18 + 0x7C100200, // 0006 CALL R4 1 + 0x7C080400, // 0007 CALL R2 2 + 0xB80E0A00, // 0008 GETNGBL R3 K5 + 0x8C0C0706, // 0009 GETMET R3 R3 K6 + 0x60140018, // 000A GETGBL R5 G24 + 0x5818006E, // 000B LDCONST R6 K110 + 0x5C1C0400, // 000C MOVE R7 R2 + 0x7C140400, // 000D CALL R5 2 + 0x5818003A, // 000E LDCONST R6 K58 + 0x7C0C0600, // 000F CALL R3 3 + 0xB80E2A00, // 0010 GETNGBL R3 K21 + 0x7C0C0000, // 0011 CALL R3 0 + 0x8C100716, // 0012 GETMET R4 R3 K22 + 0x5C180400, // 0013 MOVE R6 R2 + 0x7C100400, // 0014 CALL R4 2 + 0x8C100717, // 0015 GETMET R4 R3 K23 + 0x7C100200, // 0016 CALL R4 1 + 0x541600C7, // 0017 LDINT R5 200 + 0x20140805, // 0018 NE R5 R4 R5 + 0x7816000A, // 0019 JMPF R5 #0025 + 0xB8160A00, // 001A GETNGBL R5 K5 + 0x8C140B06, // 001B GETMET R5 R5 K6 + 0x601C0018, // 001C GETGBL R7 G24 + 0x5820006F, // 001D LDCONST R8 K111 + 0x5C240800, // 001E MOVE R9 R4 + 0x7C1C0400, // 001F CALL R7 2 + 0x58200008, // 0020 LDCONST R8 K8 + 0x7C140600, // 0021 CALL R5 3 + 0x4C140000, // 0022 LDNIL R5 + 0xA8040001, // 0023 EXBLK 1 1 + 0x80040A00, // 0024 RET 1 R5 + 0x8C140770, // 0025 GETMET R5 R3 K112 + 0x7C140200, // 0026 CALL R5 1 + 0x8C18071B, // 0027 GETMET R6 R3 K27 + 0x7C180200, // 0028 CALL R6 1 + 0x8C18033E, // 0029 GETMET R6 R1 K62 + 0x5C200A00, // 002A MOVE R8 R5 + 0x7C180400, // 002B CALL R6 2 + 0xB81E0A00, // 002C GETNGBL R7 K5 + 0x8C1C0F06, // 002D GETMET R7 R7 K6 + 0x60240018, // 002E GETGBL R9 G24 + 0x58280071, // 002F LDCONST R10 K113 + 0x602C0008, // 0030 GETGBL R11 G8 + 0x5C300C00, // 0031 MOVE R12 R6 + 0x7C2C0200, // 0032 CALL R11 1 + 0x7C240400, // 0033 CALL R9 2 + 0x5828003A, // 0034 LDCONST R10 K58 + 0x7C1C0600, // 0035 CALL R7 3 + 0x8C1C0D68, // 0036 GETMET R7 R6 K104 + 0x58240072, // 0037 LDCONST R9 K114 + 0x7C1C0400, // 0038 CALL R7 2 + 0x6020000F, // 0039 GETGBL R8 G15 + 0x5C240E00, // 003A MOVE R9 R7 + 0x60280012, // 003B GETGBL R10 G18 + 0x7C200400, // 003C CALL R8 2 + 0x78220001, // 003D JMPF R8 #0040 + 0xA8040001, // 003E EXBLK 1 1 + 0x80040E00, // 003F RET 1 R7 + 0x4C200000, // 0040 LDNIL R8 + 0xA8040001, // 0041 EXBLK 1 1 + 0x80041000, // 0042 RET 1 R8 + 0xA8040001, // 0043 EXBLK 1 1 + 0x7002000E, // 0044 JMP #0054 + 0xAC080002, // 0045 CATCH R2 0 2 + 0x7002000B, // 0046 JMP #0053 + 0xB8120A00, // 0047 GETNGBL R4 K5 + 0x8C100906, // 0048 GETMET R4 R4 K6 + 0x60180018, // 0049 GETGBL R6 G24 + 0x581C0073, // 004A LDCONST R7 K115 + 0x5C200400, // 004B MOVE R8 R2 + 0x5C240600, // 004C MOVE R9 R3 + 0x7C180600, // 004D CALL R6 3 + 0x581C0008, // 004E LDCONST R7 K8 + 0x7C100600, // 004F CALL R4 3 + 0x4C100000, // 0050 LDNIL R4 + 0x80040800, // 0051 RET 1 R4 + 0x70020000, // 0052 JMP #0054 + 0xB0080000, // 0053 RAISE 2 R0 R0 + 0x80000000, // 0054 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_add_config_button +********************************************************************/ +be_local_closure(class_Autoconf_web_add_config_button, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_web_add_config_button, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080322, // 0001 GETMET R2 R1 K34 + 0x58100074, // 0002 LDCONST R4 K116 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_first_time +********************************************************************/ +be_local_closure(class_Autoconf_is_first_time, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_is_first_time, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0x8C08032A, // 0001 GETMET R2 R1 K42 + 0x5810006B, // 0002 LDCONST R4 K107 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0000, // 0004 JMPF R2 #0006 + 0x50080001, // 0005 LDBOOL R2 0 1 + 0x50080200, // 0006 LDBOOL R2 1 0 + 0x80040400, // 0007 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Autoconf_init, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0xA40A9000, // 0001 IMPORT R2 K72 + 0x8C0C0366, // 0002 GETMET R3 R1 K102 + 0x58140067, // 0003 LDCONST R5 K103 + 0x7C0C0400, // 0004 CALL R3 2 + 0x4C100000, // 0005 LDNIL R4 + 0xB8160A00, // 0006 GETNGBL R5 K5 + 0x8C140B75, // 0007 GETMET R5 R5 K117 + 0x5C1C0000, // 0008 MOVE R7 R0 + 0x7C140400, // 0009 CALL R5 2 + 0x58140041, // 000A LDCONST R5 K65 + 0x6018000C, // 000B GETGBL R6 G12 + 0x5C1C0600, // 000C MOVE R7 R3 + 0x7C180200, // 000D CALL R6 1 + 0x14180A06, // 000E LT R6 R5 R6 + 0x781A0018, // 000F JMPF R6 #0029 + 0x8C180568, // 0010 GETMET R6 R2 K104 + 0x94200605, // 0011 GETIDX R8 R3 R5 + 0x58240069, // 0012 LDCONST R9 K105 + 0x7C180600, // 0013 CALL R6 3 + 0x24180D41, // 0014 GT R6 R6 K65 + 0x781A0010, // 0015 JMPF R6 #0027 + 0x4C180000, // 0016 LDNIL R6 + 0x20180806, // 0017 NE R6 R4 R6 + 0x781A000C, // 0018 JMPF R6 #0026 + 0xB81A0A00, // 0019 GETNGBL R6 K5 + 0x8C180D06, // 001A GETMET R6 R6 K6 + 0x60200018, // 001B GETGBL R8 G24 + 0x58240076, // 001C LDCONST R9 K118 + 0x5C280800, // 001D MOVE R10 R4 + 0x942C0605, // 001E GETIDX R11 R3 R5 + 0x7C200600, // 001F CALL R8 3 + 0x58240008, // 0020 LDCONST R9 K8 + 0x7C180600, // 0021 CALL R6 3 + 0x50180200, // 0022 LDBOOL R6 1 0 + 0x9002A006, // 0023 SETMBR R0 K80 R6 + 0x4C180000, // 0024 LDNIL R6 + 0x80040C00, // 0025 RET 1 R6 + 0x94100605, // 0026 GETIDX R4 R3 R5 + 0x00140B47, // 0027 ADD R5 R5 K71 + 0x7001FFE1, // 0028 JMP #000B + 0x4C180000, // 0029 LDNIL R6 + 0x1C180806, // 002A EQ R6 R4 R6 + 0x781A0006, // 002B JMPF R6 #0033 + 0xB81A0A00, // 002C GETNGBL R6 K5 + 0x8C180D06, // 002D GETMET R6 R6 K6 + 0x58200077, // 002E LDCONST R8 K119 + 0x5824003A, // 002F LDCONST R9 K58 + 0x7C180600, // 0030 CALL R6 3 + 0x4C180000, // 0031 LDNIL R6 + 0x80040C00, // 0032 RET 1 R6 + 0x90024E04, // 0033 SETMBR R0 K39 R4 + 0x80000000, // 0034 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: preinit +********************************************************************/ +be_local_closure(class_Autoconf_preinit, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_preinit, + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x88040127, // 0000 GETMBR R1 R0 K39 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0xA4060200, // 0005 IMPORT R1 K1 + 0x88080127, // 0006 GETMBR R2 R0 K39 + 0x00080578, // 0007 ADD R2 R2 K120 + 0x8C0C032A, // 0008 GETMET R3 R1 K42 + 0x5C140400, // 0009 MOVE R5 R2 + 0x7C0C0400, // 000A CALL R3 2 + 0x780E000C, // 000B JMPF R3 #0019 + 0xB80E0A00, // 000C GETNGBL R3 K5 + 0x8C0C0706, // 000D GETMET R3 R3 K6 + 0x00167A02, // 000E ADD R5 K61 R2 + 0x5818003A, // 000F LDCONST R6 K58 + 0x7C0C0600, // 0010 CALL R3 3 + 0xB80E7C00, // 0011 GETNGBL R3 K62 + 0x5C100400, // 0012 MOVE R4 R2 + 0x7C0C0200, // 0013 CALL R3 1 + 0xB80E0A00, // 0014 GETNGBL R3 K5 + 0x8C0C0706, // 0015 GETMET R3 R3 K6 + 0x00167E02, // 0016 ADD R5 K63 R2 + 0x5818003A, // 0017 LDCONST R6 K58 + 0x7C0C0600, // 0018 CALL R3 3 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: reset +********************************************************************/ +be_local_closure(class_Autoconf_reset, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_reset, + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0xA40A9000, // 0001 IMPORT R2 K72 + 0x8C0C0366, // 0002 GETMET R3 R1 K102 + 0x58140067, // 0003 LDCONST R5 K103 + 0x7C0C0400, // 0004 CALL R3 2 + 0x4C100000, // 0005 LDNIL R4 + 0x58140041, // 0006 LDCONST R5 K65 + 0x6018000C, // 0007 GETGBL R6 G12 + 0x5C1C0600, // 0008 MOVE R7 R3 + 0x7C180200, // 0009 CALL R6 1 + 0x14180A06, // 000A LT R6 R5 R6 + 0x781A0011, // 000B JMPF R6 #001E + 0x94180605, // 000C GETIDX R6 R3 R5 + 0x8C1C0568, // 000D GETMET R7 R2 K104 + 0x5C240C00, // 000E MOVE R9 R6 + 0x58280069, // 000F LDCONST R10 K105 + 0x7C1C0600, // 0010 CALL R7 3 + 0x241C0F41, // 0011 GT R7 R7 K65 + 0x781E0008, // 0012 JMPF R7 #001C + 0x8C1C036A, // 0013 GETMET R7 R1 K106 + 0x5C240C00, // 0014 MOVE R9 R6 + 0x7C1C0400, // 0015 CALL R7 2 + 0x601C0001, // 0016 GETGBL R7 G1 + 0x60200018, // 0017 GETGBL R8 G24 + 0x58240079, // 0018 LDCONST R9 K121 + 0x5C280C00, // 0019 MOVE R10 R6 + 0x7C200400, // 001A CALL R8 2 + 0x7C1C0200, // 001B CALL R7 1 + 0x00140B47, // 001C ADD R5 R5 K71 + 0x7001FFE8, // 001D JMP #0007 + 0x4C180000, // 001E LDNIL R6 + 0x90024E06, // 001F SETMBR R0 K39 R6 + 0x4C180000, // 0020 LDNIL R6 + 0x9002A006, // 0021 SETMBR R0 K80 R6 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_add_handler +********************************************************************/ +be_local_closure(class_Autoconf_web_add_handler, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(page_autoconf_mgr), + }), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(page_autoconf_ctl), + }), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_web_add_handler, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C08037A, // 0001 GETMET R2 R1 K122 + 0x5810007B, // 0002 LDCONST R4 K123 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x8818037C, // 0004 GETMBR R6 R1 K124 + 0x7C080800, // 0005 CALL R2 4 + 0x8C08037A, // 0006 GETMET R2 R1 K122 + 0x5810007B, // 0007 LDCONST R4 K123 + 0x84140001, // 0008 CLOSURE R5 P1 + 0x8818037D, // 0009 GETMBR R6 R1 K125 + 0x7C080800, // 000A CALL R2 4 + 0xA0000000, // 000B CLOSE R0 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear_first_time +********************************************************************/ +be_local_closure(class_Autoconf_clear_first_time, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_clear_first_time, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0x8C08036A, // 0001 GETMET R2 R1 K106 + 0x5810006B, // 0002 LDCONST R4 K107 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_current_module_path +********************************************************************/ +be_local_closure(class_Autoconf_get_current_module_path, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Autoconf, /* shared constants */ + &be_const_str_get_current_module_path, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040127, // 0000 GETMBR R1 R0 K39 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Autoconf +********************************************************************/ +be_local_class(Autoconf, + 2, + NULL, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(page_autoconf_ctl, -1), be_const_closure(class_Autoconf_page_autoconf_ctl_closure) }, + { be_const_key(autoexec, -1), be_const_closure(class_Autoconf_autoexec_closure) }, + { be_const_key(run_bat, 17), be_const_closure(class_Autoconf_run_bat_closure) }, + { be_const_key(page_autoconf_mgr, -1), be_const_closure(class_Autoconf_page_autoconf_mgr_closure) }, + { be_const_key(get_current_module_path, 13), be_const_closure(class_Autoconf_get_current_module_path_closure) }, + { be_const_key(preinit, -1), be_const_closure(class_Autoconf_preinit_closure) }, + { be_const_key(clear_first_time, -1), be_const_closure(class_Autoconf_clear_first_time_closure) }, + { be_const_key(load_templates, -1), be_const_closure(class_Autoconf_load_templates_closure) }, + { be_const_key(_archive, -1), be_const_var(0) }, + { be_const_key(web_add_config_button, -1), be_const_closure(class_Autoconf_web_add_config_button_closure) }, + { be_const_key(is_first_time, -1), be_const_closure(class_Autoconf_is_first_time_closure) }, + { be_const_key(web_add_handler, -1), be_const_closure(class_Autoconf_web_add_handler_closure) }, + { be_const_key(delete_all_configs, 4), be_const_closure(class_Autoconf_delete_all_configs_closure) }, + { be_const_key(reset, 5), be_const_closure(class_Autoconf_reset_closure) }, + { be_const_key(get_current_module_name, 11), be_const_closure(class_Autoconf_get_current_module_name_closure) }, + { be_const_key(init, 6), be_const_closure(class_Autoconf_init_closure) }, + { be_const_key(_error, -1), be_const_var(1) }, + { be_const_key(set_first_time, -1), be_const_closure(class_Autoconf_set_first_time_closure) }, + })), + (bstring*) &be_const_str_Autoconf +); + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_class(be_class_Autoconf), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0xB4000000, // 0001 CLASS K0 + 0x5C080200, // 0002 MOVE R2 R1 + 0x7C080000, // 0003 CALL R2 0 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: autoconf +********************************************************************/ +be_local_module(autoconf, + "autoconf", + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(autoconf); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_pbkdf2_hmac_sha256.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_pbkdf2_hmac_sha256.h new file mode 100644 index 000000000..365a97a07 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_pbkdf2_hmac_sha256.h @@ -0,0 +1,203 @@ +/* Solidification of crypto_pbkdf2_hmac_sha256.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: _f +********************************************************************/ +be_local_closure(_f, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(size), + /* K1 */ be_const_int(0), + /* K2 */ be_const_int(1), + }), + be_str_weak(xor), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x60080000, // 0000 GETGBL R2 G0 + 0x8C0C0100, // 0001 GETMET R3 R0 K0 + 0x7C0C0200, // 0002 CALL R3 1 + 0x8C100300, // 0003 GETMET R4 R1 K0 + 0x7C100200, // 0004 CALL R4 1 + 0x1C0C0604, // 0005 EQ R3 R3 R4 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080100, // 0007 GETMET R2 R0 K0 + 0x7C080200, // 0008 CALL R2 1 + 0x580C0001, // 0009 LDCONST R3 K1 + 0x14100602, // 000A LT R4 R3 R2 + 0x78120005, // 000B JMPF R4 #0012 + 0x94100003, // 000C GETIDX R4 R0 R3 + 0x94140203, // 000D GETIDX R5 R1 R3 + 0x34100805, // 000E XOR R4 R4 R5 + 0x98000604, // 000F SETIDX R0 R3 R4 + 0x000C0702, // 0010 ADD R3 R3 K2 + 0x7001FFF7, // 0011 JMP #000A + 0x80000000, // 0012 RET 0 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(crypto), + /* K1 */ be_nested_str_weak(HMAC_SHA256), + /* K2 */ be_nested_str_weak(update), + /* K3 */ be_nested_str_weak(out), + /* K4 */ be_nested_str_weak(setbytes), + /* K5 */ be_const_int(0), + /* K6 */ be_const_int(2), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(tasmota), + /* K9 */ be_nested_str_weak(yield), + }), + be_str_weak(_f), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x84100000, // 0000 CLOSURE R4 P0 + 0xA4160000, // 0001 IMPORT R5 K0 + 0x8C180B01, // 0002 GETMET R6 R5 K1 + 0x5C200000, // 0003 MOVE R8 R0 + 0x7C180400, // 0004 CALL R6 2 + 0x8C1C0D02, // 0005 GETMET R7 R6 K2 + 0x5C240200, // 0006 MOVE R9 R1 + 0x7C1C0400, // 0007 CALL R7 2 + 0x8C1C0D03, // 0008 GETMET R7 R6 K3 + 0x7C1C0200, // 0009 CALL R7 1 + 0x8C200704, // 000A GETMET R8 R3 K4 + 0x58280005, // 000B LDCONST R10 K5 + 0x5C2C0E00, // 000C MOVE R11 R7 + 0x7C200600, // 000D CALL R8 3 + 0x58200006, // 000E LDCONST R8 K6 + 0x18241002, // 000F LE R9 R8 R2 + 0x78260012, // 0010 JMPF R9 #0024 + 0x8C240B01, // 0011 GETMET R9 R5 K1 + 0x5C2C0000, // 0012 MOVE R11 R0 + 0x7C240400, // 0013 CALL R9 2 + 0x5C181200, // 0014 MOVE R6 R9 + 0x8C240D02, // 0015 GETMET R9 R6 K2 + 0x5C2C0E00, // 0016 MOVE R11 R7 + 0x7C240400, // 0017 CALL R9 2 + 0x8C240D03, // 0018 GETMET R9 R6 K3 + 0x7C240200, // 0019 CALL R9 1 + 0x5C1C1200, // 001A MOVE R7 R9 + 0x5C240800, // 001B MOVE R9 R4 + 0x5C280600, // 001C MOVE R10 R3 + 0x5C2C0E00, // 001D MOVE R11 R7 + 0x7C240400, // 001E CALL R9 2 + 0x00201107, // 001F ADD R8 R8 K7 + 0xB8261000, // 0020 GETNGBL R9 K8 + 0x8C241309, // 0021 GETMET R9 R9 K9 + 0x7C240200, // 0022 CALL R9 1 + 0x7001FFEA, // 0023 JMP #000F + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: PBKDF2_HMAC_SHA256 +********************************************************************/ +be_local_closure(PBKDF2_HMAC_SHA256, /* name */ + be_nested_proto( + 15, /* nstack */ + 5, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_nested_str_weak(fromstring), + /* K2 */ be_const_int(1), + /* K3 */ be_nested_str_weak(size), + /* K4 */ be_nested_str_weak(copy), + /* K5 */ be_nested_str_weak(add), + /* K6 */ be_nested_str_weak(resize), + /* K7 */ be_nested_str_weak(_f), + /* K8 */ be_const_int(0), + }), + be_str_weak(PBKDF2_HMAC_SHA256), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x60140004, // 0000 GETGBL R5 G4 + 0x5C180200, // 0001 MOVE R6 R1 + 0x7C140200, // 0002 CALL R5 1 + 0x1C140B00, // 0003 EQ R5 R5 K0 + 0x78160005, // 0004 JMPF R5 #000B + 0x60140015, // 0005 GETGBL R5 G21 + 0x7C140000, // 0006 CALL R5 0 + 0x8C140B01, // 0007 GETMET R5 R5 K1 + 0x5C1C0200, // 0008 MOVE R7 R1 + 0x7C140400, // 0009 CALL R5 2 + 0x5C040A00, // 000A MOVE R1 R5 + 0x60140004, // 000B GETGBL R5 G4 + 0x5C180400, // 000C MOVE R6 R2 + 0x7C140200, // 000D CALL R5 1 + 0x1C140B00, // 000E EQ R5 R5 K0 + 0x78160005, // 000F JMPF R5 #0016 + 0x60140015, // 0010 GETGBL R5 G21 + 0x7C140000, // 0011 CALL R5 0 + 0x8C140B01, // 0012 GETMET R5 R5 K1 + 0x5C1C0400, // 0013 MOVE R7 R2 + 0x7C140400, // 0014 CALL R5 2 + 0x5C080A00, // 0015 MOVE R2 R5 + 0x60140015, // 0016 GETGBL R5 G21 + 0x7C140000, // 0017 CALL R5 0 + 0x58180002, // 0018 LDCONST R6 K2 + 0x8C1C0B03, // 0019 GETMET R7 R5 K3 + 0x7C1C0200, // 001A CALL R7 1 + 0x141C0E04, // 001B LT R7 R7 R4 + 0x781E0013, // 001C JMPF R7 #0031 + 0x8C1C0504, // 001D GETMET R7 R2 K4 + 0x7C1C0200, // 001E CALL R7 1 + 0x8C200F05, // 001F GETMET R8 R7 K5 + 0x5C280C00, // 0020 MOVE R10 R6 + 0x542DFFFB, // 0021 LDINT R11 -4 + 0x7C200600, // 0022 CALL R8 3 + 0x60200015, // 0023 GETGBL R8 G21 + 0x7C200000, // 0024 CALL R8 0 + 0x8C201106, // 0025 GETMET R8 R8 K6 + 0x542A001F, // 0026 LDINT R10 32 + 0x7C200400, // 0027 CALL R8 2 + 0x8C240107, // 0028 GETMET R9 R0 K7 + 0x5C2C0200, // 0029 MOVE R11 R1 + 0x5C300E00, // 002A MOVE R12 R7 + 0x5C340600, // 002B MOVE R13 R3 + 0x5C381000, // 002C MOVE R14 R8 + 0x7C240A00, // 002D CALL R9 5 + 0x00140A08, // 002E ADD R5 R5 R8 + 0x00180D02, // 002F ADD R6 R6 K2 + 0x7001FFE7, // 0030 JMP #0019 + 0x041C0902, // 0031 SUB R7 R4 K2 + 0x401E1007, // 0032 CONNECT R7 K8 R7 + 0x941C0A07, // 0033 GETIDX R7 R5 R7 + 0x80040E00, // 0034 RET 1 R7 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_spake2p_matter.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_spake2p_matter.h new file mode 100644 index 000000000..ed42f2852 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_crypto_spake2p_matter.h @@ -0,0 +1,638 @@ +/* Solidification of crypto_spake2p_matter.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_SPAKE_Hasher; +// compact class 'SPAKE_Hasher' ktab size: 8, total: 10 (saved 16 bytes) +static const bvalue be_ktab_class_SPAKE_Hasher[8] = { + /* K0 */ be_nested_str_weak(crypto), + /* K1 */ be_nested_str_weak(hash), + /* K2 */ be_nested_str_weak(SHA256), + /* K3 */ be_nested_str_weak(size), + /* K4 */ be_nested_str_weak(add), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(update), + /* K7 */ be_nested_str_weak(out), +}; + + +extern const bclass be_class_SPAKE_Hasher; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_SPAKE_Hasher_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE_Hasher, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080302, // 0001 GETMET R2 R1 K2 + 0x7C080200, // 0002 CALL R2 1 + 0x90020202, // 0003 SETMBR R0 K1 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_item +********************************************************************/ +be_local_closure(class_SPAKE_Hasher_add_item, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE_Hasher, /* shared constants */ + be_str_weak(add_item), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8C080303, // 0000 GETMET R2 R1 K3 + 0x7C080200, // 0001 CALL R2 1 + 0x600C0015, // 0002 GETGBL R3 G21 + 0x7C0C0000, // 0003 CALL R3 0 + 0x8C0C0704, // 0004 GETMET R3 R3 K4 + 0x5C140400, // 0005 MOVE R5 R2 + 0x541A0003, // 0006 LDINT R6 4 + 0x7C0C0600, // 0007 CALL R3 3 + 0x8C0C0704, // 0008 GETMET R3 R3 K4 + 0x58140005, // 0009 LDCONST R5 K5 + 0x541A0003, // 000A LDINT R6 4 + 0x7C0C0600, // 000B CALL R3 3 + 0x88100101, // 000C GETMBR R4 R0 K1 + 0x8C100906, // 000D GETMET R4 R4 K6 + 0x5C180600, // 000E MOVE R6 R3 + 0x7C100400, // 000F CALL R4 2 + 0x88100101, // 0010 GETMBR R4 R0 K1 + 0x8C100906, // 0011 GETMET R4 R4 K6 + 0x5C180200, // 0012 MOVE R6 R1 + 0x7C100400, // 0013 CALL R4 2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: out +********************************************************************/ +be_local_closure(class_SPAKE_Hasher_out, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE_Hasher, /* shared constants */ + be_str_weak(out), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040307, // 0001 GETMET R1 R1 K7 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: SPAKE_Hasher +********************************************************************/ +be_local_class(SPAKE_Hasher, + 1, + NULL, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(out, -1), be_const_closure(class_SPAKE_Hasher_out_closure) }, + { be_const_key_weak(hash, -1), be_const_var(0) }, + { be_const_key_weak(add_item, -1), be_const_closure(class_SPAKE_Hasher_add_item_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_SPAKE_Hasher_init_closure) }, + })), + be_str_weak(SPAKE_Hasher) +); +// compact class 'SPAKE2P_Matter' ktab size: 43, total: 84 (saved 328 bytes) +static const bvalue be_ktab_class_SPAKE2P_Matter[43] = { + /* K0 */ be_nested_str_weak(crypto), + /* K1 */ be_nested_str_weak(random), + /* K2 */ be_nested_str_weak(EC_P256), + /* K3 */ be_nested_str_weak(y), + /* K4 */ be_nested_str_weak(mod), + /* K5 */ be_nested_str_weak(pB), + /* K6 */ be_nested_str_weak(muladd), + /* K7 */ be_nested_str_weak(w0), + /* K8 */ be_nested_str_weak(N), + /* K9 */ be_const_class(be_class_SPAKE_Hasher), + /* K10 */ be_nested_str_weak(add_item), + /* K11 */ be_nested_str_weak(Context), + /* K12 */ be_nested_str_weak(A), + /* K13 */ be_nested_str_weak(B), + /* K14 */ be_nested_str_weak(M), + /* K15 */ be_nested_str_weak(pA), + /* K16 */ be_nested_str_weak(Z), + /* K17 */ be_nested_str_weak(V), + /* K18 */ be_nested_str_weak(Kmain), + /* K19 */ be_nested_str_weak(out), + /* K20 */ be_nested_str_weak(Ke), + /* K21 */ be_const_int(0), + /* K22 */ be_nested_str_weak(HKDF_SHA256), + /* K23 */ be_nested_str_weak(derive), + /* K24 */ be_nested_str_weak(fromstring), + /* K25 */ be_nested_str_weak(ConfirmationKeys), + /* K26 */ be_nested_str_weak(KcA), + /* K27 */ be_nested_str_weak(KcB), + /* K28 */ be_nested_str_weak(K_shared), + /* K29 */ be_nested_str_weak(SharedKey), + /* K30 */ be_nested_str_weak(cA), + /* K31 */ be_nested_str_weak(HMAC_SHA256), + /* K32 */ be_nested_str_weak(update), + /* K33 */ be_nested_str_weak(cB), + /* K34 */ be_nested_str_weak(fromhex), + /* K35 */ be_nested_str_weak(spake_M_hex), + /* K36 */ be_nested_str_weak(spake_N_hex), + /* K37 */ be_nested_str_weak(w1), + /* K38 */ be_nested_str_weak(L), + /* K39 */ be_nested_str_weak(x), + /* K40 */ be_nested_str_weak(neg), + /* K41 */ be_nested_str_weak(01), + /* K42 */ be_nested_str_weak(mul), +}; + + +extern const bclass be_class_SPAKE2P_Matter; + +/******************************************************************** +** Solidified function: compute_pB +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_compute_pB, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(compute_pB), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C0C0203, // 0002 EQ R3 R1 R3 + 0x780E0003, // 0003 JMPF R3 #0008 + 0x8C0C0501, // 0004 GETMET R3 R2 K1 + 0x5416001F, // 0005 LDINT R5 32 + 0x7C0C0400, // 0006 CALL R3 2 + 0x5C040600, // 0007 MOVE R1 R3 + 0x8C0C0502, // 0008 GETMET R3 R2 K2 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C100704, // 000A GETMET R4 R3 K4 + 0x5C180200, // 000B MOVE R6 R1 + 0x7C100400, // 000C CALL R4 2 + 0x90020604, // 000D SETMBR R0 K3 R4 + 0x8C100706, // 000E GETMET R4 R3 K6 + 0x88180107, // 000F GETMBR R6 R0 K7 + 0x881C0108, // 0010 GETMBR R7 R0 K8 + 0x88200103, // 0011 GETMBR R8 R0 K3 + 0x60240015, // 0012 GETGBL R9 G21 + 0x7C240000, // 0013 CALL R9 0 + 0x7C100A00, // 0014 CALL R4 5 + 0x90020A04, // 0015 SETMBR R0 K5 R4 + 0x88100105, // 0016 GETMBR R4 R0 K5 + 0x80040800, // 0017 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_TT_hash +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_compute_TT_hash, /* name */ + be_nested_proto( + 14, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(compute_TT_hash), + &be_const_str_solidified, + ( &(const binstruction[115]) { /* code */ + 0x58080009, // 0000 LDCONST R2 K9 + 0xB4000009, // 0001 CLASS K9 + 0x5C0C0400, // 0002 MOVE R3 R2 + 0xA40E0000, // 0003 IMPORT R3 K0 + 0x5C100400, // 0004 MOVE R4 R2 + 0x7C100000, // 0005 CALL R4 0 + 0x8C14090A, // 0006 GETMET R5 R4 K10 + 0x881C010B, // 0007 GETMBR R7 R0 K11 + 0x7C140400, // 0008 CALL R5 2 + 0x8C14090A, // 0009 GETMET R5 R4 K10 + 0x881C010C, // 000A GETMBR R7 R0 K12 + 0x7C140400, // 000B CALL R5 2 + 0x8C14090A, // 000C GETMET R5 R4 K10 + 0x881C010D, // 000D GETMBR R7 R0 K13 + 0x7C140400, // 000E CALL R5 2 + 0x8C14090A, // 000F GETMET R5 R4 K10 + 0x881C010E, // 0010 GETMBR R7 R0 K14 + 0x7C140400, // 0011 CALL R5 2 + 0x8C14090A, // 0012 GETMET R5 R4 K10 + 0x881C0108, // 0013 GETMBR R7 R0 K8 + 0x7C140400, // 0014 CALL R5 2 + 0x8C14090A, // 0015 GETMET R5 R4 K10 + 0x881C010F, // 0016 GETMBR R7 R0 K15 + 0x7C140400, // 0017 CALL R5 2 + 0x8C14090A, // 0018 GETMET R5 R4 K10 + 0x881C0105, // 0019 GETMBR R7 R0 K5 + 0x7C140400, // 001A CALL R5 2 + 0x8C14090A, // 001B GETMET R5 R4 K10 + 0x881C0110, // 001C GETMBR R7 R0 K16 + 0x7C140400, // 001D CALL R5 2 + 0x8C14090A, // 001E GETMET R5 R4 K10 + 0x881C0111, // 001F GETMBR R7 R0 K17 + 0x7C140400, // 0020 CALL R5 2 + 0x8C14090A, // 0021 GETMET R5 R4 K10 + 0x881C0107, // 0022 GETMBR R7 R0 K7 + 0x7C140400, // 0023 CALL R5 2 + 0x8C140913, // 0024 GETMET R5 R4 K19 + 0x7C140200, // 0025 CALL R5 1 + 0x90022405, // 0026 SETMBR R0 K18 R5 + 0x7806000A, // 0027 JMPF R1 #0033 + 0x5416000F, // 0028 LDINT R5 16 + 0x541A001E, // 0029 LDINT R6 31 + 0x40140A06, // 002A CONNECT R5 R5 R6 + 0x88180112, // 002B GETMBR R6 R0 K18 + 0x94140C05, // 002C GETIDX R5 R6 R5 + 0x90022805, // 002D SETMBR R0 K20 R5 + 0x5416000E, // 002E LDINT R5 15 + 0x40162A05, // 002F CONNECT R5 K21 R5 + 0x88180112, // 0030 GETMBR R6 R0 K18 + 0x94140C05, // 0031 GETIDX R5 R6 R5 + 0x90022405, // 0032 SETMBR R0 K18 R5 + 0x8C140716, // 0033 GETMET R5 R3 K22 + 0x7C140200, // 0034 CALL R5 1 + 0x8C180B17, // 0035 GETMET R6 R5 K23 + 0x88200112, // 0036 GETMBR R8 R0 K18 + 0x60240015, // 0037 GETGBL R9 G21 + 0x7C240000, // 0038 CALL R9 0 + 0x60280015, // 0039 GETGBL R10 G21 + 0x7C280000, // 003A CALL R10 0 + 0x8C281518, // 003B GETMET R10 R10 K24 + 0x58300019, // 003C LDCONST R12 K25 + 0x7C280400, // 003D CALL R10 2 + 0x542E003F, // 003E LDINT R11 64 + 0x7C180A00, // 003F CALL R6 5 + 0x78060003, // 0040 JMPF R1 #0045 + 0x541E000E, // 0041 LDINT R7 15 + 0x401E2A07, // 0042 CONNECT R7 K21 R7 + 0x941C0C07, // 0043 GETIDX R7 R6 R7 + 0x70020002, // 0044 JMP #0048 + 0x541E001E, // 0045 LDINT R7 31 + 0x401E2A07, // 0046 CONNECT R7 K21 R7 + 0x941C0C07, // 0047 GETIDX R7 R6 R7 + 0x90023407, // 0048 SETMBR R0 K26 R7 + 0x78060004, // 0049 JMPF R1 #004F + 0x541E000F, // 004A LDINT R7 16 + 0x5422001E, // 004B LDINT R8 31 + 0x401C0E08, // 004C CONNECT R7 R7 R8 + 0x941C0C07, // 004D GETIDX R7 R6 R7 + 0x70020003, // 004E JMP #0053 + 0x541E001F, // 004F LDINT R7 32 + 0x5422003E, // 0050 LDINT R8 63 + 0x401C0E08, // 0051 CONNECT R7 R7 R8 + 0x941C0C07, // 0052 GETIDX R7 R6 R7 + 0x90023607, // 0053 SETMBR R0 K27 R7 + 0x8C1C0B17, // 0054 GETMET R7 R5 K23 + 0x88240112, // 0055 GETMBR R9 R0 K18 + 0x60280015, // 0056 GETGBL R10 G21 + 0x7C280000, // 0057 CALL R10 0 + 0x602C0015, // 0058 GETGBL R11 G21 + 0x7C2C0000, // 0059 CALL R11 0 + 0x8C2C1718, // 005A GETMET R11 R11 K24 + 0x5834001D, // 005B LDCONST R13 K29 + 0x7C2C0400, // 005C CALL R11 2 + 0x5432001F, // 005D LDINT R12 32 + 0x7C1C0A00, // 005E CALL R7 5 + 0x90023807, // 005F SETMBR R0 K28 R7 + 0x8C1C071F, // 0060 GETMET R7 R3 K31 + 0x8824011A, // 0061 GETMBR R9 R0 K26 + 0x7C1C0400, // 0062 CALL R7 2 + 0x8C1C0F20, // 0063 GETMET R7 R7 K32 + 0x88240105, // 0064 GETMBR R9 R0 K5 + 0x7C1C0400, // 0065 CALL R7 2 + 0x8C1C0F13, // 0066 GETMET R7 R7 K19 + 0x7C1C0200, // 0067 CALL R7 1 + 0x90023C07, // 0068 SETMBR R0 K30 R7 + 0x8C1C071F, // 0069 GETMET R7 R3 K31 + 0x8824011B, // 006A GETMBR R9 R0 K27 + 0x7C1C0400, // 006B CALL R7 2 + 0x8C1C0F20, // 006C GETMET R7 R7 K32 + 0x8824010F, // 006D GETMBR R9 R0 K15 + 0x7C1C0400, // 006E CALL R7 2 + 0x8C1C0F13, // 006F GETMET R7 R7 K19 + 0x7C1C0200, // 0070 CALL R7 1 + 0x90024207, // 0071 SETMBR R0 K33 R7 + 0x80000000, // 0072 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60100015, // 0000 GETGBL R4 G21 + 0x7C100000, // 0001 CALL R4 0 + 0x8C100922, // 0002 GETMET R4 R4 K34 + 0x88180123, // 0003 GETMBR R6 R0 K35 + 0x7C100400, // 0004 CALL R4 2 + 0x90021C04, // 0005 SETMBR R0 K14 R4 + 0x60100015, // 0006 GETGBL R4 G21 + 0x7C100000, // 0007 CALL R4 0 + 0x8C100922, // 0008 GETMET R4 R4 K34 + 0x88180124, // 0009 GETMBR R6 R0 K36 + 0x7C100400, // 000A CALL R4 2 + 0x90021004, // 000B SETMBR R0 K8 R4 + 0x90020E01, // 000C SETMBR R0 K7 R1 + 0x90024A02, // 000D SETMBR R0 K37 R2 + 0x90024C03, // 000E SETMBR R0 K38 R3 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_pA +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_compute_pA, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(compute_pA), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C0C0203, // 0002 EQ R3 R1 R3 + 0x780E0003, // 0003 JMPF R3 #0008 + 0x8C0C0501, // 0004 GETMET R3 R2 K1 + 0x5416001F, // 0005 LDINT R5 32 + 0x7C0C0400, // 0006 CALL R3 2 + 0x5C040600, // 0007 MOVE R1 R3 + 0x8C0C0502, // 0008 GETMET R3 R2 K2 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C100704, // 000A GETMET R4 R3 K4 + 0x5C180200, // 000B MOVE R6 R1 + 0x7C100400, // 000C CALL R4 2 + 0x90024E04, // 000D SETMBR R0 K39 R4 + 0x8C100706, // 000E GETMET R4 R3 K6 + 0x88180107, // 000F GETMBR R6 R0 K7 + 0x881C010E, // 0010 GETMBR R7 R0 K14 + 0x88200127, // 0011 GETMBR R8 R0 K39 + 0x60240015, // 0012 GETGBL R9 G21 + 0x7C240000, // 0013 CALL R9 0 + 0x7C100A00, // 0014 CALL R4 5 + 0x90021E04, // 0015 SETMBR R0 K15 R4 + 0x8810010F, // 0016 GETMBR R4 R0 K15 + 0x80040800, // 0017 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_context +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_set_context, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(set_context), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100404, // 0001 EQ R4 R2 R4 + 0x78120002, // 0002 JMPF R4 #0006 + 0x60100015, // 0003 GETGBL R4 G21 + 0x7C100000, // 0004 CALL R4 0 + 0x5C080800, // 0005 MOVE R2 R4 + 0x4C100000, // 0006 LDNIL R4 + 0x1C100604, // 0007 EQ R4 R3 R4 + 0x78120002, // 0008 JMPF R4 #000C + 0x60100015, // 0009 GETGBL R4 G21 + 0x7C100000, // 000A CALL R4 0 + 0x5C0C0800, // 000B MOVE R3 R4 + 0x90021601, // 000C SETMBR R0 K11 R1 + 0x90021802, // 000D SETMBR R0 K12 R2 + 0x90021A03, // 000E SETMBR R0 K13 R3 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_ZV_verifier +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_compute_ZV_verifier, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(compute_ZV_verifier), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x8C0C0502, // 0001 GETMET R3 R2 K2 + 0x7C0C0200, // 0002 CALL R3 1 + 0x90021E01, // 0003 SETMBR R0 K15 R1 + 0x8C100728, // 0004 GETMET R4 R3 K40 + 0x88180107, // 0005 GETMBR R6 R0 K7 + 0x7C100400, // 0006 CALL R4 2 + 0x8C140706, // 0007 GETMET R5 R3 K6 + 0x601C0015, // 0008 GETGBL R7 G21 + 0x58200029, // 0009 LDCONST R8 K41 + 0x7C1C0200, // 000A CALL R7 1 + 0x8820010F, // 000B GETMBR R8 R0 K15 + 0x5C240800, // 000C MOVE R9 R4 + 0x8828010E, // 000D GETMBR R10 R0 K14 + 0x7C140A00, // 000E CALL R5 5 + 0x8C18072A, // 000F GETMET R6 R3 K42 + 0x88200103, // 0010 GETMBR R8 R0 K3 + 0x5C240A00, // 0011 MOVE R9 R5 + 0x7C180600, // 0012 CALL R6 3 + 0x90022006, // 0013 SETMBR R0 K16 R6 + 0x8C18072A, // 0014 GETMET R6 R3 K42 + 0x88200103, // 0015 GETMBR R8 R0 K3 + 0x88240126, // 0016 GETMBR R9 R0 K38 + 0x7C180600, // 0017 CALL R6 3 + 0x90022206, // 0018 SETMBR R0 K17 R6 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compute_ZV_prover +********************************************************************/ +be_local_closure(class_SPAKE2P_Matter_compute_ZV_prover, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_SPAKE2P_Matter, /* shared constants */ + be_str_weak(compute_ZV_prover), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x8C0C0502, // 0001 GETMET R3 R2 K2 + 0x7C0C0200, // 0002 CALL R3 1 + 0x90020A01, // 0003 SETMBR R0 K5 R1 + 0x8C100728, // 0004 GETMET R4 R3 K40 + 0x88180107, // 0005 GETMBR R6 R0 K7 + 0x7C100400, // 0006 CALL R4 2 + 0x8C140706, // 0007 GETMET R5 R3 K6 + 0x601C0015, // 0008 GETGBL R7 G21 + 0x58200029, // 0009 LDCONST R8 K41 + 0x7C1C0200, // 000A CALL R7 1 + 0x88200105, // 000B GETMBR R8 R0 K5 + 0x5C240800, // 000C MOVE R9 R4 + 0x88280108, // 000D GETMBR R10 R0 K8 + 0x7C140A00, // 000E CALL R5 5 + 0x8C18072A, // 000F GETMET R6 R3 K42 + 0x88200127, // 0010 GETMBR R8 R0 K39 + 0x5C240A00, // 0011 MOVE R9 R5 + 0x7C180600, // 0012 CALL R6 3 + 0x90022006, // 0013 SETMBR R0 K16 R6 + 0x8C18072A, // 0014 GETMET R6 R3 K42 + 0x88200125, // 0015 GETMBR R8 R0 K37 + 0x5C240A00, // 0016 MOVE R9 R5 + 0x7C180600, // 0017 CALL R6 3 + 0x90022206, // 0018 SETMBR R0 K17 R6 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: SPAKE2P_Matter +********************************************************************/ +be_local_class(SPAKE2P_Matter, + 21, + NULL, + be_nested_map(32, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(compute_ZV_prover, 21), be_const_closure(class_SPAKE2P_Matter_compute_ZV_prover_closure) }, + { be_const_key_weak(cA, -1), be_const_var(14) }, + { be_const_key_weak(CRYPTO_W_SIZE_BYTES, -1), be_const_int(40) }, + { be_const_key_weak(Kmain, 14), be_const_var(9) }, + { be_const_key_weak(compute_pB, -1), be_const_closure(class_SPAKE2P_Matter_compute_pB_closure) }, + { be_const_key_weak(B, 31), be_const_var(17) }, + { be_const_key_weak(K_shared, -1), be_const_var(12) }, + { be_const_key_weak(x, -1), be_const_var(7) }, + { be_const_key_weak(CRYPTO_GROUP_SIZE_BYTES, -1), be_const_int(32) }, + { be_const_key_weak(V, 1), be_const_var(6) }, + { be_const_key_weak(pA, -1), be_const_var(3) }, + { be_const_key_weak(KcB, 27), be_const_var(11) }, + { be_const_key_weak(A, -1), be_const_var(16) }, + { be_const_key_weak(Z, 4), be_const_var(5) }, + { be_const_key_weak(spake_M_hex, -1), be_nested_str_weak(04886e2f97ace46e55ba9dd7242579f2993b64e16ef3dcab95afd497333d8fa12f5ff355163e43ce224e0b0e65ff02ac8e5c7be09419c785e0ca547d55a12e2d20) }, + { be_const_key_weak(compute_ZV_verifier, -1), be_const_closure(class_SPAKE2P_Matter_compute_ZV_verifier_closure) }, + { be_const_key_weak(compute_TT_hash, 0), be_const_closure(class_SPAKE2P_Matter_compute_TT_hash_closure) }, + { be_const_key_weak(N, -1), be_const_var(20) }, + { be_const_key_weak(w0, -1), be_const_var(0) }, + { be_const_key_weak(init, -1), be_const_closure(class_SPAKE2P_Matter_init_closure) }, + { be_const_key_weak(compute_pA, 25), be_const_closure(class_SPAKE2P_Matter_compute_pA_closure) }, + { be_const_key_weak(cB, -1), be_const_var(15) }, + { be_const_key_weak(set_context, -1), be_const_closure(class_SPAKE2P_Matter_set_context_closure) }, + { be_const_key_weak(pB, 22), be_const_var(4) }, + { be_const_key_weak(M, -1), be_const_var(19) }, + { be_const_key_weak(y, -1), be_const_var(8) }, + { be_const_key_weak(spake_N_hex, 15), be_nested_str_weak(04d8bbd6c639c62937b04d997f38c3770719c629d7014d49a24b4f98baa1292b4907d60aa6bfade45008a636337f5168c64d9bd36034808cd564490b1e656edbe7) }, + { be_const_key_weak(L, -1), be_const_var(2) }, + { be_const_key_weak(Context, 8), be_const_var(18) }, + { be_const_key_weak(Ke, -1), be_const_var(13) }, + { be_const_key_weak(KcA, -1), be_const_var(10) }, + { be_const_key_weak(w1, -1), be_const_var(1) }, + })), + be_str_weak(SPAKE2P_Matter) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_driver_class.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_driver_class.h new file mode 100644 index 000000000..b022dc55a --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_driver_class.h @@ -0,0 +1,96 @@ +/* Solidification of driver_class.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Driver; + +/******************************************************************** +** Solidified function: add_cmd +********************************************************************/ +be_local_closure(class_Driver_add_cmd, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 2), + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x68100000, // 0000 GETUPV R4 U0 + 0x68140001, // 0001 GETUPV R5 U1 + 0x5C180000, // 0002 MOVE R6 R0 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80040800, // 0007 RET 1 R4 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(add_cmd), + }), + &be_const_str_add_cmd, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xB80E0000, // 0000 GETNGBL R3 K0 + 0x8C0C0701, // 0001 GETMET R3 R3 K1 + 0x5C140200, // 0002 MOVE R5 R1 + 0x84180000, // 0003 CLOSURE R6 P0 + 0x7C0C0600, // 0004 CALL R3 3 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Driver +********************************************************************/ +be_local_class(Driver, + 14, + NULL, + be_nested_map(15, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(web_add_config_button, 12), be_const_var(6) }, + { be_const_key(web_add_main_button, -1), be_const_var(4) }, + { be_const_key(web_add_handler, 10), be_const_var(2) }, + { be_const_key(save_before_restart, 5), be_const_var(8) }, + { be_const_key(add_cmd, -1), be_const_closure(class_Driver_add_cmd_closure) }, + { be_const_key(web_add_button, -1), be_const_var(3) }, + { be_const_key(web_add_management_button, -1), be_const_var(5) }, + { be_const_key(display, -1), be_const_var(13) }, + { be_const_key(after_teleperiod, -1), be_const_var(11) }, + { be_const_key(every_100ms, -1), be_const_var(1) }, + { be_const_key(web_add_console_button, 13), be_const_var(7) }, + { be_const_key(button_pressed, -1), be_const_var(12) }, + { be_const_key(every_second, -1), be_const_var(0) }, + { be_const_key(web_sensor, -1), be_const_var(9) }, + { be_const_key(json_append, 1), be_const_var(10) }, + })), + (bstring*) &be_const_str_Driver +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_dyn.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_dyn.h new file mode 100644 index 000000000..5632678a0 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_dyn.h @@ -0,0 +1,149 @@ +/* Solidification of dyn.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'dyn' ktab size: 4, total: 7 (saved 24 bytes) +static const bvalue be_ktab_class_dyn[4] = { + /* K0 */ be_nested_str(_attr), + /* K1 */ be_nested_str(tostring), + /* K2 */ be_nested_str(contains), + /* K3 */ be_nested_str(undefined), +}; + + +extern const bclass be_class_dyn; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_dyn_tostring, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_dyn, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_dyn_member, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_dyn, /* shared constants */ + &be_const_str_member, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0003, // 0004 JMPF R2 #0009 + 0x88080100, // 0005 GETMBR R2 R0 K0 + 0x94080401, // 0006 GETIDX R2 R2 R1 + 0x80040400, // 0007 RET 1 R2 + 0x70020001, // 0008 JMP #000B + 0xA40A0600, // 0009 IMPORT R2 K3 + 0x80040400, // 000A RET 1 R2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_dyn_setmember, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_dyn, /* shared constants */ + &be_const_str_setmember, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x980C0202, // 0001 SETIDX R3 R1 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_dyn_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_dyn, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040013, // 0000 GETGBL R1 G19 + 0x7C040000, // 0001 CALL R1 0 + 0x90020001, // 0002 SETMBR R0 K0 R1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: dyn +********************************************************************/ +be_local_class(dyn, + 1, + NULL, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(tostring, 2), be_const_closure(class_dyn_tostring_closure) }, + { be_const_key(member, 3), be_const_closure(class_dyn_member_closure) }, + { be_const_key(init, 4), be_const_closure(class_dyn_init_closure) }, + { be_const_key(setmember, -1), be_const_closure(class_dyn_setmember_closure) }, + { be_const_key(_attr, -1), be_const_var(0) }, + })), + (bstring*) &be_const_str_dyn +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_energy.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_energy.h new file mode 100644 index 000000000..d1765fd6c --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_energy.h @@ -0,0 +1,749 @@ +/* Solidification of energy.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'bytes_array' ktab size: 18, total: 34 (saved 128 bytes) +static const bvalue be_ktab_class_bytes_array[18] = { + /* K0 */ be_nested_str(item_type), + /* K1 */ be_nested_str(sz), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str(value_X20error), + /* K4 */ be_nested_str(unsupported_X20item_type_X20number), + /* K5 */ be_nested_str(item_size), + /* K6 */ be_nested_str(init), + /* K7 */ be_nested_str(_X5B), + /* K8 */ be_nested_str(_X2C), + /* K9 */ be_nested_str(getfloat), + /* K10 */ be_nested_str(get), + /* K11 */ be_const_int(1), + /* K12 */ be_nested_str(_X5D), + /* K13 */ be_nested_str(index_error), + /* K14 */ be_nested_str(list_X20index_X20out_X20of_X20range), + /* K15 */ be_nested_str(list_X20assignment_X20index_X20out_X20of_X20range), + /* K16 */ be_nested_str(setfloat), + /* K17 */ be_nested_str(set), +}; + + +extern const bclass be_class_bytes_array; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_bytes_array_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_bytes_array, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x90020002, // 0000 SETMBR R0 K0 R2 + 0x90020203, // 0001 SETMBR R0 K1 R3 + 0x4C100000, // 0002 LDNIL R4 + 0x5415FFFB, // 0003 LDINT R5 -4 + 0x28140405, // 0004 GE R5 R2 R5 + 0x7816000B, // 0005 JMPF R5 #0012 + 0x54160003, // 0006 LDINT R5 4 + 0x18140405, // 0007 LE R5 R2 R5 + 0x78160008, // 0008 JMPF R5 #0012 + 0x20140502, // 0009 NE R5 R2 K2 + 0x78160006, // 000A JMPF R5 #0012 + 0x24140502, // 000B GT R5 R2 K2 + 0x78160001, // 000C JMPF R5 #000F + 0x5C140400, // 000D MOVE R5 R2 + 0x70020000, // 000E JMP #0010 + 0x44140400, // 000F NEG R5 R2 + 0x5C100A00, // 0010 MOVE R4 R5 + 0x70020005, // 0011 JMP #0018 + 0x54160004, // 0012 LDINT R5 5 + 0x1C140405, // 0013 EQ R5 R2 R5 + 0x78160001, // 0014 JMPF R5 #0017 + 0x54120003, // 0015 LDINT R4 4 + 0x70020000, // 0016 JMP #0018 + 0xB0060704, // 0017 RAISE 1 K3 K4 + 0x90020A04, // 0018 SETMBR R0 K5 R4 + 0x60140003, // 0019 GETGBL R5 G3 + 0x5C180000, // 001A MOVE R6 R0 + 0x7C140200, // 001B CALL R5 1 + 0x8C140B06, // 001C GETMET R5 R5 K6 + 0x5C1C0200, // 001D MOVE R7 R1 + 0x88200105, // 001E GETMBR R8 R0 K5 + 0x88240101, // 001F GETMBR R9 R0 K1 + 0x08201009, // 0020 MUL R8 R8 R9 + 0x7C140600, // 0021 CALL R5 3 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: size +********************************************************************/ +be_local_closure(class_bytes_array_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_bytes_array, /* shared constants */ + &be_const_str_size, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_bytes_array_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_bytes_array, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x58040007, // 0000 LDCONST R1 K7 + 0x58080002, // 0001 LDCONST R2 K2 + 0x880C0101, // 0002 GETMBR R3 R0 K1 + 0x140C0403, // 0003 LT R3 R2 R3 + 0x780E0018, // 0004 JMPF R3 #001E + 0x240C0502, // 0005 GT R3 R2 K2 + 0x780E0000, // 0006 JMPF R3 #0008 + 0x00040308, // 0007 ADD R1 R1 K8 + 0x880C0100, // 0008 GETMBR R3 R0 K0 + 0x54120004, // 0009 LDINT R4 5 + 0x1C0C0604, // 000A EQ R3 R3 R4 + 0x780E0007, // 000B JMPF R3 #0014 + 0x600C0008, // 000C GETGBL R3 G8 + 0x8C100109, // 000D GETMET R4 R0 K9 + 0x88180105, // 000E GETMBR R6 R0 K5 + 0x08180406, // 000F MUL R6 R2 R6 + 0x7C100400, // 0010 CALL R4 2 + 0x7C0C0200, // 0011 CALL R3 1 + 0x00040203, // 0012 ADD R1 R1 R3 + 0x70020007, // 0013 JMP #001C + 0x600C0008, // 0014 GETGBL R3 G8 + 0x8C10010A, // 0015 GETMET R4 R0 K10 + 0x88180105, // 0016 GETMBR R6 R0 K5 + 0x08180406, // 0017 MUL R6 R2 R6 + 0x881C0100, // 0018 GETMBR R7 R0 K0 + 0x7C100600, // 0019 CALL R4 3 + 0x7C0C0200, // 001A CALL R3 1 + 0x00040203, // 001B ADD R1 R1 R3 + 0x0008050B, // 001C ADD R2 R2 K11 + 0x7001FFE3, // 001D JMP #0002 + 0x0004030C, // 001E ADD R1 R1 K12 + 0x80040200, // 001F RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: item +********************************************************************/ +be_local_closure(class_bytes_array_item, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_bytes_array, /* shared constants */ + &be_const_str_item, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x14080302, // 0000 LT R2 R1 K2 + 0x780A0001, // 0001 JMPF R2 #0004 + 0x88080101, // 0002 GETMBR R2 R0 K1 + 0x00040202, // 0003 ADD R1 R1 R2 + 0x14080302, // 0004 LT R2 R1 K2 + 0x740A0002, // 0005 JMPT R2 #0009 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x28080202, // 0007 GE R2 R1 R2 + 0x780A0000, // 0008 JMPF R2 #000A + 0xB0061B0E, // 0009 RAISE 1 K13 K14 + 0x88080100, // 000A GETMBR R2 R0 K0 + 0x540E0004, // 000B LDINT R3 5 + 0x1C080403, // 000C EQ R2 R2 R3 + 0x780A0005, // 000D JMPF R2 #0014 + 0x8C080109, // 000E GETMET R2 R0 K9 + 0x88100105, // 000F GETMBR R4 R0 K5 + 0x08100204, // 0010 MUL R4 R1 R4 + 0x7C080400, // 0011 CALL R2 2 + 0x80040400, // 0012 RET 1 R2 + 0x70020005, // 0013 JMP #001A + 0x8C08010A, // 0014 GETMET R2 R0 K10 + 0x88100105, // 0015 GETMBR R4 R0 K5 + 0x08100204, // 0016 MUL R4 R1 R4 + 0x88140100, // 0017 GETMBR R5 R0 K0 + 0x7C080600, // 0018 CALL R2 3 + 0x80040400, // 0019 RET 1 R2 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_bytes_array_setitem, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_bytes_array, /* shared constants */ + &be_const_str_setitem, + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x140C0302, // 0000 LT R3 R1 K2 + 0x780E0001, // 0001 JMPF R3 #0004 + 0x880C0101, // 0002 GETMBR R3 R0 K1 + 0x00040203, // 0003 ADD R1 R1 R3 + 0x140C0302, // 0004 LT R3 R1 K2 + 0x740E0002, // 0005 JMPT R3 #0009 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x280C0203, // 0007 GE R3 R1 R3 + 0x780E0000, // 0008 JMPF R3 #000A + 0xB0061B0F, // 0009 RAISE 1 K13 K15 + 0x880C0100, // 000A GETMBR R3 R0 K0 + 0x54120004, // 000B LDINT R4 5 + 0x1C0C0604, // 000C EQ R3 R3 R4 + 0x780E0006, // 000D JMPF R3 #0015 + 0x8C0C0110, // 000E GETMET R3 R0 K16 + 0x88140105, // 000F GETMBR R5 R0 K5 + 0x08140205, // 0010 MUL R5 R1 R5 + 0x5C180400, // 0011 MOVE R6 R2 + 0x7C0C0600, // 0012 CALL R3 3 + 0x80040600, // 0013 RET 1 R3 + 0x70020006, // 0014 JMP #001C + 0x8C0C0111, // 0015 GETMET R3 R0 K17 + 0x88140105, // 0016 GETMBR R5 R0 K5 + 0x08140205, // 0017 MUL R5 R1 R5 + 0x88180100, // 0018 GETMBR R6 R0 K0 + 0x5C1C0400, // 0019 MOVE R7 R2 + 0x7C0C0800, // 001A CALL R3 4 + 0x80040600, // 001B RET 1 R3 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: bytes_array +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(bytes_array, + 3, + &be_class_bytes, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(sz, -1), be_const_var(1) }, + { be_const_key(setitem, -1), be_const_closure(class_bytes_array_setitem_closure) }, + { be_const_key(item_size, -1), be_const_var(2) }, + { be_const_key(init, 7), be_const_closure(class_bytes_array_init_closure) }, + { be_const_key(size, 1), be_const_closure(class_bytes_array_size_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_bytes_array_tostring_closure) }, + { be_const_key(item, -1), be_const_closure(class_bytes_array_item_closure) }, + { be_const_key(item_type, -1), be_const_var(0) }, + })), + (bstring*) &be_const_str_bytes_array +); + +extern const bclass be_class_energy_phases_float; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_energy_phases_float_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(init), + /* K2 */ be_nested_str(_phases), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x600C0003, // 0001 GETGBL R3 G3 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0701, // 0004 GETMET R3 R3 K1 + 0x5C140200, // 0005 MOVE R5 R1 + 0x541A0004, // 0006 LDINT R6 5 + 0x881C0502, // 0007 GETMBR R7 R2 K2 + 0x7C0C0800, // 0008 CALL R3 4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: energy_phases_float +********************************************************************/ +extern const bclass be_class_bytes_array; +be_local_class(energy_phases_float, + 0, + &be_class_bytes_array, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(class_energy_phases_float_init_closure) }, + })), + (bstring*) &be_const_str_energy_phases_float +); + +extern const bclass be_class_energy_phases_int32; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_energy_phases_int32_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(init), + /* K2 */ be_nested_str(_phases), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x600C0003, // 0001 GETGBL R3 G3 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0701, // 0004 GETMET R3 R3 K1 + 0x5C140200, // 0005 MOVE R5 R1 + 0x541A0003, // 0006 LDINT R6 4 + 0x881C0502, // 0007 GETMBR R7 R2 K2 + 0x7C0C0800, // 0008 CALL R3 4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: energy_phases_int32 +********************************************************************/ +extern const bclass be_class_bytes_array; +be_local_class(energy_phases_int32, + 0, + &be_class_bytes_array, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(class_energy_phases_int32_init_closure) }, + })), + (bstring*) &be_const_str_energy_phases_int32 +); + +extern const bclass be_class_energy_phases_uint8; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_energy_phases_uint8_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(init), + /* K2 */ be_const_int(1), + /* K3 */ be_nested_str(_phases), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x600C0003, // 0001 GETGBL R3 G3 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0701, // 0004 GETMET R3 R3 K1 + 0x5C140200, // 0005 MOVE R5 R1 + 0x58180002, // 0006 LDCONST R6 K2 + 0x881C0503, // 0007 GETMBR R7 R2 K3 + 0x7C0C0800, // 0008 CALL R3 4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: energy_phases_uint8 +********************************************************************/ +extern const bclass be_class_bytes_array; +be_local_class(energy_phases_uint8, + 0, + &be_class_bytes_array, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(class_energy_phases_uint8_init_closure) }, + })), + (bstring*) &be_const_str_energy_phases_uint8 +); + +extern const bclass be_class_energy_phases_uint16; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_energy_phases_uint16_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(init), + /* K2 */ be_const_int(2), + /* K3 */ be_nested_str(_phases), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x600C0003, // 0001 GETGBL R3 G3 + 0x5C100000, // 0002 MOVE R4 R0 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0701, // 0004 GETMET R3 R3 K1 + 0x5C140200, // 0005 MOVE R5 R1 + 0x58180002, // 0006 LDCONST R6 K2 + 0x881C0503, // 0007 GETMBR R7 R2 K3 + 0x7C0C0800, // 0008 CALL R3 4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: energy_phases_uint16 +********************************************************************/ +extern const bclass be_class_bytes_array; +be_local_class(energy_phases_uint16, + 0, + &be_class_bytes_array, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(class_energy_phases_uint16_init_closure) }, + })), + (bstring*) &be_const_str_energy_phases_uint16 +); + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(module_energy_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(_energy), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x4C080000, // 0001 LDNIL R2 + 0x90060202, // 0002 SETMBR R1 K1 R2 + 0x80040000, // 0003 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _deref +********************************************************************/ +be_local_closure(module_energy__deref, /* name */ + be_nested_proto( + 7, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(_energy), + /* K2 */ be_nested_str(introspect), + /* K3 */ be_nested_str(energy), + /* K4 */ be_nested_str(_ptr), + /* K5 */ be_nested_str(get), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str(energy_struct), + /* K8 */ be_nested_str(toptr), + }), + &be_const_str__deref, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x88000101, // 0001 GETMBR R0 R0 K1 + 0x4C040000, // 0002 LDNIL R1 + 0x1C000001, // 0003 EQ R0 R0 R1 + 0x78020012, // 0004 JMPF R0 #0018 + 0xA4020400, // 0005 IMPORT R0 K2 + 0x60040015, // 0006 GETGBL R1 G21 + 0xB80A0600, // 0007 GETNGBL R2 K3 + 0x88080504, // 0008 GETMBR R2 R2 K4 + 0x540E0003, // 0009 LDINT R3 4 + 0x7C040400, // 000A CALL R1 2 + 0x8C040305, // 000B GETMET R1 R1 K5 + 0x580C0006, // 000C LDCONST R3 K6 + 0x54120003, // 000D LDINT R4 4 + 0x7C040600, // 000E CALL R1 3 + 0x20080306, // 000F NE R2 R1 K6 + 0x780A0006, // 0010 JMPF R2 #0018 + 0xB80A0000, // 0011 GETNGBL R2 K0 + 0xB80E0E00, // 0012 GETNGBL R3 K7 + 0x8C100108, // 0013 GETMET R4 R0 K8 + 0x5C180200, // 0014 MOVE R6 R1 + 0x7C100400, // 0015 CALL R4 2 + 0x7C0C0200, // 0016 CALL R3 1 + 0x900A0203, // 0017 SETMBR R2 K1 R3 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read +********************************************************************/ +be_local_closure(module_energy_read, /* name */ + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(_deref), + /* K2 */ be_nested_str(global), + /* K3 */ be_nested_str(_energy), + /* K4 */ be_nested_str(tomap), + }), + &be_const_str_read, + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x7C000200, // 0002 CALL R0 1 + 0xB8020400, // 0003 GETNGBL R0 K2 + 0x88000103, // 0004 GETMBR R0 R0 K3 + 0x78020003, // 0005 JMPF R0 #000A + 0xB8020600, // 0006 GETNGBL R0 K3 + 0x8C000104, // 0007 GETMET R0 R0 K4 + 0x7C000200, // 0008 CALL R0 1 + 0x80040000, // 0009 RET 1 R0 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(module_energy_member, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(_deref), + /* K2 */ be_nested_str(global), + /* K3 */ be_nested_str(_energy), + }), + &be_const_str_member, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0xB8060400, // 0003 GETNGBL R1 K2 + 0x88040303, // 0004 GETMBR R1 R1 K3 + 0x78060002, // 0005 JMPF R1 #0009 + 0xB8060600, // 0006 GETNGBL R1 K3 + 0x88040200, // 0007 GETMBR R1 R1 R0 + 0x80040200, // 0008 RET 1 R1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(module_energy_setmember, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(_deref), + /* K2 */ be_nested_str(global), + /* K3 */ be_nested_str(_energy), + }), + &be_const_str_setmember, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x7C080200, // 0002 CALL R2 1 + 0xB80A0400, // 0003 GETNGBL R2 K2 + 0x88080503, // 0004 GETMBR R2 R2 K3 + 0x780A0001, // 0005 JMPF R2 #0008 + 0xB80A0600, // 0006 GETNGBL R2 K3 + 0x90080001, // 0007 SETMBR R2 R0 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tomap +********************************************************************/ +be_local_closure(module_energy_tomap, /* name */ + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str(energy), + /* K1 */ be_nested_str(_deref), + /* K2 */ be_nested_str(global), + /* K3 */ be_nested_str(_energy), + /* K4 */ be_nested_str(tomap), + }), + &be_const_str_tomap, + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x7C000200, // 0002 CALL R0 1 + 0xB8020400, // 0003 GETNGBL R0 K2 + 0x88000103, // 0004 GETMBR R0 R0 K3 + 0x78020003, // 0005 JMPF R0 #000A + 0xB8020600, // 0006 GETNGBL R0 K3 + 0x8C000104, // 0007 GETMET R0 R0 K4 + 0x7C000200, // 0008 CALL R0 1 + 0x80040000, // 0009 RET 1 R0 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_hue_bridge.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_hue_bridge.h new file mode 100644 index 000000000..567efa5eb --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_hue_bridge.h @@ -0,0 +1,674 @@ +/* Solidification of hue_bridge.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'hue_bridge_monad' ktab size: 50, total: 85 (saved 280 bytes) +static const bvalue be_ktab_class_hue_bridge_monad[50] = { + /* K0 */ be_nested_str(hue_ntv), + /* K1 */ be_nested_str(lights), + /* K2 */ be_nested_str(contains), + /* K3 */ be_nested_str(full_state), + /* K4 */ be_nested_str(light), + /* K5 */ be_nested_str(name), + /* K6 */ be_nested_str(model), + /* K7 */ be_nested_str(manuf), + /* K8 */ be_nested_str(light_state), + /* K9 */ be_nested_str(int), + /* K10 */ be_nested_str(value_error), + /* K11 */ be_nested_str(id_X20must_X20be_X20of_X20type_X20_X27int_X27), + /* K12 */ be_nested_str(light_X20must_X20be_X20of_X20class_X20_X27light_state_X27), + /* K13 */ be_const_int(0), + /* K14 */ be_nested_str(missing_X20name), + /* K15 */ be_nested_str(Unknown), + /* K16 */ be_nested_str(Tasmota), + /* K17 */ be_nested_str(remove), + /* K18 */ be_nested_str(json), + /* K19 */ be_nested_str(keys), + /* K20 */ be_nested_str(full_status), + /* K21 */ be_nested_str(_X22), + /* K22 */ be_nested_str(_X22_X3A), + /* K23 */ be_nested_str(push), + /* K24 */ be_nested_str(stop_iteration), + /* K25 */ be_nested_str(concat), + /* K26 */ be_nested_str(_X2C), + /* K27 */ be_nested_str(load), + /* K28 */ be_nested_str(tasmota), + /* K29 */ be_nested_str(log), + /* K30 */ be_nested_str(BRY_X3A_X20invalid_X20hue_X20payload_X3A_X20), + /* K31 */ be_const_int(3), + /* K32 */ be_nested_str(on), + /* K33 */ be_nested_str(set_power), + /* K34 */ be_nested_str(xy), + /* K35 */ be_const_int(1), + /* K36 */ be_nested_str(set_xy), + /* K37 */ be_nested_str(hue), + /* K38 */ be_nested_str(sat), + /* K39 */ be_nested_str(type), + /* K40 */ be_nested_str(set_hue16sat), + /* K41 */ be_nested_str(ct), + /* K42 */ be_nested_str(set_ct), + /* K43 */ be_nested_str(bri), + /* K44 */ be_nested_str(set_bri), + /* K45 */ be_nested_str(_X2Flights_X2F), + /* K46 */ be_nested_str(_X2Fstate_X2F), + /* K47 */ be_nested_str(success), + /* K48 */ be_nested_str(signal_change), + /* K49 */ be_nested_str(dump), +}; + + +extern const bclass be_class_hue_bridge_monad; + +/******************************************************************** +** Solidified function: full_status +********************************************************************/ +be_local_closure(class_hue_bridge_monad_full_status, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_full_status, + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x8C0C0702, // 0002 GETMET R3 R3 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780E0009, // 0005 JMPF R3 #0010 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x940C0601, // 0007 GETIDX R3 R3 R1 + 0x8C100503, // 0008 GETMET R4 R2 K3 + 0x5C180200, // 0009 MOVE R6 R1 + 0x941C0704, // 000A GETIDX R7 R3 K4 + 0x94200705, // 000B GETIDX R8 R3 K5 + 0x94240706, // 000C GETIDX R9 R3 K6 + 0x94280707, // 000D GETIDX R10 R3 K7 + 0x7C100C00, // 000E CALL R4 6 + 0x80040800, // 000F RET 1 R4 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: hue_status +********************************************************************/ +be_local_closure(class_hue_bridge_monad_hue_status, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_hue_status, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x8C0C0702, // 0002 GETMET R3 R3 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780E0005, // 0005 JMPF R3 #000C + 0x8C0C0508, // 0006 GETMET R3 R2 K8 + 0x88140101, // 0007 GETMBR R5 R0 K1 + 0x94140A01, // 0008 GETIDX R5 R5 R1 + 0x94140B04, // 0009 GETIDX R5 R5 K4 + 0x7C0C0400, // 000A CALL R3 2 + 0x80040600, // 000B RET 1 R3 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_light +********************************************************************/ +be_local_closure(class_hue_bridge_monad_add_light, /* name */ + be_nested_proto( + 10, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_add_light, + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x60180004, // 0000 GETGBL R6 G4 + 0x5C1C0200, // 0001 MOVE R7 R1 + 0x7C180200, // 0002 CALL R6 1 + 0x20180D09, // 0003 NE R6 R6 K9 + 0x781A0000, // 0004 JMPF R6 #0006 + 0xB006150B, // 0005 RAISE 1 K10 K11 + 0x6018000F, // 0006 GETGBL R6 G15 + 0x5C1C0400, // 0007 MOVE R7 R2 + 0xB8221000, // 0008 GETNGBL R8 K8 + 0x7C180400, // 0009 CALL R6 2 + 0x741A0000, // 000A JMPT R6 #000C + 0xB006150C, // 000B RAISE 1 K10 K12 + 0x60180008, // 000C GETGBL R6 G8 + 0x5C1C0600, // 000D MOVE R7 R3 + 0x7C180200, // 000E CALL R6 1 + 0x5C0C0C00, // 000F MOVE R3 R6 + 0x6018000C, // 0010 GETGBL R6 G12 + 0x5C1C0600, // 0011 MOVE R7 R3 + 0x7C180200, // 0012 CALL R6 1 + 0x1C180D0D, // 0013 EQ R6 R6 K13 + 0x781A0000, // 0014 JMPF R6 #0016 + 0xB006150E, // 0015 RAISE 1 K10 K14 + 0x5C180800, // 0016 MOVE R6 R4 + 0x741A0000, // 0017 JMPT R6 #0019 + 0x5810000F, // 0018 LDCONST R4 K15 + 0x5C180A00, // 0019 MOVE R6 R5 + 0x741A0000, // 001A JMPT R6 #001C + 0x58140010, // 001B LDCONST R5 K16 + 0x88180101, // 001C GETMBR R6 R0 K1 + 0x601C0013, // 001D GETGBL R7 G19 + 0x7C1C0000, // 001E CALL R7 0 + 0x981E0802, // 001F SETIDX R7 K4 R2 + 0x981E0A03, // 0020 SETIDX R7 K5 R3 + 0x60200008, // 0021 GETGBL R8 G8 + 0x5C240800, // 0022 MOVE R9 R4 + 0x7C200200, // 0023 CALL R8 1 + 0x981E0C08, // 0024 SETIDX R7 K6 R8 + 0x60200008, // 0025 GETGBL R8 G8 + 0x5C240A00, // 0026 MOVE R9 R5 + 0x7C200200, // 0027 CALL R8 1 + 0x981E0E08, // 0028 SETIDX R7 K7 R8 + 0x98180207, // 0029 SETIDX R6 R1 R7 + 0x80040400, // 002A RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_light +********************************************************************/ +be_local_closure(class_hue_bridge_monad_remove_light, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_remove_light, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C080511, // 0001 GETMET R2 R2 K17 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_hue_bridge_monad_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040013, // 0000 GETGBL R1 G19 + 0x7C040000, // 0001 CALL R1 0 + 0x90020201, // 0002 SETMBR R0 K1 R1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: discover +********************************************************************/ +be_local_closure(class_hue_bridge_monad_discover, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_discover, + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA40A2400, // 0001 IMPORT R2 K18 + 0x600C0012, // 0002 GETGBL R3 G18 + 0x7C0C0000, // 0003 CALL R3 0 + 0x60100010, // 0004 GETGBL R4 G16 + 0x88140101, // 0005 GETMBR R5 R0 K1 + 0x8C140B13, // 0006 GETMET R5 R5 K19 + 0x7C140200, // 0007 CALL R5 1 + 0x7C100200, // 0008 CALL R4 1 + 0xA802000F, // 0009 EXBLK 0 #001A + 0x5C140800, // 000A MOVE R5 R4 + 0x7C140000, // 000B CALL R5 0 + 0x8C180114, // 000C GETMET R6 R0 K20 + 0x5C200A00, // 000D MOVE R8 R5 + 0x7C180400, // 000E CALL R6 2 + 0x781A0008, // 000F JMPF R6 #0019 + 0x601C0008, // 0010 GETGBL R7 G8 + 0x5C200A00, // 0011 MOVE R8 R5 + 0x7C1C0200, // 0012 CALL R7 1 + 0x001E2A07, // 0013 ADD R7 K21 R7 + 0x001C0F16, // 0014 ADD R7 R7 K22 + 0x00180E06, // 0015 ADD R6 R7 R6 + 0x8C1C0717, // 0016 GETMET R7 R3 K23 + 0x5C240C00, // 0017 MOVE R9 R6 + 0x7C1C0400, // 0018 CALL R7 2 + 0x7001FFEF, // 0019 JMP #000A + 0x58100018, // 001A LDCONST R4 K24 + 0xAC100200, // 001B CATCH R4 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x6010000C, // 001D GETGBL R4 G12 + 0x5C140600, // 001E MOVE R5 R3 + 0x7C100200, // 001F CALL R4 1 + 0x2410090D, // 0020 GT R4 R4 K13 + 0x78120003, // 0021 JMPF R4 #0026 + 0x8C100719, // 0022 GETMET R4 R3 K25 + 0x5818001A, // 0023 LDCONST R6 K26 + 0x7C100400, // 0024 CALL R4 2 + 0x80040800, // 0025 RET 1 R4 + 0x80000000, // 0026 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: light_to_id +********************************************************************/ +be_local_closure(class_hue_bridge_monad_light_to_id, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_light_to_id, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x60080010, // 0000 GETGBL R2 G16 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x8C0C0713, // 0002 GETMET R3 R3 K19 + 0x7C0C0200, // 0003 CALL R3 1 + 0x7C080200, // 0004 CALL R2 1 + 0xA8020009, // 0005 EXBLK 0 #0010 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x7C0C0000, // 0007 CALL R3 0 + 0x88100101, // 0008 GETMBR R4 R0 K1 + 0x94100803, // 0009 GETIDX R4 R4 R3 + 0x94100904, // 000A GETIDX R4 R4 K4 + 0x1C100204, // 000B EQ R4 R1 R4 + 0x78120001, // 000C JMPF R4 #000F + 0xA8040001, // 000D EXBLK 1 1 + 0x80040600, // 000E RET 1 R3 + 0x7001FFF5, // 000F JMP #0006 + 0x58080018, // 0010 LDCONST R2 K24 + 0xAC080200, // 0011 CATCH R2 1 0 + 0xB0080000, // 0012 RAISE 2 R0 R0 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: cmd +********************************************************************/ +be_local_closure(class_hue_bridge_monad_cmd, /* name */ + be_nested_proto( + 18, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_cmd, + &be_const_str_solidified, + ( &(const binstruction[167]) { /* code */ + 0xA40E2400, // 0000 IMPORT R3 K18 + 0x88100101, // 0001 GETMBR R4 R0 K1 + 0x8C100902, // 0002 GETMET R4 R4 K2 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x74120000, // 0005 JMPT R4 #0007 + 0x80000800, // 0006 RET 0 + 0x88100101, // 0007 GETMBR R4 R0 K1 + 0x94100801, // 0008 GETIDX R4 R4 R1 + 0x94100904, // 0009 GETIDX R4 R4 K4 + 0x60140013, // 000A GETGBL R5 G19 + 0x7C140000, // 000B CALL R5 0 + 0x8C18071B, // 000C GETMET R6 R3 K27 + 0x5C200400, // 000D MOVE R8 R2 + 0x7C180400, // 000E CALL R6 2 + 0x4C1C0000, // 000F LDNIL R7 + 0x1C1C0407, // 0010 EQ R7 R2 R7 + 0x781E0008, // 0011 JMPF R7 #001B + 0xB81E3800, // 0012 GETNGBL R7 K28 + 0x8C1C0F1D, // 0013 GETMET R7 R7 K29 + 0x60240008, // 0014 GETGBL R9 G8 + 0x5C280400, // 0015 MOVE R10 R2 + 0x7C240200, // 0016 CALL R9 1 + 0x00263C09, // 0017 ADD R9 K30 R9 + 0x5828001F, // 0018 LDCONST R10 K31 + 0x7C1C0600, // 0019 CALL R7 3 + 0x80000E00, // 001A RET 0 + 0x8C1C0D02, // 001B GETMET R7 R6 K2 + 0x58240020, // 001C LDCONST R9 K32 + 0x7C1C0400, // 001D CALL R7 2 + 0x781E0006, // 001E JMPF R7 #0026 + 0x601C0017, // 001F GETGBL R7 G23 + 0x94200D20, // 0020 GETIDX R8 R6 K32 + 0x7C1C0200, // 0021 CALL R7 1 + 0x98164007, // 0022 SETIDX R5 K32 R7 + 0x8C200921, // 0023 GETMET R8 R4 K33 + 0x5C280E00, // 0024 MOVE R10 R7 + 0x7C200400, // 0025 CALL R8 2 + 0x8C1C0D02, // 0026 GETMET R7 R6 K2 + 0x58240022, // 0027 LDCONST R9 K34 + 0x7C1C0400, // 0028 CALL R7 2 + 0x781E0013, // 0029 JMPF R7 #003E + 0x941C0D22, // 002A GETIDX R7 R6 K34 + 0x6020000A, // 002B GETGBL R8 G10 + 0x94240F0D, // 002C GETIDX R9 R7 K13 + 0x7C200200, // 002D CALL R8 1 + 0x6024000A, // 002E GETGBL R9 G10 + 0x94280F23, // 002F GETIDX R10 R7 K35 + 0x7C240200, // 0030 CALL R9 1 + 0x60280012, // 0031 GETGBL R10 G18 + 0x7C280000, // 0032 CALL R10 0 + 0x402C1408, // 0033 CONNECT R11 R10 R8 + 0x402C1409, // 0034 CONNECT R11 R10 R9 + 0x9816440A, // 0035 SETIDX R5 K34 R10 + 0x542AFFFF, // 0036 LDINT R10 65536 + 0x0820100A, // 0037 MUL R8 R8 R10 + 0x542AFFFF, // 0038 LDINT R10 65536 + 0x0824120A, // 0039 MUL R9 R9 R10 + 0x8C280924, // 003A GETMET R10 R4 K36 + 0x5C301000, // 003B MOVE R12 R8 + 0x5C341200, // 003C MOVE R13 R9 + 0x7C280600, // 003D CALL R10 3 + 0x501C0000, // 003E LDBOOL R7 0 0 + 0x88200925, // 003F GETMBR R8 R4 K37 + 0x88240926, // 0040 GETMBR R9 R4 K38 + 0x8C280D02, // 0041 GETMET R10 R6 K2 + 0x58300025, // 0042 LDCONST R12 K37 + 0x7C280400, // 0043 CALL R10 2 + 0x782A0009, // 0044 JMPF R10 #004F + 0x60280009, // 0045 GETGBL R10 G9 + 0x942C0D25, // 0046 GETIDX R11 R6 K37 + 0x7C280200, // 0047 CALL R10 1 + 0x5C201400, // 0048 MOVE R8 R10 + 0x98164A08, // 0049 SETIDX R5 K37 R8 + 0x542AFFFE, // 004A LDINT R10 65535 + 0x2428100A, // 004B GT R10 R8 R10 + 0x782A0000, // 004C JMPF R10 #004E + 0x5422FFFE, // 004D LDINT R8 65535 + 0x501C0200, // 004E LDBOOL R7 1 0 + 0x8C280D02, // 004F GETMET R10 R6 K2 + 0x58300026, // 0050 LDCONST R12 K38 + 0x7C280400, // 0051 CALL R10 2 + 0x782A000C, // 0052 JMPF R10 #0060 + 0x60280009, // 0053 GETGBL R10 G9 + 0x942C0D26, // 0054 GETIDX R11 R6 K38 + 0x7C280200, // 0055 CALL R10 1 + 0x5C241400, // 0056 MOVE R9 R10 + 0x98164C09, // 0057 SETIDX R5 K38 R9 + 0x542A00FD, // 0058 LDINT R10 254 + 0x2828120A, // 0059 GE R10 R9 R10 + 0x782A0000, // 005A JMPF R10 #005C + 0x542600FE, // 005B LDINT R9 255 + 0x88280927, // 005C GETMBR R10 R4 K39 + 0x2828151F, // 005D GE R10 R10 K31 + 0x782A0000, // 005E JMPF R10 #0060 + 0x501C0200, // 005F LDBOOL R7 1 0 + 0x781E0003, // 0060 JMPF R7 #0065 + 0x8C280928, // 0061 GETMET R10 R4 K40 + 0x5C301000, // 0062 MOVE R12 R8 + 0x5C341200, // 0063 MOVE R13 R9 + 0x7C280600, // 0064 CALL R10 3 + 0x8C280D02, // 0065 GETMET R10 R6 K2 + 0x58300029, // 0066 LDCONST R12 K41 + 0x7C280400, // 0067 CALL R10 2 + 0x782A0006, // 0068 JMPF R10 #0070 + 0x60280009, // 0069 GETGBL R10 G9 + 0x942C0D29, // 006A GETIDX R11 R6 K41 + 0x7C280200, // 006B CALL R10 1 + 0x9816520A, // 006C SETIDX R5 K41 R10 + 0x8C2C092A, // 006D GETMET R11 R4 K42 + 0x5C341400, // 006E MOVE R13 R10 + 0x7C2C0400, // 006F CALL R11 2 + 0x8C280D02, // 0070 GETMET R10 R6 K2 + 0x5830002B, // 0071 LDCONST R12 K43 + 0x7C280400, // 0072 CALL R10 2 + 0x782A000A, // 0073 JMPF R10 #007F + 0x60280009, // 0074 GETGBL R10 G9 + 0x942C0D2B, // 0075 GETIDX R11 R6 K43 + 0x7C280200, // 0076 CALL R10 1 + 0x9816560A, // 0077 SETIDX R5 K43 R10 + 0x542E00FD, // 0078 LDINT R11 254 + 0x282C140B, // 0079 GE R11 R10 R11 + 0x782E0000, // 007A JMPF R11 #007C + 0x542A00FE, // 007B LDINT R10 255 + 0x8C2C092C, // 007C GETMET R11 R4 K44 + 0x5C341400, // 007D MOVE R13 R10 + 0x7C2C0400, // 007E CALL R11 2 + 0x60280012, // 007F GETGBL R10 G18 + 0x7C280000, // 0080 CALL R10 0 + 0x602C0010, // 0081 GETGBL R11 G16 + 0x8C300B13, // 0082 GETMET R12 R5 K19 + 0x7C300200, // 0083 CALL R12 1 + 0x7C2C0200, // 0084 CALL R11 1 + 0xA8020012, // 0085 EXBLK 0 #0099 + 0x5C301600, // 0086 MOVE R12 R11 + 0x7C300000, // 0087 CALL R12 0 + 0x60340008, // 0088 GETGBL R13 G8 + 0x5C380200, // 0089 MOVE R14 R1 + 0x7C340200, // 008A CALL R13 1 + 0x00365A0D, // 008B ADD R13 K45 R13 + 0x00341B2E, // 008C ADD R13 R13 K46 + 0x00341A0C, // 008D ADD R13 R13 R12 + 0x60380013, // 008E GETGBL R14 G19 + 0x7C380000, // 008F CALL R14 0 + 0x603C0013, // 0090 GETGBL R15 G19 + 0x7C3C0000, // 0091 CALL R15 0 + 0x94400A0C, // 0092 GETIDX R16 R5 R12 + 0x983C1A10, // 0093 SETIDX R15 R13 R16 + 0x983A5E0F, // 0094 SETIDX R14 K47 R15 + 0x8C3C1517, // 0095 GETMET R15 R10 K23 + 0x5C441C00, // 0096 MOVE R17 R14 + 0x7C3C0400, // 0097 CALL R15 2 + 0x7001FFEC, // 0098 JMP #0086 + 0x582C0018, // 0099 LDCONST R11 K24 + 0xAC2C0200, // 009A CATCH R11 1 0 + 0xB0080000, // 009B RAISE 2 R0 R0 + 0x602C000C, // 009C GETGBL R11 G12 + 0x5C301400, // 009D MOVE R12 R10 + 0x7C2C0200, // 009E CALL R11 1 + 0x242C170D, // 009F GT R11 R11 K13 + 0x782E0001, // 00A0 JMPF R11 #00A3 + 0x8C2C0930, // 00A1 GETMET R11 R4 K48 + 0x7C2C0200, // 00A2 CALL R11 1 + 0x8C2C0731, // 00A3 GETMET R11 R3 K49 + 0x5C341400, // 00A4 MOVE R13 R10 + 0x7C2C0400, // 00A5 CALL R11 2 + 0x80041600, // 00A6 RET 1 R11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: groups +********************************************************************/ +be_local_closure(class_hue_bridge_monad_groups, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_hue_bridge_monad, /* shared constants */ + &be_const_str_groups, + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x60040012, // 0000 GETGBL R1 G18 + 0x7C040000, // 0001 CALL R1 0 + 0x60080010, // 0002 GETGBL R2 G16 + 0x880C0101, // 0003 GETMBR R3 R0 K1 + 0x8C0C0713, // 0004 GETMET R3 R3 K19 + 0x7C0C0200, // 0005 CALL R3 1 + 0x7C080200, // 0006 CALL R2 1 + 0xA8020009, // 0007 EXBLK 0 #0012 + 0x5C0C0400, // 0008 MOVE R3 R2 + 0x7C0C0000, // 0009 CALL R3 0 + 0x8C100317, // 000A GETMET R4 R1 K23 + 0x60180008, // 000B GETGBL R6 G8 + 0x5C1C0600, // 000C MOVE R7 R3 + 0x7C180200, // 000D CALL R6 1 + 0x001A2A06, // 000E ADD R6 K21 R6 + 0x00180D15, // 000F ADD R6 R6 K21 + 0x7C100400, // 0010 CALL R4 2 + 0x7001FFF5, // 0011 JMP #0008 + 0x58080018, // 0012 LDCONST R2 K24 + 0xAC080200, // 0013 CATCH R2 1 0 + 0xB0080000, // 0014 RAISE 2 R0 R0 + 0x6008000C, // 0015 GETGBL R2 G12 + 0x5C0C0200, // 0016 MOVE R3 R1 + 0x7C080200, // 0017 CALL R2 1 + 0x2408050D, // 0018 GT R2 R2 K13 + 0x780A0003, // 0019 JMPF R2 #001E + 0x8C080319, // 001A GETMET R2 R1 K25 + 0x5810001A, // 001B LDCONST R4 K26 + 0x7C080400, // 001C CALL R2 2 + 0x80040400, // 001D RET 1 R2 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: hue_bridge_monad +********************************************************************/ +be_local_class(hue_bridge_monad, + 1, + NULL, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(lights, -1), be_const_var(0) }, + { be_const_key(groups, 6), be_const_closure(class_hue_bridge_monad_groups_closure) }, + { be_const_key(hue_status, -1), be_const_closure(class_hue_bridge_monad_hue_status_closure) }, + { be_const_key(add_light, -1), be_const_closure(class_hue_bridge_monad_add_light_closure) }, + { be_const_key(remove_light, 8), be_const_closure(class_hue_bridge_monad_remove_light_closure) }, + { be_const_key(init, -1), be_const_closure(class_hue_bridge_monad_init_closure) }, + { be_const_key(cmd, -1), be_const_closure(class_hue_bridge_monad_cmd_closure) }, + { be_const_key(light_to_id, -1), be_const_closure(class_hue_bridge_monad_light_to_id_closure) }, + { be_const_key(discover, -1), be_const_closure(class_hue_bridge_monad_discover_closure) }, + { be_const_key(full_status, 1), be_const_closure(class_hue_bridge_monad_full_status_closure) }, + })), + (bstring*) &be_const_str_hue_bridge_monad +); + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_class(be_class_hue_bridge_monad), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0xB4000000, // 0001 CLASS K0 + 0x5C080200, // 0002 MOVE R2 R1 + 0x7C080000, // 0003 CALL R2 0 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: hue_bridge +********************************************************************/ +be_local_module(hue_bridge, + "hue_bridge", + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(hue_bridge); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_driver.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_driver.h new file mode 100644 index 000000000..cc8fcf12b --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_driver.h @@ -0,0 +1,564 @@ +/* Solidification of i2c_driver.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'I2C_Driver' ktab size: 20, total: 71 (saved 408 bytes) +static const bvalue be_ktab_class_I2C_Driver[20] = { + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read_bytes), + /* K2 */ be_nested_str(addr), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(1), + /* K5 */ be_const_int(2), + /* K6 */ be_const_int(3), + /* K7 */ be_nested_str(tasmota), + /* K8 */ be_nested_str(i2c_enabled), + /* K9 */ be_nested_str(wire_scan), + /* K10 */ be_nested_str(function), + /* K11 */ be_nested_str(name), + /* K12 */ be_nested_str(I2C_X3A), + /* K13 */ be_nested_str(detected_X20on_X20bus), + /* K14 */ be_nested_str(bus), + /* K15 */ be_nested_str(write8), + /* K16 */ be_nested_str(read8), + /* K17 */ be_nested_str(write16), + /* K18 */ be_nested_str(read), + /* K19 */ be_nested_str(write), +}; + + +extern const bclass be_class_I2C_Driver; + +/******************************************************************** +** Solidified function: read32 +********************************************************************/ +be_local_closure(class_I2C_Driver_read32, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read32, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x541A0003, // 0004 LDINT R6 4 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x54120017, // 0007 LDINT R4 24 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x5416000F, // 000A LDINT R5 16 + 0x38100805, // 000B SHL R4 R4 R5 + 0x000C0604, // 000C ADD R3 R3 R4 + 0x94100505, // 000D GETIDX R4 R2 K5 + 0x54160007, // 000E LDINT R5 8 + 0x38100805, // 000F SHL R4 R4 R5 + 0x000C0604, // 0010 ADD R3 R3 R4 + 0x94100506, // 0011 GETIDX R4 R2 K6 + 0x000C0604, // 0012 ADD R3 R3 R4 + 0x80040600, // 0013 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_I2C_Driver_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x20100604, // 0001 NE R4 R3 R4 + 0x78120005, // 0002 JMPF R4 #0009 + 0xB8120E00, // 0003 GETNGBL R4 K7 + 0x8C100908, // 0004 GETMET R4 R4 K8 + 0x5C180600, // 0005 MOVE R6 R3 + 0x7C100400, // 0006 CALL R4 2 + 0x74120000, // 0007 JMPT R4 #0009 + 0x80000800, // 0008 RET 0 + 0x90020402, // 0009 SETMBR R0 K2 R2 + 0xB8120E00, // 000A GETNGBL R4 K7 + 0x8C100909, // 000B GETMET R4 R4 K9 + 0x88180102, // 000C GETMBR R6 R0 K2 + 0x7C100400, // 000D CALL R4 2 + 0x90020004, // 000E SETMBR R0 K0 R4 + 0x88100100, // 000F GETMBR R4 R0 K0 + 0x78120019, // 0010 JMPF R4 #002B + 0x60100004, // 0011 GETGBL R4 G4 + 0x5C140200, // 0012 MOVE R5 R1 + 0x7C100200, // 0013 CALL R4 1 + 0x1C10090A, // 0014 EQ R4 R4 K10 + 0x78120004, // 0015 JMPF R4 #001B + 0x5C100200, // 0016 MOVE R4 R1 + 0x5C140000, // 0017 MOVE R5 R0 + 0x7C100200, // 0018 CALL R4 1 + 0x90021604, // 0019 SETMBR R0 K11 R4 + 0x70020000, // 001A JMP #001C + 0x90021601, // 001B SETMBR R0 K11 R1 + 0x8810010B, // 001C GETMBR R4 R0 K11 + 0x4C140000, // 001D LDNIL R5 + 0x1C100805, // 001E EQ R4 R4 R5 + 0x78120001, // 001F JMPF R4 #0022 + 0x4C100000, // 0020 LDNIL R4 + 0x90020004, // 0021 SETMBR R0 K0 R4 + 0x88100100, // 0022 GETMBR R4 R0 K0 + 0x78120006, // 0023 JMPF R4 #002B + 0x60100001, // 0024 GETGBL R4 G1 + 0x5814000C, // 0025 LDCONST R5 K12 + 0x8818010B, // 0026 GETMBR R6 R0 K11 + 0x581C000D, // 0027 LDCONST R7 K13 + 0x88200100, // 0028 GETMBR R8 R0 K0 + 0x8820110E, // 0029 GETMBR R8 R8 K14 + 0x7C100800, // 002A CALL R4 4 + 0x80000000, // 002B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read24 +********************************************************************/ +be_local_closure(class_I2C_Driver_read24, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read24, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180006, // 0004 LDCONST R6 K6 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x5412000F, // 0007 LDINT R4 16 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x54160007, // 000A LDINT R5 8 + 0x38100805, // 000B SHL R4 R4 R5 + 0x000C0604, // 000C ADD R3 R3 R4 + 0x94100505, // 000D GETIDX R4 R2 K5 + 0x000C0604, // 000E ADD R3 R3 R4 + 0x80040600, // 000F RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_bit +********************************************************************/ +be_local_closure(class_I2C_Driver_write_bit, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_write_bit, + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x14100503, // 0000 LT R4 R2 K3 + 0x74120002, // 0001 JMPT R4 #0005 + 0x54120006, // 0002 LDINT R4 7 + 0x24100404, // 0003 GT R4 R2 R4 + 0x78120000, // 0004 JMPF R4 #0006 + 0x80000800, // 0005 RET 0 + 0x38120802, // 0006 SHL R4 K4 R2 + 0x780E0007, // 0007 JMPF R3 #0010 + 0x8C14010F, // 0008 GETMET R5 R0 K15 + 0x5C1C0200, // 0009 MOVE R7 R1 + 0x8C200110, // 000A GETMET R8 R0 K16 + 0x5C280200, // 000B MOVE R10 R1 + 0x7C200400, // 000C CALL R8 2 + 0x30201004, // 000D OR R8 R8 R4 + 0x7C140600, // 000E CALL R5 3 + 0x70020008, // 000F JMP #0019 + 0x8C14010F, // 0010 GETMET R5 R0 K15 + 0x5C1C0200, // 0011 MOVE R7 R1 + 0x8C200110, // 0012 GETMET R8 R0 K16 + 0x5C280200, // 0013 MOVE R10 R1 + 0x7C200400, // 0014 CALL R8 2 + 0x542600FE, // 0015 LDINT R9 255 + 0x04241204, // 0016 SUB R9 R9 R4 + 0x2C201009, // 0017 AND R8 R8 R9 + 0x7C140600, // 0018 CALL R5 3 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write16LE +********************************************************************/ +be_local_closure(class_I2C_Driver_write16LE, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_write16LE, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x540E00FE, // 0000 LDINT R3 255 + 0x2C0C0403, // 0001 AND R3 R2 R3 + 0x54120007, // 0002 LDINT R4 8 + 0x380C0604, // 0003 SHL R3 R3 R4 + 0x5412FEFF, // 0004 LDINT R4 65280 + 0x2C100404, // 0005 AND R4 R2 R4 + 0x54160007, // 0006 LDINT R5 8 + 0x3C100805, // 0007 SHR R4 R4 R5 + 0x300C0604, // 0008 OR R3 R3 R4 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C0111, // 000A GETMET R3 R0 K17 + 0x5C140200, // 000B MOVE R5 R1 + 0x5C180400, // 000C MOVE R6 R2 + 0x7C0C0600, // 000D CALL R3 3 + 0x80040600, // 000E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read8 +********************************************************************/ +be_local_closure(class_I2C_Driver_read8, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read8, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080512, // 0001 GETMET R2 R2 K18 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180004, // 0004 LDCONST R6 K4 + 0x7C080800, // 0005 CALL R2 4 + 0x80040400, // 0006 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read14 +********************************************************************/ +be_local_closure(class_I2C_Driver_read14, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read14, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180005, // 0004 LDCONST R6 K5 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x54120005, // 0007 LDINT R4 6 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read16LE +********************************************************************/ +be_local_closure(class_I2C_Driver_read16LE, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read16LE, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180005, // 0004 LDCONST R6 K5 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0504, // 0006 GETIDX R3 R2 K4 + 0x54120007, // 0007 LDINT R4 8 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100503, // 0009 GETIDX R4 R2 K3 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read12 +********************************************************************/ +be_local_closure(class_I2C_Driver_read12, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read12, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180005, // 0004 LDCONST R6 K5 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x54120003, // 0007 LDINT R4 4 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write8 +********************************************************************/ +be_local_closure(class_I2C_Driver_write8, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_write8, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x8C0C0713, // 0001 GETMET R3 R3 K19 + 0x88140102, // 0002 GETMBR R5 R0 K2 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x58200004, // 0005 LDCONST R8 K4 + 0x7C0C0A00, // 0006 CALL R3 5 + 0x80040600, // 0007 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read13 +********************************************************************/ +be_local_closure(class_I2C_Driver_read13, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read13, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180005, // 0004 LDCONST R6 K5 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x54120004, // 0007 LDINT R4 5 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read16 +********************************************************************/ +be_local_closure(class_I2C_Driver_read16, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_read16, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x88100102, // 0002 GETMBR R4 R0 K2 + 0x5C140200, // 0003 MOVE R5 R1 + 0x58180005, // 0004 LDCONST R6 K5 + 0x7C080800, // 0005 CALL R2 4 + 0x940C0503, // 0006 GETIDX R3 R2 K3 + 0x54120007, // 0007 LDINT R4 8 + 0x380C0604, // 0008 SHL R3 R3 R4 + 0x94100504, // 0009 GETIDX R4 R2 K4 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write16 +********************************************************************/ +be_local_closure(class_I2C_Driver_write16, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_I2C_Driver, /* shared constants */ + &be_const_str_write16, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x8C0C0713, // 0001 GETMET R3 R3 K19 + 0x88140102, // 0002 GETMBR R5 R0 K2 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x58200005, // 0005 LDCONST R8 K5 + 0x7C0C0A00, // 0006 CALL R3 5 + 0x80040600, // 0007 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: I2C_Driver +********************************************************************/ +be_local_class(I2C_Driver, + 3, + NULL, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(read32, -1), be_const_closure(class_I2C_Driver_read32_closure) }, + { be_const_key(write16, 15), be_const_closure(class_I2C_Driver_write16_closure) }, + { be_const_key(addr, -1), be_const_var(1) }, + { be_const_key(init, 1), be_const_closure(class_I2C_Driver_init_closure) }, + { be_const_key(write_bit, -1), be_const_closure(class_I2C_Driver_write_bit_closure) }, + { be_const_key(read14, -1), be_const_closure(class_I2C_Driver_read14_closure) }, + { be_const_key(name, -1), be_const_var(2) }, + { be_const_key(read8, -1), be_const_closure(class_I2C_Driver_read8_closure) }, + { be_const_key(write16LE, 11), be_const_closure(class_I2C_Driver_write16LE_closure) }, + { be_const_key(read16LE, -1), be_const_closure(class_I2C_Driver_read16LE_closure) }, + { be_const_key(read12, -1), be_const_closure(class_I2C_Driver_read12_closure) }, + { be_const_key(wire, 5), be_const_var(0) }, + { be_const_key(write8, -1), be_const_closure(class_I2C_Driver_write8_closure) }, + { be_const_key(read13, -1), be_const_closure(class_I2C_Driver_read13_closure) }, + { be_const_key(read16, -1), be_const_closure(class_I2C_Driver_read16_closure) }, + { be_const_key(read24, -1), be_const_closure(class_I2C_Driver_read24_closure) }, + })), + (bstring*) &be_const_str_I2C_Driver +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_ft3663.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_ft3663.h new file mode 100644 index 000000000..e643c05b9 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_i2c_ft3663.h @@ -0,0 +1,248 @@ +/* Solidification of i2c_ft3663.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'FT3663' ktab size: 21, total: 25 (saved 32 bytes) +static const bvalue be_ktab_class_FT3663[21] = { + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(ts_loop), + /* K2 */ be_nested_str(init), + /* K3 */ be_nested_str(FT3663), + /* K4 */ be_nested_str(read8), + /* K5 */ be_nested_str(tasmota), + /* K6 */ be_nested_str(log), + /* K7 */ be_nested_str(I2C_X3A_X20ignoring_X20address_X200x38_X2C_X20not_X20FT3663), + /* K8 */ be_const_int(2), + /* K9 */ be_nested_str(TS_X20_X3A_X20FT3663_X20Touch_X20Screen_X20detected), + /* K10 */ be_nested_str(write8), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str(add_driver), + /* K13 */ be_nested_str(display), + /* K14 */ be_nested_str(read_bytes), + /* K15 */ be_nested_str(addr), + /* K16 */ be_const_int(3), + /* K17 */ be_nested_str(gest_id_codes), + /* K18 */ be_nested_str(find), + /* K19 */ be_const_int(1), + /* K20 */ be_nested_str(touch_update), +}; + + +extern const bclass be_class_FT3663; + +/******************************************************************** +** Solidified function: every_100ms +********************************************************************/ +be_local_closure(class_FT3663_every_100ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_FT3663, /* shared constants */ + &be_const_str_every_100ms, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060001, // 0001 JMPF R1 #0004 + 0x8C040101, // 0002 GETMET R1 R0 K1 + 0x7C040200, // 0003 CALL R1 1 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_FT3663_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_FT3663, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040302, // 0003 GETMET R1 R1 K2 + 0x580C0003, // 0004 LDCONST R3 K3 + 0x54120037, // 0005 LDINT R4 56 + 0x7C040600, // 0006 CALL R1 3 + 0x88040100, // 0007 GETMBR R1 R0 K0 + 0x78060027, // 0008 JMPF R1 #0031 + 0x8C040104, // 0009 GETMET R1 R0 K4 + 0x540E00A7, // 000A LDINT R3 168 + 0x7C040400, // 000B CALL R1 2 + 0x8C080104, // 000C GETMET R2 R0 K4 + 0x541200A2, // 000D LDINT R4 163 + 0x7C080400, // 000E CALL R2 2 + 0x540E0010, // 000F LDINT R3 17 + 0x200C0203, // 0010 NE R3 R1 R3 + 0x740E0002, // 0011 JMPT R3 #0015 + 0x540E0063, // 0012 LDINT R3 100 + 0x200C0403, // 0013 NE R3 R2 R3 + 0x780E0007, // 0014 JMPF R3 #001D + 0xB80E0A00, // 0015 GETNGBL R3 K5 + 0x8C0C0706, // 0016 GETMET R3 R3 K6 + 0x58140007, // 0017 LDCONST R5 K7 + 0x58180008, // 0018 LDCONST R6 K8 + 0x7C0C0600, // 0019 CALL R3 3 + 0x4C0C0000, // 001A LDNIL R3 + 0x90020003, // 001B SETMBR R0 K0 R3 + 0x80000600, // 001C RET 0 + 0xB80E0A00, // 001D GETNGBL R3 K5 + 0x8C0C0706, // 001E GETMET R3 R3 K6 + 0x58140009, // 001F LDCONST R5 K9 + 0x7C0C0400, // 0020 CALL R3 2 + 0x8C0C010A, // 0021 GETMET R3 R0 K10 + 0x5814000B, // 0022 LDCONST R5 K11 + 0x5818000B, // 0023 LDCONST R6 K11 + 0x7C0C0600, // 0024 CALL R3 3 + 0x8C0C010A, // 0025 GETMET R3 R0 K10 + 0x5416007F, // 0026 LDINT R5 128 + 0x541A0015, // 0027 LDINT R6 22 + 0x7C0C0600, // 0028 CALL R3 3 + 0x8C0C010A, // 0029 GETMET R3 R0 K10 + 0x54160087, // 002A LDINT R5 136 + 0x541A000D, // 002B LDINT R6 14 + 0x7C0C0600, // 002C CALL R3 3 + 0xB80E0A00, // 002D GETNGBL R3 K5 + 0x8C0C070C, // 002E GETMET R3 R3 K12 + 0x5C140000, // 002F MOVE R5 R0 + 0x7C0C0400, // 0030 CALL R3 2 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ts_loop +********************************************************************/ +be_local_closure(class_FT3663_ts_loop, /* name */ + be_nested_proto( + 17, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_FT3663, /* shared constants */ + &be_const_str_ts_loop, + &be_const_str_solidified, + ( &(const binstruction[63]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x74060000, // 0001 JMPT R1 #0003 + 0x80000200, // 0002 RET 0 + 0xA4061A00, // 0003 IMPORT R1 K13 + 0x88080100, // 0004 GETMBR R2 R0 K0 + 0x8C08050E, // 0005 GETMET R2 R2 K14 + 0x8810010F, // 0006 GETMBR R4 R0 K15 + 0x5814000B, // 0007 LDCONST R5 K11 + 0x541A000E, // 0008 LDINT R6 15 + 0x7C080800, // 0009 CALL R2 4 + 0x940C0508, // 000A GETIDX R3 R2 K8 + 0x5412000E, // 000B LDINT R4 15 + 0x2C0C0604, // 000C AND R3 R3 R4 + 0x94100510, // 000D GETIDX R4 R2 K16 + 0x5416000E, // 000E LDINT R5 15 + 0x2C100805, // 000F AND R4 R4 R5 + 0x54160007, // 0010 LDINT R5 8 + 0x38100805, // 0011 SHL R4 R4 R5 + 0x54160003, // 0012 LDINT R5 4 + 0x94140405, // 0013 GETIDX R5 R2 R5 + 0x30100805, // 0014 OR R4 R4 R5 + 0x54160004, // 0015 LDINT R5 5 + 0x94140405, // 0016 GETIDX R5 R2 R5 + 0x541A000E, // 0017 LDINT R6 15 + 0x2C140A06, // 0018 AND R5 R5 R6 + 0x541A0007, // 0019 LDINT R6 8 + 0x38140A06, // 001A SHL R5 R5 R6 + 0x541A0005, // 001B LDINT R6 6 + 0x94180406, // 001C GETIDX R6 R2 R6 + 0x30140A06, // 001D OR R5 R5 R6 + 0x541A0006, // 001E LDINT R6 7 + 0x94180406, // 001F GETIDX R6 R2 R6 + 0x941C0510, // 0020 GETIDX R7 R2 K16 + 0x54220008, // 0021 LDINT R8 9 + 0x2C1C0E08, // 0022 AND R7 R7 R8 + 0x54220007, // 0023 LDINT R8 8 + 0x381C0E08, // 0024 SHL R7 R7 R8 + 0x54220009, // 0025 LDINT R8 10 + 0x94200408, // 0026 GETIDX R8 R2 R8 + 0x301C0E08, // 0027 OR R7 R7 R8 + 0x54220004, // 0028 LDINT R8 5 + 0x94200408, // 0029 GETIDX R8 R2 R8 + 0x5426000A, // 002A LDINT R9 11 + 0x2C201009, // 002B AND R8 R8 R9 + 0x54260007, // 002C LDINT R9 8 + 0x38201009, // 002D SHL R8 R8 R9 + 0x5426000B, // 002E LDINT R9 12 + 0x94240409, // 002F GETIDX R9 R2 R9 + 0x30201009, // 0030 OR R8 R8 R9 + 0x5426000C, // 0031 LDINT R9 13 + 0x94240409, // 0032 GETIDX R9 R2 R9 + 0x88280111, // 0033 GETMBR R10 R0 K17 + 0x8C281512, // 0034 GETMET R10 R10 K18 + 0x94300513, // 0035 GETIDX R12 R2 K19 + 0x5834000B, // 0036 LDCONST R13 K11 + 0x7C280600, // 0037 CALL R10 3 + 0x8C2C0314, // 0038 GETMET R11 R1 K20 + 0x5C340600, // 0039 MOVE R13 R3 + 0x5C380800, // 003A MOVE R14 R4 + 0x5C3C0A00, // 003B MOVE R15 R5 + 0x5C401400, // 003C MOVE R16 R10 + 0x7C2C0A00, // 003D CALL R11 5 + 0x80000000, // 003E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: FT3663 +********************************************************************/ +extern const bclass be_class_I2C_Driver; +be_local_class(FT3663, + 0, + &be_class_I2C_Driver, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(every_100ms, -1), be_const_closure(class_FT3663_every_100ms_closure) }, + { be_const_key(ts_loop, 2), be_const_closure(class_FT3663_ts_loop_closure) }, + { be_const_key(gest_id_codes, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(0, 4), be_const_int(0) }, + { be_const_key_int(72, -1), be_const_int(32) }, + { be_const_key_int(16, 1), be_const_int(16) }, + { be_const_key_int(73, 5), be_const_int(33) }, + { be_const_key_int(28, -1), be_const_int(18) }, + { be_const_key_int(24, -1), be_const_int(17) }, + { be_const_key_int(20, -1), be_const_int(19) }, + })) ) } )) }, + { be_const_key(init, 1), be_const_closure(class_FT3663_init_closure) }, + })), + (bstring*) &be_const_str_FT3663 +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_leds.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_leds.h new file mode 100644 index 000000000..2d94561e7 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_leds.h @@ -0,0 +1,2384 @@ +/* Solidification of leds.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Leds_segment; +extern const bclass be_class_Leds; +extern const bclass be_class_Leds_matrix; +// compact class 'Leds_segment' ktab size: 16, total: 34 (saved 144 bytes) +static const bvalue be_ktab_class_Leds_segment[16] = { + /* K0 */ be_nested_str(offset), + /* K1 */ be_nested_str(bri), + /* K2 */ be_nested_str(strip), + /* K3 */ be_nested_str(call_native), + /* K4 */ be_nested_str(to_gamma), + /* K5 */ be_nested_str(leds), + /* K6 */ be_nested_str(dirty), + /* K7 */ be_nested_str(can_show), + /* K8 */ be_nested_str(set_pixel_color), + /* K9 */ be_nested_str(is_dirty), + /* K10 */ be_nested_str(clear_to), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str(show), + /* K13 */ be_nested_str(get_pixel_color), + /* K14 */ be_nested_str(offseta), + /* K15 */ be_nested_str(pixel_size), +}; + + +extern const bclass be_class_Leds_segment; + +/******************************************************************** +** Solidified function: pixel_offset +********************************************************************/ +be_local_closure(class_Leds_segment_pixel_offset, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_pixel_offset, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear_to +********************************************************************/ +be_local_closure(class_Leds_segment_clear_to, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_clear_to, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x88080101, // 0003 GETMBR R2 R0 K1 + 0x880C0102, // 0004 GETMBR R3 R0 K2 + 0x8C0C0703, // 0005 GETMET R3 R3 K3 + 0x54160008, // 0006 LDINT R5 9 + 0x88180102, // 0007 GETMBR R6 R0 K2 + 0x8C180D04, // 0008 GETMET R6 R6 K4 + 0x5C200200, // 0009 MOVE R8 R1 + 0x5C240400, // 000A MOVE R9 R2 + 0x7C180600, // 000B CALL R6 3 + 0x881C0100, // 000C GETMBR R7 R0 K0 + 0x88200105, // 000D GETMBR R8 R0 K5 + 0x7C0C0A00, // 000E CALL R3 5 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_count +********************************************************************/ +be_local_closure(class_Leds_segment_pixel_count, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_pixel_count, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040105, // 0000 GETMBR R1 R0 K5 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixels_buffer +********************************************************************/ +be_local_closure(class_Leds_segment_pixels_buffer, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_pixels_buffer, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dirty +********************************************************************/ +be_local_closure(class_Leds_segment_dirty, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040306, // 0001 GETMET R1 R1 K6 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: can_show +********************************************************************/ +be_local_closure(class_Leds_segment_can_show, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_can_show, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040307, // 0001 GETMET R1 R1 K7 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pixel_color +********************************************************************/ +be_local_closure(class_Leds_segment_set_pixel_color, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_set_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120000, // 0002 JMPF R4 #0004 + 0x880C0101, // 0003 GETMBR R3 R0 K1 + 0x88100102, // 0004 GETMBR R4 R0 K2 + 0x8C100908, // 0005 GETMET R4 R4 K8 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x00180206, // 0007 ADD R6 R1 R6 + 0x5C1C0400, // 0008 MOVE R7 R2 + 0x5C200600, // 0009 MOVE R8 R3 + 0x7C100800, // 000A CALL R4 4 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_dirty +********************************************************************/ +be_local_closure(class_Leds_segment_is_dirty, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_is_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear +********************************************************************/ +be_local_closure(class_Leds_segment_clear, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_clear, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C04010A, // 0000 GETMET R1 R0 K10 + 0x580C000B, // 0001 LDCONST R3 K11 + 0x7C040400, // 0002 CALL R1 2 + 0x8C04010C, // 0003 GETMET R1 R0 K12 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin +********************************************************************/ +be_local_closure(class_Leds_segment_begin, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_begin, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pixel_color +********************************************************************/ +be_local_closure(class_Leds_segment_get_pixel_color, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_get_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C08050D, // 0001 GETMET R2 R2 K13 + 0x8810010E, // 0002 GETMBR R4 R0 K14 + 0x00100204, // 0003 ADD R4 R1 R4 + 0x7C080400, // 0004 CALL R2 2 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_size +********************************************************************/ +be_local_closure(class_Leds_segment_pixel_size, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_pixel_size, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C04030F, // 0001 GETMET R1 R1 K15 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Leds_segment_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x90020401, // 0000 SETMBR R0 K2 R1 + 0x60100009, // 0001 GETGBL R4 G9 + 0x5C140400, // 0002 MOVE R5 R2 + 0x7C100200, // 0003 CALL R4 1 + 0x90020004, // 0004 SETMBR R0 K0 R4 + 0x60100009, // 0005 GETGBL R4 G9 + 0x5C140600, // 0006 MOVE R5 R3 + 0x7C100200, // 0007 CALL R4 1 + 0x90020A04, // 0008 SETMBR R0 K5 R4 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show +********************************************************************/ +be_local_closure(class_Leds_segment_show, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_segment, /* shared constants */ + &be_const_str_show, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0007, // 0003 JMPT R2 #000C + 0x88080100, // 0004 GETMBR R2 R0 K0 + 0x1C08050B, // 0005 EQ R2 R2 K11 + 0x780A0007, // 0006 JMPF R2 #000F + 0x88080105, // 0007 GETMBR R2 R0 K5 + 0x880C0102, // 0008 GETMBR R3 R0 K2 + 0x880C0705, // 0009 GETMBR R3 R3 K5 + 0x1C080403, // 000A EQ R2 R2 R3 + 0x780A0002, // 000B JMPF R2 #000F + 0x88080102, // 000C GETMBR R2 R0 K2 + 0x8C08050C, // 000D GETMET R2 R2 K12 + 0x7C080200, // 000E CALL R2 1 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Leds_segment +********************************************************************/ +be_local_class(Leds_segment, + 3, + NULL, + be_nested_map(17, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(pixel_offset, 9), be_const_closure(class_Leds_segment_pixel_offset_closure) }, + { be_const_key(clear_to, -1), be_const_closure(class_Leds_segment_clear_to_closure) }, + { be_const_key(show, -1), be_const_closure(class_Leds_segment_show_closure) }, + { be_const_key(pixels_buffer, 10), be_const_closure(class_Leds_segment_pixels_buffer_closure) }, + { be_const_key(offset, -1), be_const_var(1) }, + { be_const_key(dirty, -1), be_const_closure(class_Leds_segment_dirty_closure) }, + { be_const_key(can_show, -1), be_const_closure(class_Leds_segment_can_show_closure) }, + { be_const_key(set_pixel_color, 6), be_const_closure(class_Leds_segment_set_pixel_color_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(class_Leds_segment_get_pixel_color_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(class_Leds_segment_pixel_count_closure) }, + { be_const_key(strip, 7), be_const_var(0) }, + { be_const_key(leds, -1), be_const_var(2) }, + { be_const_key(begin, -1), be_const_closure(class_Leds_segment_begin_closure) }, + { be_const_key(is_dirty, 8), be_const_closure(class_Leds_segment_is_dirty_closure) }, + { be_const_key(pixel_size, -1), be_const_closure(class_Leds_segment_pixel_size_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_segment_init_closure) }, + { be_const_key(clear, 2), be_const_closure(class_Leds_segment_clear_closure) }, + })), + (bstring*) &be_const_str_Leds_segment +); +// compact class 'Leds_matrix' ktab size: 28, total: 72 (saved 352 bytes) +static const bvalue be_ktab_class_Leds_matrix[28] = { + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(is_dirty), + /* K2 */ be_nested_str(dirty), + /* K3 */ be_nested_str(bri), + /* K4 */ be_nested_str(alternate), + /* K5 */ be_const_int(1), + /* K6 */ be_nested_str(set_pixel_color), + /* K7 */ be_nested_str(w), + /* K8 */ be_nested_str(h), + /* K9 */ be_nested_str(offset), + /* K10 */ be_nested_str(can_show), + /* K11 */ be_nested_str(pix_size), + /* K12 */ be_nested_str(pix_buffer), + /* K13 */ be_nested_str(setbytes), + /* K14 */ be_const_int(0), + /* K15 */ be_nested_str(leds), + /* K16 */ be_nested_str(show), + /* K17 */ be_nested_str(pixels_buffer), + /* K18 */ be_nested_str(get_pixel_color), + /* K19 */ be_nested_str(offseta), + /* K20 */ be_nested_str(call_native), + /* K21 */ be_nested_str(to_gamma), + /* K22 */ be_nested_str(pixel_size), + /* K23 */ be_nested_str(clear_to), + /* K24 */ be_const_int(3), + /* K25 */ be_const_int(2), + /* K26 */ be_nested_str(reverse), + /* K27 */ be_const_int(2147483647), +}; + + +extern const bclass be_class_Leds_matrix; + +/******************************************************************** +** Solidified function: is_dirty +********************************************************************/ +be_local_closure(class_Leds_matrix_is_dirty, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_is_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dirty +********************************************************************/ +be_local_closure(class_Leds_matrix_dirty, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040302, // 0001 GETMET R1 R1 K2 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_matrix_pixel_color +********************************************************************/ +be_local_closure(class_Leds_matrix_set_matrix_pixel_color, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_set_matrix_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140805, // 0001 EQ R5 R4 R5 + 0x78160001, // 0002 JMPF R5 #0005 + 0x88140100, // 0003 GETMBR R5 R0 K0 + 0x88100B03, // 0004 GETMBR R4 R5 K3 + 0x88140104, // 0005 GETMBR R5 R0 K4 + 0x7816000F, // 0006 JMPF R5 #0017 + 0x2C140505, // 0007 AND R5 R2 K5 + 0x7816000D, // 0008 JMPF R5 #0017 + 0x88140100, // 0009 GETMBR R5 R0 K0 + 0x8C140B06, // 000A GETMET R5 R5 K6 + 0x881C0107, // 000B GETMBR R7 R0 K7 + 0x081C0207, // 000C MUL R7 R1 R7 + 0x88200108, // 000D GETMBR R8 R0 K8 + 0x001C0E08, // 000E ADD R7 R7 R8 + 0x041C0E02, // 000F SUB R7 R7 R2 + 0x041C0F05, // 0010 SUB R7 R7 K5 + 0x88200109, // 0011 GETMBR R8 R0 K9 + 0x001C0E08, // 0012 ADD R7 R7 R8 + 0x5C200600, // 0013 MOVE R8 R3 + 0x5C240800, // 0014 MOVE R9 R4 + 0x7C140800, // 0015 CALL R5 4 + 0x70020009, // 0016 JMP #0021 + 0x88140100, // 0017 GETMBR R5 R0 K0 + 0x8C140B06, // 0018 GETMET R5 R5 K6 + 0x881C0107, // 0019 GETMBR R7 R0 K7 + 0x081C0207, // 001A MUL R7 R1 R7 + 0x001C0E02, // 001B ADD R7 R7 R2 + 0x88200109, // 001C GETMBR R8 R0 K9 + 0x001C0E08, // 001D ADD R7 R7 R8 + 0x5C200600, // 001E MOVE R8 R3 + 0x5C240800, // 001F MOVE R9 R4 + 0x7C140800, // 0020 CALL R5 4 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: can_show +********************************************************************/ +be_local_closure(class_Leds_matrix_can_show, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_can_show, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C04030A, // 0001 GETMET R1 R1 K10 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_bytes +********************************************************************/ +be_local_closure(class_Leds_matrix_set_bytes, /* name */ + be_nested_proto( + 13, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_set_bytes, + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x88140108, // 0000 GETMBR R5 R0 K8 + 0x8818010B, // 0001 GETMBR R6 R0 K11 + 0x08140A06, // 0002 MUL R5 R5 R6 + 0x24180805, // 0003 GT R6 R4 R5 + 0x781A0000, // 0004 JMPF R6 #0006 + 0x5C100A00, // 0005 MOVE R4 R5 + 0x88180109, // 0006 GETMBR R6 R0 K9 + 0x00180C01, // 0007 ADD R6 R6 R1 + 0x08180C05, // 0008 MUL R6 R6 R5 + 0x881C010C, // 0009 GETMBR R7 R0 K12 + 0x8C1C0F0D, // 000A GETMET R7 R7 K13 + 0x5C240C00, // 000B MOVE R9 R6 + 0x5C280400, // 000C MOVE R10 R2 + 0x5C2C0600, // 000D MOVE R11 R3 + 0x5C300800, // 000E MOVE R12 R4 + 0x7C1C0A00, // 000F CALL R7 5 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show +********************************************************************/ +be_local_closure(class_Leds_matrix_show, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_show, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x740A0009, // 0003 JMPT R2 #000E + 0x88080109, // 0004 GETMBR R2 R0 K9 + 0x1C08050E, // 0005 EQ R2 R2 K14 + 0x780A000E, // 0006 JMPF R2 #0016 + 0x88080107, // 0007 GETMBR R2 R0 K7 + 0x880C0108, // 0008 GETMBR R3 R0 K8 + 0x08080403, // 0009 MUL R2 R2 R3 + 0x880C0100, // 000A GETMBR R3 R0 K0 + 0x880C070F, // 000B GETMBR R3 R3 K15 + 0x1C080403, // 000C EQ R2 R2 R3 + 0x780A0007, // 000D JMPF R2 #0016 + 0x88080100, // 000E GETMBR R2 R0 K0 + 0x8C080510, // 000F GETMET R2 R2 K16 + 0x7C080200, // 0010 CALL R2 1 + 0x88080100, // 0011 GETMBR R2 R0 K0 + 0x8C080511, // 0012 GETMET R2 R2 K17 + 0x8810010C, // 0013 GETMBR R4 R0 K12 + 0x7C080400, // 0014 CALL R2 2 + 0x90021802, // 0015 SETMBR R0 K12 R2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_alternate +********************************************************************/ +be_local_closure(class_Leds_matrix_get_alternate, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_get_alternate, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_offset +********************************************************************/ +be_local_closure(class_Leds_matrix_pixel_offset, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_pixel_offset, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pixel_color +********************************************************************/ +be_local_closure(class_Leds_matrix_get_pixel_color, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_get_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080512, // 0001 GETMET R2 R2 K18 + 0x88100113, // 0002 GETMBR R4 R0 K19 + 0x00100204, // 0003 ADD R4 R1 R4 + 0x7C080400, // 0004 CALL R2 2 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_size +********************************************************************/ +be_local_closure(class_Leds_matrix_pixel_size, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_pixel_size, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear_to +********************************************************************/ +be_local_closure(class_Leds_matrix_clear_to, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_clear_to, + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0001, // 0002 JMPF R3 #0005 + 0x880C0100, // 0003 GETMBR R3 R0 K0 + 0x88080703, // 0004 GETMBR R2 R3 K3 + 0x880C0100, // 0005 GETMBR R3 R0 K0 + 0x8C0C0714, // 0006 GETMET R3 R3 K20 + 0x54160008, // 0007 LDINT R5 9 + 0x88180100, // 0008 GETMBR R6 R0 K0 + 0x8C180D15, // 0009 GETMET R6 R6 K21 + 0x5C200200, // 000A MOVE R8 R1 + 0x5C240400, // 000B MOVE R9 R2 + 0x7C180600, // 000C CALL R6 3 + 0x881C0109, // 000D GETMBR R7 R0 K9 + 0x88200107, // 000E GETMBR R8 R0 K7 + 0x88240108, // 000F GETMBR R9 R0 K8 + 0x08201009, // 0010 MUL R8 R8 R9 + 0x7C0C0A00, // 0011 CALL R3 5 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin +********************************************************************/ +be_local_closure(class_Leds_matrix_begin, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_begin, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_alternate +********************************************************************/ +be_local_closure(class_Leds_matrix_set_alternate, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_set_alternate, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020801, // 0000 SETMBR R0 K4 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Leds_matrix_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x90021204, // 0001 SETMBR R0 K9 R4 + 0x90021003, // 0002 SETMBR R0 K8 R3 + 0x90020E02, // 0003 SETMBR R0 K7 R2 + 0x50140000, // 0004 LDBOOL R5 0 0 + 0x90020805, // 0005 SETMBR R0 K4 R5 + 0x88140100, // 0006 GETMBR R5 R0 K0 + 0x8C140B11, // 0007 GETMET R5 R5 K17 + 0x7C140200, // 0008 CALL R5 1 + 0x90021805, // 0009 SETMBR R0 K12 R5 + 0x88140100, // 000A GETMBR R5 R0 K0 + 0x8C140B16, // 000B GETMET R5 R5 K22 + 0x7C140200, // 000C CALL R5 1 + 0x90021605, // 000D SETMBR R0 K11 R5 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear +********************************************************************/ +be_local_closure(class_Leds_matrix_clear, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_clear, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040117, // 0000 GETMET R1 R0 K23 + 0x580C000E, // 0001 LDCONST R3 K14 + 0x7C040400, // 0002 CALL R1 2 + 0x8C040110, // 0003 GETMET R1 R0 K16 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: scroll +********************************************************************/ +be_local_closure(class_Leds_matrix_scroll, /* name */ + be_nested_proto( + 17, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_scroll, + &be_const_str_solidified, + ( &(const binstruction[258]) { /* code */ + 0x8810010C, // 0000 GETMBR R4 R0 K12 + 0x88140108, // 0001 GETMBR R5 R0 K8 + 0x88180107, // 0002 GETMBR R6 R0 K7 + 0x08180D18, // 0003 MUL R6 R6 K24 + 0x4C1C0000, // 0004 LDNIL R7 + 0x10200319, // 0005 MOD R8 R1 K25 + 0x1C20110E, // 0006 EQ R8 R8 K14 + 0x7822006B, // 0007 JMPF R8 #0074 + 0x1C20030E, // 0008 EQ R8 R1 K14 + 0x78220037, // 0009 JMPF R8 #0042 + 0x8C20050D, // 000A GETMET R8 R2 K13 + 0x5828000E, // 000B LDCONST R10 K14 + 0x042C0D05, // 000C SUB R11 R6 K5 + 0x402E1C0B, // 000D CONNECT R11 K14 R11 + 0x942C080B, // 000E GETIDX R11 R4 R11 + 0x8C2C171A, // 000F GETMET R11 R11 K26 + 0x5834000E, // 0010 LDCONST R13 K14 + 0x4C380000, // 0011 LDNIL R14 + 0x583C0018, // 0012 LDCONST R15 K24 + 0x7C2C0800, // 0013 CALL R11 4 + 0x7C200600, // 0014 CALL R8 3 + 0x5820000E, // 0015 LDCONST R8 K14 + 0x04240B05, // 0016 SUB R9 R5 K5 + 0x14241009, // 0017 LT R9 R8 R9 + 0x78260016, // 0018 JMPF R9 #0030 + 0x581C000E, // 0019 LDCONST R7 K14 + 0x08241006, // 001A MUL R9 R8 R6 + 0x00281119, // 001B ADD R10 R8 K25 + 0x08281406, // 001C MUL R10 R10 R6 + 0x04281518, // 001D SUB R10 R10 K24 + 0x142C0E06, // 001E LT R11 R7 R6 + 0x782E000D, // 001F JMPF R11 #002E + 0x002C0E09, // 0020 ADD R11 R7 R9 + 0x04301407, // 0021 SUB R12 R10 R7 + 0x9434080C, // 0022 GETIDX R13 R4 R12 + 0x9810160D, // 0023 SETIDX R4 R11 R13 + 0x00341705, // 0024 ADD R13 R11 K5 + 0x00381905, // 0025 ADD R14 R12 K5 + 0x9438080E, // 0026 GETIDX R14 R4 R14 + 0x98101A0E, // 0027 SETIDX R4 R13 R14 + 0x00341719, // 0028 ADD R13 R11 K25 + 0x00381919, // 0029 ADD R14 R12 K25 + 0x9438080E, // 002A GETIDX R14 R4 R14 + 0x98101A0E, // 002B SETIDX R4 R13 R14 + 0x001C0F18, // 002C ADD R7 R7 K24 + 0x7001FFEF, // 002D JMP #001E + 0x00201105, // 002E ADD R8 R8 K5 + 0x7001FFE5, // 002F JMP #0016 + 0x780E0001, // 0030 JMPF R3 #0033 + 0x5C240600, // 0031 MOVE R9 R3 + 0x70020000, // 0032 JMP #0034 + 0x5C240400, // 0033 MOVE R9 R2 + 0x10280B19, // 0034 MOD R10 R5 K25 + 0x1C281505, // 0035 EQ R10 R10 K5 + 0x782A0004, // 0036 JMPF R10 #003C + 0x8C28131A, // 0037 GETMET R10 R9 K26 + 0x5830000E, // 0038 LDCONST R12 K14 + 0x4C340000, // 0039 LDNIL R13 + 0x58380018, // 003A LDCONST R14 K24 + 0x7C280800, // 003B CALL R10 4 + 0x8C28090D, // 003C GETMET R10 R4 K13 + 0x04300B05, // 003D SUB R12 R5 K5 + 0x08301806, // 003E MUL R12 R12 R6 + 0x5C341200, // 003F MOVE R13 R9 + 0x7C280600, // 0040 CALL R10 3 + 0x70020030, // 0041 JMP #0073 + 0x8C20050D, // 0042 GETMET R8 R2 K13 + 0x5828000E, // 0043 LDCONST R10 K14 + 0x602C000C, // 0044 GETGBL R11 G12 + 0x5C300800, // 0045 MOVE R12 R4 + 0x7C2C0200, // 0046 CALL R11 1 + 0x042C1606, // 0047 SUB R11 R11 R6 + 0x402C171B, // 0048 CONNECT R11 R11 K27 + 0x942C080B, // 0049 GETIDX R11 R4 R11 + 0x8C2C171A, // 004A GETMET R11 R11 K26 + 0x5834000E, // 004B LDCONST R13 K14 + 0x4C380000, // 004C LDNIL R14 + 0x583C0018, // 004D LDCONST R15 K24 + 0x7C2C0800, // 004E CALL R11 4 + 0x7C200600, // 004F CALL R8 3 + 0x04200B05, // 0050 SUB R8 R5 K5 + 0x2424110E, // 0051 GT R9 R8 K14 + 0x7826000F, // 0052 JMPF R9 #0063 + 0x8C24090D, // 0053 GETMET R9 R4 K13 + 0x082C1006, // 0054 MUL R11 R8 R6 + 0x04301105, // 0055 SUB R12 R8 K5 + 0x08301806, // 0056 MUL R12 R12 R6 + 0x08341006, // 0057 MUL R13 R8 R6 + 0x04341B05, // 0058 SUB R13 R13 K5 + 0x4030180D, // 0059 CONNECT R12 R12 R13 + 0x9430080C, // 005A GETIDX R12 R4 R12 + 0x8C30191A, // 005B GETMET R12 R12 K26 + 0x5838000E, // 005C LDCONST R14 K14 + 0x4C3C0000, // 005D LDNIL R15 + 0x58400018, // 005E LDCONST R16 K24 + 0x7C300800, // 005F CALL R12 4 + 0x7C240600, // 0060 CALL R9 3 + 0x04201105, // 0061 SUB R8 R8 K5 + 0x7001FFED, // 0062 JMP #0051 + 0x780E0001, // 0063 JMPF R3 #0066 + 0x5C240600, // 0064 MOVE R9 R3 + 0x70020000, // 0065 JMP #0067 + 0x5C240400, // 0066 MOVE R9 R2 + 0x10280B19, // 0067 MOD R10 R5 K25 + 0x1C281505, // 0068 EQ R10 R10 K5 + 0x782A0004, // 0069 JMPF R10 #006F + 0x8C28131A, // 006A GETMET R10 R9 K26 + 0x5830000E, // 006B LDCONST R12 K14 + 0x4C340000, // 006C LDNIL R13 + 0x58380018, // 006D LDCONST R14 K24 + 0x7C280800, // 006E CALL R10 4 + 0x8C28090D, // 006F GETMET R10 R4 K13 + 0x5830000E, // 0070 LDCONST R12 K14 + 0x5C341200, // 0071 MOVE R13 R9 + 0x7C280600, // 0072 CALL R10 3 + 0x7002008C, // 0073 JMP #0101 + 0x5820000E, // 0074 LDCONST R8 K14 + 0x58240018, // 0075 LDCONST R9 K24 + 0x1C280318, // 0076 EQ R10 R1 K24 + 0x782A0001, // 0077 JMPF R10 #007A + 0x5429FFFE, // 0078 LDINT R10 -1 + 0x0824120A, // 0079 MUL R9 R9 R10 + 0x14281005, // 007A LT R10 R8 R5 + 0x782A0084, // 007B JMPF R10 #0101 + 0x08281006, // 007C MUL R10 R8 R6 + 0x5C1C1400, // 007D MOVE R7 R10 + 0x2428130E, // 007E GT R10 R9 K14 + 0x782A003E, // 007F JMPF R10 #00BF + 0x00280E06, // 0080 ADD R10 R7 R6 + 0x04281409, // 0081 SUB R10 R10 R9 + 0x082C1118, // 0082 MUL R11 R8 K24 + 0x94300807, // 0083 GETIDX R12 R4 R7 + 0x9808160C, // 0084 SETIDX R2 R11 R12 + 0x082C1118, // 0085 MUL R11 R8 K24 + 0x002C1705, // 0086 ADD R11 R11 K5 + 0x00300F05, // 0087 ADD R12 R7 K5 + 0x9430080C, // 0088 GETIDX R12 R4 R12 + 0x9808160C, // 0089 SETIDX R2 R11 R12 + 0x082C1118, // 008A MUL R11 R8 K24 + 0x002C1719, // 008B ADD R11 R11 K25 + 0x00300F19, // 008C ADD R12 R7 K25 + 0x9430080C, // 008D GETIDX R12 R4 R12 + 0x9808160C, // 008E SETIDX R2 R11 R12 + 0x142C0E0A, // 008F LT R11 R7 R10 + 0x782E000E, // 0090 JMPF R11 #00A0 + 0x002C0F18, // 0091 ADD R11 R7 K24 + 0x942C080B, // 0092 GETIDX R11 R4 R11 + 0x98100E0B, // 0093 SETIDX R4 R7 R11 + 0x002C0F05, // 0094 ADD R11 R7 K5 + 0x54320003, // 0095 LDINT R12 4 + 0x00300E0C, // 0096 ADD R12 R7 R12 + 0x9430080C, // 0097 GETIDX R12 R4 R12 + 0x9810160C, // 0098 SETIDX R4 R11 R12 + 0x002C0F19, // 0099 ADD R11 R7 K25 + 0x54320004, // 009A LDINT R12 5 + 0x00300E0C, // 009B ADD R12 R7 R12 + 0x9430080C, // 009C GETIDX R12 R4 R12 + 0x9810160C, // 009D SETIDX R4 R11 R12 + 0x001C0E09, // 009E ADD R7 R7 R9 + 0x7001FFEE, // 009F JMP #008F + 0x4C2C0000, // 00A0 LDNIL R11 + 0x1C2C060B, // 00A1 EQ R11 R3 R11 + 0x782E000D, // 00A2 JMPF R11 #00B1 + 0x082C1118, // 00A3 MUL R11 R8 K24 + 0x942C040B, // 00A4 GETIDX R11 R2 R11 + 0x9810140B, // 00A5 SETIDX R4 R10 R11 + 0x002C1505, // 00A6 ADD R11 R10 K5 + 0x08301118, // 00A7 MUL R12 R8 K24 + 0x00301905, // 00A8 ADD R12 R12 K5 + 0x9430040C, // 00A9 GETIDX R12 R2 R12 + 0x9810160C, // 00AA SETIDX R4 R11 R12 + 0x002C1519, // 00AB ADD R11 R10 K25 + 0x08301118, // 00AC MUL R12 R8 K24 + 0x00301919, // 00AD ADD R12 R12 K25 + 0x9430040C, // 00AE GETIDX R12 R2 R12 + 0x9810160C, // 00AF SETIDX R4 R11 R12 + 0x7002000C, // 00B0 JMP #00BE + 0x082C1118, // 00B1 MUL R11 R8 K24 + 0x942C060B, // 00B2 GETIDX R11 R3 R11 + 0x9810140B, // 00B3 SETIDX R4 R10 R11 + 0x002C1505, // 00B4 ADD R11 R10 K5 + 0x08301118, // 00B5 MUL R12 R8 K24 + 0x00301905, // 00B6 ADD R12 R12 K5 + 0x9430060C, // 00B7 GETIDX R12 R3 R12 + 0x9810160C, // 00B8 SETIDX R4 R11 R12 + 0x002C1519, // 00B9 ADD R11 R10 K25 + 0x08301118, // 00BA MUL R12 R8 K24 + 0x00301919, // 00BB ADD R12 R12 K25 + 0x9430060C, // 00BC GETIDX R12 R3 R12 + 0x9810160C, // 00BD SETIDX R4 R11 R12 + 0x7002003D, // 00BE JMP #00FD + 0x5C280E00, // 00BF MOVE R10 R7 + 0x002C0E06, // 00C0 ADD R11 R7 R6 + 0x002C1609, // 00C1 ADD R11 R11 R9 + 0x5C1C1600, // 00C2 MOVE R7 R11 + 0x082C1118, // 00C3 MUL R11 R8 K24 + 0x94300807, // 00C4 GETIDX R12 R4 R7 + 0x9808160C, // 00C5 SETIDX R2 R11 R12 + 0x082C1118, // 00C6 MUL R11 R8 K24 + 0x002C1705, // 00C7 ADD R11 R11 K5 + 0x00300F05, // 00C8 ADD R12 R7 K5 + 0x9430080C, // 00C9 GETIDX R12 R4 R12 + 0x9808160C, // 00CA SETIDX R2 R11 R12 + 0x082C1118, // 00CB MUL R11 R8 K24 + 0x002C1719, // 00CC ADD R11 R11 K25 + 0x00300F19, // 00CD ADD R12 R7 K25 + 0x9430080C, // 00CE GETIDX R12 R4 R12 + 0x9808160C, // 00CF SETIDX R2 R11 R12 + 0x242C0E0A, // 00D0 GT R11 R7 R10 + 0x782E000C, // 00D1 JMPF R11 #00DF + 0x042C0F18, // 00D2 SUB R11 R7 K24 + 0x942C080B, // 00D3 GETIDX R11 R4 R11 + 0x98100E0B, // 00D4 SETIDX R4 R7 R11 + 0x002C0F05, // 00D5 ADD R11 R7 K5 + 0x04300F19, // 00D6 SUB R12 R7 K25 + 0x9430080C, // 00D7 GETIDX R12 R4 R12 + 0x9810160C, // 00D8 SETIDX R4 R11 R12 + 0x002C0F19, // 00D9 ADD R11 R7 K25 + 0x04300F05, // 00DA SUB R12 R7 K5 + 0x9430080C, // 00DB GETIDX R12 R4 R12 + 0x9810160C, // 00DC SETIDX R4 R11 R12 + 0x001C0E09, // 00DD ADD R7 R7 R9 + 0x7001FFF0, // 00DE JMP #00D0 + 0x4C2C0000, // 00DF LDNIL R11 + 0x1C2C060B, // 00E0 EQ R11 R3 R11 + 0x782E000D, // 00E1 JMPF R11 #00F0 + 0x082C1118, // 00E2 MUL R11 R8 K24 + 0x942C040B, // 00E3 GETIDX R11 R2 R11 + 0x9810140B, // 00E4 SETIDX R4 R10 R11 + 0x002C1505, // 00E5 ADD R11 R10 K5 + 0x08301118, // 00E6 MUL R12 R8 K24 + 0x00301905, // 00E7 ADD R12 R12 K5 + 0x9430040C, // 00E8 GETIDX R12 R2 R12 + 0x9810160C, // 00E9 SETIDX R4 R11 R12 + 0x002C1519, // 00EA ADD R11 R10 K25 + 0x08301118, // 00EB MUL R12 R8 K24 + 0x00301919, // 00EC ADD R12 R12 K25 + 0x9430040C, // 00ED GETIDX R12 R2 R12 + 0x9810160C, // 00EE SETIDX R4 R11 R12 + 0x7002000C, // 00EF JMP #00FD + 0x082C1118, // 00F0 MUL R11 R8 K24 + 0x942C060B, // 00F1 GETIDX R11 R3 R11 + 0x9810140B, // 00F2 SETIDX R4 R10 R11 + 0x002C1505, // 00F3 ADD R11 R10 K5 + 0x08301118, // 00F4 MUL R12 R8 K24 + 0x00301905, // 00F5 ADD R12 R12 K5 + 0x9430060C, // 00F6 GETIDX R12 R3 R12 + 0x9810160C, // 00F7 SETIDX R4 R11 R12 + 0x002C1519, // 00F8 ADD R11 R10 K25 + 0x08301118, // 00F9 MUL R12 R8 K24 + 0x00301919, // 00FA ADD R12 R12 K25 + 0x9430060C, // 00FB GETIDX R12 R3 R12 + 0x9810160C, // 00FC SETIDX R4 R11 R12 + 0x5429FFFE, // 00FD LDINT R10 -1 + 0x0824120A, // 00FE MUL R9 R9 R10 + 0x00201105, // 00FF ADD R8 R8 K5 + 0x7001FF78, // 0100 JMP #007A + 0x80000000, // 0101 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_count +********************************************************************/ +be_local_closure(class_Leds_matrix_pixel_count, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_pixel_count, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x88080108, // 0001 GETMBR R2 R0 K8 + 0x08040202, // 0002 MUL R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pixel_color +********************************************************************/ +be_local_closure(class_Leds_matrix_set_pixel_color, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_set_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120001, // 0002 JMPF R4 #0005 + 0x88100100, // 0003 GETMBR R4 R0 K0 + 0x880C0903, // 0004 GETMBR R3 R4 K3 + 0x88100100, // 0005 GETMBR R4 R0 K0 + 0x8C100906, // 0006 GETMET R4 R4 K6 + 0x88180109, // 0007 GETMBR R6 R0 K9 + 0x00180206, // 0008 ADD R6 R1 R6 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x5C200600, // 000A MOVE R8 R3 + 0x7C100800, // 000B CALL R4 4 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixels_buffer +********************************************************************/ +be_local_closure(class_Leds_matrix_pixels_buffer, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds_matrix, /* shared constants */ + &be_const_str_pixels_buffer, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040311, // 0001 GETMET R1 R1 K17 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Leds_matrix +********************************************************************/ +be_local_class(Leds_matrix, + 7, + NULL, + be_nested_map(26, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(is_dirty, -1), be_const_closure(class_Leds_matrix_is_dirty_closure) }, + { be_const_key(pixels_buffer, -1), be_const_closure(class_Leds_matrix_pixels_buffer_closure) }, + { be_const_key(set_matrix_pixel_color, 10), be_const_closure(class_Leds_matrix_set_matrix_pixel_color_closure) }, + { be_const_key(can_show, -1), be_const_closure(class_Leds_matrix_can_show_closure) }, + { be_const_key(offset, -1), be_const_var(1) }, + { be_const_key(set_bytes, 15), be_const_closure(class_Leds_matrix_set_bytes_closure) }, + { be_const_key(show, -1), be_const_closure(class_Leds_matrix_show_closure) }, + { be_const_key(alternate, -1), be_const_var(4) }, + { be_const_key(set_pixel_color, -1), be_const_closure(class_Leds_matrix_set_pixel_color_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(class_Leds_matrix_pixel_count_closure) }, + { be_const_key(w, -1), be_const_var(3) }, + { be_const_key(dirty, 24), be_const_closure(class_Leds_matrix_dirty_closure) }, + { be_const_key(get_alternate, 13), be_const_closure(class_Leds_matrix_get_alternate_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(class_Leds_matrix_get_pixel_color_closure) }, + { be_const_key(pix_size, -1), be_const_var(6) }, + { be_const_key(strip, -1), be_const_var(0) }, + { be_const_key(clear_to, 21), be_const_closure(class_Leds_matrix_clear_to_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_matrix_init_closure) }, + { be_const_key(set_alternate, 8), be_const_closure(class_Leds_matrix_set_alternate_closure) }, + { be_const_key(pix_buffer, 17), be_const_var(5) }, + { be_const_key(clear, -1), be_const_closure(class_Leds_matrix_clear_closure) }, + { be_const_key(begin, -1), be_const_closure(class_Leds_matrix_begin_closure) }, + { be_const_key(scroll, -1), be_const_closure(class_Leds_matrix_scroll_closure) }, + { be_const_key(h, 9), be_const_var(2) }, + { be_const_key(pixel_offset, -1), be_const_closure(class_Leds_matrix_pixel_offset_closure) }, + { be_const_key(pixel_size, 1), be_const_closure(class_Leds_matrix_pixel_size_closure) }, + })), + (bstring*) &be_const_str_Leds_matrix +); +// compact class 'Leds' ktab size: 39, total: 74 (saved 280 bytes) +static const bvalue be_ktab_class_Leds[39] = { + /* K0 */ be_nested_str(leds), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(value_error), + /* K3 */ be_nested_str(out_X20of_X20range), + /* K4 */ be_const_class(be_class_Leds_segment), + /* K5 */ be_nested_str(gamma), + /* K6 */ be_const_class(be_class_Leds), + /* K7 */ be_nested_str(Leds), + /* K8 */ be_nested_str(create_matrix), + /* K9 */ be_nested_str(call_native), + /* K10 */ be_nested_str(pixel_size), + /* K11 */ be_nested_str(pixel_count), + /* K12 */ be_nested_str(_change_buffer), + /* K13 */ be_nested_str(animate), + /* K14 */ be_const_int(2), + /* K15 */ be_nested_str(bri), + /* K16 */ be_nested_str(to_gamma), + /* K17 */ be_nested_str(clear_to), + /* K18 */ be_nested_str(show), + /* K19 */ be_nested_str(apply_bri_gamma), + /* K20 */ be_const_int(1), + /* K21 */ be_const_class(be_class_Leds_matrix), + /* K22 */ be_const_int(3), + /* K23 */ be_nested_str(gpio), + /* K24 */ be_nested_str(pin), + /* K25 */ be_nested_str(WS2812), + /* K26 */ be_nested_str(ctor), + /* K27 */ be_nested_str(light), + /* K28 */ be_nested_str(get), + /* K29 */ be_nested_str(global), + /* K30 */ be_nested_str(contains), + /* K31 */ be_nested_str(_lhw), + /* K32 */ be_nested_str(find), + /* K33 */ be_nested_str(number_X20of_X20leds_X20do_X20not_X20match_X20with_X20previous_X20instanciation_X20_X25s_X20vs_X20_X25s), + /* K34 */ be_nested_str(_p), + /* K35 */ be_nested_str(begin), + /* K36 */ be_nested_str(internal_error), + /* K37 */ be_nested_str(couldn_X27t_X20not_X20initialize_X20noepixelbus), + /* K38 */ be_nested_str(WS2812_GRB), +}; + + +extern const bclass be_class_Leds; + +/******************************************************************** +** Solidified function: create_segment +********************************************************************/ +be_local_closure(class_Leds_create_segment, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_create_segment, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x600C0009, // 0000 GETGBL R3 G9 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C0C0200, // 0002 CALL R3 1 + 0x60100009, // 0003 GETGBL R4 G9 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C100200, // 0005 CALL R4 1 + 0x000C0604, // 0006 ADD R3 R3 R4 + 0x88100100, // 0007 GETMBR R4 R0 K0 + 0x240C0604, // 0008 GT R3 R3 R4 + 0x740E0003, // 0009 JMPT R3 #000E + 0x140C0301, // 000A LT R3 R1 K1 + 0x740E0001, // 000B JMPT R3 #000E + 0x140C0501, // 000C LT R3 R2 K1 + 0x780E0000, // 000D JMPF R3 #000F + 0xB0060503, // 000E RAISE 1 K2 K3 + 0x580C0004, // 000F LDCONST R3 K4 + 0xB4000004, // 0010 CLASS K4 + 0x5C100600, // 0011 MOVE R4 R3 + 0x5C140000, // 0012 MOVE R5 R0 + 0x5C180200, // 0013 MOVE R6 R1 + 0x5C1C0400, // 0014 MOVE R7 R2 + 0x7C100600, // 0015 CALL R4 3 + 0x80040800, // 0016 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_gamma +********************************************************************/ +be_local_closure(class_Leds_get_gamma, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_get_gamma, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040105, // 0000 GETMBR R1 R0 K5 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: matrix +********************************************************************/ +be_local_closure(class_Leds_matrix, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_matrix, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x58100006, // 0000 LDCONST R4 K6 + 0xB8160E00, // 0001 GETNGBL R5 K7 + 0x08180001, // 0002 MUL R6 R0 R1 + 0x5C1C0400, // 0003 MOVE R7 R2 + 0x5C200600, // 0004 MOVE R8 R3 + 0x7C140600, // 0005 CALL R5 3 + 0x8C180B08, // 0006 GETMET R6 R5 K8 + 0x5C200000, // 0007 MOVE R8 R0 + 0x5C240200, // 0008 MOVE R9 R1 + 0x58280001, // 0009 LDCONST R10 K1 + 0x7C180800, // 000A CALL R6 4 + 0x80040C00, // 000B RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixels_buffer +********************************************************************/ +be_local_closure(class_Leds_pixels_buffer, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_pixels_buffer, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x8C080109, // 0000 GETMET R2 R0 K9 + 0x54120005, // 0001 LDINT R4 6 + 0x7C080400, // 0002 CALL R2 2 + 0x8C0C010A, // 0003 GETMET R3 R0 K10 + 0x7C0C0200, // 0004 CALL R3 1 + 0x8C10010B, // 0005 GETMET R4 R0 K11 + 0x7C100200, // 0006 CALL R4 1 + 0x080C0604, // 0007 MUL R3 R3 R4 + 0x4C100000, // 0008 LDNIL R4 + 0x1C100204, // 0009 EQ R4 R1 R4 + 0x74120004, // 000A JMPT R4 #0010 + 0x6010000C, // 000B GETGBL R4 G12 + 0x5C140400, // 000C MOVE R5 R2 + 0x7C100200, // 000D CALL R4 1 + 0x20100803, // 000E NE R4 R4 R3 + 0x78120005, // 000F JMPF R4 #0016 + 0x60100015, // 0010 GETGBL R4 G21 + 0x5C140400, // 0011 MOVE R5 R2 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C100400, // 0013 CALL R4 2 + 0x80040800, // 0014 RET 1 R4 + 0x70020003, // 0015 JMP #001A + 0x8C10030C, // 0016 GETMET R4 R1 K12 + 0x5C180400, // 0017 MOVE R6 R2 + 0x7C100400, // 0018 CALL R4 2 + 0x80040200, // 0019 RET 1 R1 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_animate +********************************************************************/ +be_local_closure(class_Leds_get_animate, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_get_animate, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010D, // 0000 GETMBR R1 R0 K13 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show +********************************************************************/ +be_local_closure(class_Leds_show, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_show, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x580C000E, // 0001 LDCONST R3 K14 + 0x7C040400, // 0002 CALL R1 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pixel_color +********************************************************************/ +be_local_closure(class_Leds_set_pixel_color, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_set_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120000, // 0002 JMPF R4 #0004 + 0x880C010F, // 0003 GETMBR R3 R0 K15 + 0x8C100109, // 0004 GETMET R4 R0 K9 + 0x541A0009, // 0005 LDINT R6 10 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x8C200110, // 0007 GETMET R8 R0 K16 + 0x5C280400, // 0008 MOVE R10 R2 + 0x5C2C0600, // 0009 MOVE R11 R3 + 0x7C200600, // 000A CALL R8 3 + 0x7C100800, // 000B CALL R4 4 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_dirty +********************************************************************/ +be_local_closure(class_Leds_is_dirty, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_is_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x540E0003, // 0001 LDINT R3 4 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear +********************************************************************/ +be_local_closure(class_Leds_clear, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_clear, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040111, // 0000 GETMET R1 R0 K17 + 0x580C0001, // 0001 LDCONST R3 K1 + 0x7C040400, // 0002 CALL R1 2 + 0x8C040112, // 0003 GETMET R1 R0 K18 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_size +********************************************************************/ +be_local_closure(class_Leds_pixel_size, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_pixel_size, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x540E0006, // 0001 LDINT R3 7 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_count +********************************************************************/ +be_local_closure(class_Leds_pixel_count, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_pixel_count, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x540E0007, // 0001 LDINT R3 8 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: to_gamma +********************************************************************/ +be_local_closure(class_Leds_to_gamma, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_to_gamma, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x8808010F, // 0003 GETMBR R2 R0 K15 + 0x8C0C0113, // 0004 GETMET R3 R0 K19 + 0x5C140200, // 0005 MOVE R5 R1 + 0x5C180400, // 0006 MOVE R6 R2 + 0x881C0105, // 0007 GETMBR R7 R0 K5 + 0x7C0C0800, // 0008 CALL R3 4 + 0x80040600, // 0009 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: begin +********************************************************************/ +be_local_closure(class_Leds_begin, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_begin, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x580C0014, // 0001 LDCONST R3 K20 + 0x7C040400, // 0002 CALL R1 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_matrix +********************************************************************/ +be_local_closure(class_Leds_create_matrix, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_create_matrix, + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x60100009, // 0000 GETGBL R4 G9 + 0x5C140600, // 0001 MOVE R5 R3 + 0x7C100200, // 0002 CALL R4 1 + 0x5C0C0800, // 0003 MOVE R3 R4 + 0x60100009, // 0004 GETGBL R4 G9 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C100200, // 0006 CALL R4 1 + 0x5C040800, // 0007 MOVE R1 R4 + 0x60100009, // 0008 GETGBL R4 G9 + 0x5C140400, // 0009 MOVE R5 R2 + 0x7C100200, // 000A CALL R4 1 + 0x5C080800, // 000B MOVE R2 R4 + 0x4C100000, // 000C LDNIL R4 + 0x1C100604, // 000D EQ R4 R3 R4 + 0x78120000, // 000E JMPF R4 #0010 + 0x580C0001, // 000F LDCONST R3 K1 + 0x08100202, // 0010 MUL R4 R1 R2 + 0x00100803, // 0011 ADD R4 R4 R3 + 0x88140100, // 0012 GETMBR R5 R0 K0 + 0x24100805, // 0013 GT R4 R4 R5 + 0x74120005, // 0014 JMPT R4 #001B + 0x14100501, // 0015 LT R4 R2 K1 + 0x74120003, // 0016 JMPT R4 #001B + 0x14100301, // 0017 LT R4 R1 K1 + 0x74120001, // 0018 JMPT R4 #001B + 0x14100701, // 0019 LT R4 R3 K1 + 0x78120000, // 001A JMPF R4 #001C + 0xB0060503, // 001B RAISE 1 K2 K3 + 0x58100015, // 001C LDCONST R4 K21 + 0xB4000015, // 001D CLASS K21 + 0x5C140800, // 001E MOVE R5 R4 + 0x5C180000, // 001F MOVE R6 R0 + 0x5C1C0200, // 0020 MOVE R7 R1 + 0x5C200400, // 0021 MOVE R8 R2 + 0x5C240600, // 0022 MOVE R9 R3 + 0x7C140800, // 0023 CALL R5 4 + 0x80040A00, // 0024 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dirty +********************************************************************/ +be_local_closure(class_Leds_dirty, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x540E0004, // 0001 LDINT R3 5 + 0x7C040400, // 0002 CALL R1 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_bri +********************************************************************/ +be_local_closure(class_Leds_set_bri, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_set_bri, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x14080301, // 0000 LT R2 R1 K1 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040001, // 0002 LDCONST R1 K1 + 0x540A00FE, // 0003 LDINT R2 255 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x540600FE, // 0006 LDINT R1 255 + 0x90021E01, // 0007 SETMBR R0 K15 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: can_show +********************************************************************/ +be_local_closure(class_Leds_can_show, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_can_show, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x580C0016, // 0001 LDCONST R3 K22 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_animate +********************************************************************/ +be_local_closure(class_Leds_set_animate, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_set_animate, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021A01, // 0000 SETMBR R0 K13 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_bri +********************************************************************/ +be_local_closure(class_Leds_get_bri, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_get_bri, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804010F, // 0000 GETMBR R1 R0 K15 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clear_to +********************************************************************/ +be_local_closure(class_Leds_clear_to, /* name */ + be_nested_proto( + 12, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_clear_to, + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140405, // 0001 EQ R5 R2 R5 + 0x78160000, // 0002 JMPF R5 #0004 + 0x8808010F, // 0003 GETMBR R2 R0 K15 + 0x4C140000, // 0004 LDNIL R5 + 0x20140605, // 0005 NE R5 R3 R5 + 0x7816000C, // 0006 JMPF R5 #0014 + 0x4C140000, // 0007 LDNIL R5 + 0x20140805, // 0008 NE R5 R4 R5 + 0x78160009, // 0009 JMPF R5 #0014 + 0x8C140109, // 000A GETMET R5 R0 K9 + 0x541E0008, // 000B LDINT R7 9 + 0x8C200110, // 000C GETMET R8 R0 K16 + 0x5C280200, // 000D MOVE R10 R1 + 0x5C2C0400, // 000E MOVE R11 R2 + 0x7C200600, // 000F CALL R8 3 + 0x5C240600, // 0010 MOVE R9 R3 + 0x5C280800, // 0011 MOVE R10 R4 + 0x7C140A00, // 0012 CALL R5 5 + 0x70020006, // 0013 JMP #001B + 0x8C140109, // 0014 GETMET R5 R0 K9 + 0x541E0008, // 0015 LDINT R7 9 + 0x8C200110, // 0016 GETMET R8 R0 K16 + 0x5C280200, // 0017 MOVE R10 R1 + 0x5C2C0400, // 0018 MOVE R11 R2 + 0x7C200600, // 0019 CALL R8 3 + 0x7C140600, // 001A CALL R5 3 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pixel_offset +********************************************************************/ +be_local_closure(class_Leds_pixel_offset, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_pixel_offset, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060200, // 0000 RET 1 K1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pixel_color +********************************************************************/ +be_local_closure(class_Leds_get_pixel_color, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_get_pixel_color, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C080109, // 0000 GETMET R2 R0 K9 + 0x5412000A, // 0001 LDINT R4 11 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C080600, // 0003 CALL R2 3 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Leds_init, /* name */ + be_nested_proto( + 12, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[90]) { /* code */ + 0xA4162E00, // 0000 IMPORT R5 K23 + 0x50180200, // 0001 LDBOOL R6 1 0 + 0x90020A06, // 0002 SETMBR R0 K5 R6 + 0x4C180000, // 0003 LDNIL R6 + 0x1C180206, // 0004 EQ R6 R1 R6 + 0x741A0008, // 0005 JMPT R6 #000F + 0x4C180000, // 0006 LDNIL R6 + 0x1C180406, // 0007 EQ R6 R2 R6 + 0x741A0005, // 0008 JMPT R6 #000F + 0x8C180B18, // 0009 GETMET R6 R5 K24 + 0x88200B19, // 000A GETMBR R8 R5 K25 + 0x58240001, // 000B LDCONST R9 K1 + 0x7C180600, // 000C CALL R6 3 + 0x1C180406, // 000D EQ R6 R2 R6 + 0x781A000A, // 000E JMPF R6 #001A + 0x8C18011A, // 000F GETMET R6 R0 K26 + 0x7C180200, // 0010 CALL R6 1 + 0x8C18010B, // 0011 GETMET R6 R0 K11 + 0x7C180200, // 0012 CALL R6 1 + 0x90020006, // 0013 SETMBR R0 K0 R6 + 0xA41A3600, // 0014 IMPORT R6 K27 + 0x8C1C0D1C, // 0015 GETMET R7 R6 K28 + 0x7C1C0200, // 0016 CALL R7 1 + 0x941C0F0F, // 0017 GETIDX R7 R7 K15 + 0x90021E07, // 0018 SETMBR R0 K15 R7 + 0x70020039, // 0019 JMP #0054 + 0x60180009, // 001A GETGBL R6 G9 + 0x5C1C0200, // 001B MOVE R7 R1 + 0x7C180200, // 001C CALL R6 1 + 0x5C040C00, // 001D MOVE R1 R6 + 0x90020001, // 001E SETMBR R0 K0 R1 + 0x541A007E, // 001F LDINT R6 127 + 0x90021E06, // 0020 SETMBR R0 K15 R6 + 0xB81A3A00, // 0021 GETNGBL R6 K29 + 0x8C180D1E, // 0022 GETMET R6 R6 K30 + 0x5820001F, // 0023 LDCONST R8 K31 + 0x7C180400, // 0024 CALL R6 2 + 0x741A0003, // 0025 JMPT R6 #002A + 0xB81A3A00, // 0026 GETNGBL R6 K29 + 0x601C0013, // 0027 GETGBL R7 G19 + 0x7C1C0000, // 0028 CALL R7 0 + 0x901A3E07, // 0029 SETMBR R6 K31 R7 + 0xB81A3A00, // 002A GETNGBL R6 K29 + 0x88180D1F, // 002B GETMBR R6 R6 K31 + 0x8C180D20, // 002C GETMET R6 R6 K32 + 0x5C200200, // 002D MOVE R8 R1 + 0x7C180400, // 002E CALL R6 2 + 0x4C1C0000, // 002F LDNIL R7 + 0x20180C07, // 0030 NE R6 R6 R7 + 0x781A0016, // 0031 JMPF R6 #0049 + 0xB81A3A00, // 0032 GETNGBL R6 K29 + 0x88180D1F, // 0033 GETMBR R6 R6 K31 + 0x8C180D20, // 0034 GETMET R6 R6 K32 + 0x5C200200, // 0035 MOVE R8 R1 + 0x7C180400, // 0036 CALL R6 2 + 0x881C0100, // 0037 GETMBR R7 R0 K0 + 0x88200D00, // 0038 GETMBR R8 R6 K0 + 0x201C0E08, // 0039 NE R7 R7 R8 + 0x781E0005, // 003A JMPF R7 #0041 + 0x601C0018, // 003B GETGBL R7 G24 + 0x58200021, // 003C LDCONST R8 K33 + 0x88240100, // 003D GETMBR R9 R0 K0 + 0x88280D00, // 003E GETMBR R10 R6 K0 + 0x7C1C0600, // 003F CALL R7 3 + 0xB0060407, // 0040 RAISE 1 K2 R7 + 0x881C0D22, // 0041 GETMBR R7 R6 K34 + 0x90024407, // 0042 SETMBR R0 K34 R7 + 0x881C0D0D, // 0043 GETMBR R7 R6 K13 + 0x90021A07, // 0044 SETMBR R0 K13 R7 + 0xB81E3A00, // 0045 GETNGBL R7 K29 + 0x881C0F1F, // 0046 GETMBR R7 R7 K31 + 0x981C0200, // 0047 SETIDX R7 R1 R0 + 0x7002000A, // 0048 JMP #0054 + 0x8C18011A, // 0049 GETMET R6 R0 K26 + 0x5C200200, // 004A MOVE R8 R1 + 0x5C240400, // 004B MOVE R9 R2 + 0x5C280600, // 004C MOVE R10 R3 + 0x5C2C0800, // 004D MOVE R11 R4 + 0x7C180A00, // 004E CALL R6 5 + 0xB81A3A00, // 004F GETNGBL R6 K29 + 0x88180D1F, // 0050 GETMBR R6 R6 K31 + 0x98180200, // 0051 SETIDX R6 R1 R0 + 0x8C180123, // 0052 GETMET R6 R0 K35 + 0x7C180200, // 0053 CALL R6 1 + 0x88180122, // 0054 GETMBR R6 R0 K34 + 0x4C1C0000, // 0055 LDNIL R7 + 0x1C180C07, // 0056 EQ R6 R6 R7 + 0x781A0000, // 0057 JMPF R6 #0059 + 0xB0064925, // 0058 RAISE 1 K36 K37 + 0x80000000, // 0059 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ctor +********************************************************************/ +be_local_closure(class_Leds_ctor, /* name */ + be_nested_proto( + 12, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_ctor, + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x1C140405, // 0001 EQ R5 R2 R5 + 0x78160003, // 0002 JMPF R5 #0007 + 0x8C140109, // 0003 GETMET R5 R0 K9 + 0x581C0001, // 0004 LDCONST R7 K1 + 0x7C140400, // 0005 CALL R5 2 + 0x7002000A, // 0006 JMP #0012 + 0x4C140000, // 0007 LDNIL R5 + 0x1C140605, // 0008 EQ R5 R3 R5 + 0x78160000, // 0009 JMPF R5 #000B + 0x880C0126, // 000A GETMBR R3 R0 K38 + 0x8C140109, // 000B GETMET R5 R0 K9 + 0x581C0001, // 000C LDCONST R7 K1 + 0x5C200200, // 000D MOVE R8 R1 + 0x5C240400, // 000E MOVE R9 R2 + 0x5C280600, // 000F MOVE R10 R3 + 0x5C2C0800, // 0010 MOVE R11 R4 + 0x7C140C00, // 0011 CALL R5 6 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_gamma +********************************************************************/ +be_local_closure(class_Leds_set_gamma, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Leds, /* shared constants */ + &be_const_str_set_gamma, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020A02, // 0003 SETMBR R0 K5 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Leds +********************************************************************/ +extern const bclass be_class_Leds_ntv; +be_local_class(Leds, + 4, + &be_class_Leds_ntv, + be_nested_map(29, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(pixels_buffer, -1), be_const_closure(class_Leds_pixels_buffer_closure) }, + { be_const_key(get_gamma, 26), be_const_closure(class_Leds_get_gamma_closure) }, + { be_const_key(clear, -1), be_const_closure(class_Leds_clear_closure) }, + { be_const_key(matrix, 13), be_const_static_closure(class_Leds_matrix_closure) }, + { be_const_key(init, 23), be_const_closure(class_Leds_init_closure) }, + { be_const_key(get_animate, -1), be_const_closure(class_Leds_get_animate_closure) }, + { be_const_key(get_pixel_color, 12), be_const_closure(class_Leds_get_pixel_color_closure) }, + { be_const_key(set_pixel_color, -1), be_const_closure(class_Leds_set_pixel_color_closure) }, + { be_const_key(animate, -1), be_const_var(3) }, + { be_const_key(is_dirty, -1), be_const_closure(class_Leds_is_dirty_closure) }, + { be_const_key(create_segment, 4), be_const_closure(class_Leds_create_segment_closure) }, + { be_const_key(pixel_offset, -1), be_const_closure(class_Leds_pixel_offset_closure) }, + { be_const_key(clear_to, -1), be_const_closure(class_Leds_clear_to_closure) }, + { be_const_key(begin, 0), be_const_closure(class_Leds_begin_closure) }, + { be_const_key(set_animate, -1), be_const_closure(class_Leds_set_animate_closure) }, + { be_const_key(can_show, 24), be_const_closure(class_Leds_can_show_closure) }, + { be_const_key(create_matrix, -1), be_const_closure(class_Leds_create_matrix_closure) }, + { be_const_key(dirty, -1), be_const_closure(class_Leds_dirty_closure) }, + { be_const_key(set_bri, -1), be_const_closure(class_Leds_set_bri_closure) }, + { be_const_key(leds, 15), be_const_var(1) }, + { be_const_key(gamma, -1), be_const_var(0) }, + { be_const_key(bri, 14), be_const_var(2) }, + { be_const_key(get_bri, 11), be_const_closure(class_Leds_get_bri_closure) }, + { be_const_key(to_gamma, 2), be_const_closure(class_Leds_to_gamma_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(class_Leds_pixel_count_closure) }, + { be_const_key(show, 6), be_const_closure(class_Leds_show_closure) }, + { be_const_key(pixel_size, -1), be_const_closure(class_Leds_pixel_size_closure) }, + { be_const_key(ctor, -1), be_const_closure(class_Leds_ctor_closure) }, + { be_const_key(set_gamma, -1), be_const_closure(class_Leds_set_gamma_closure) }, + })), + (bstring*) &be_const_str_Leds +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota.h new file mode 100644 index 000000000..addf5c8cc --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota.h @@ -0,0 +1,531 @@ +/* Solidification of lv_tasmota.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(module_lv_tasmota_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[37]) { /* constants */ + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(start), + /* K2 */ be_nested_str_weak(_constants), + /* K3 */ be_nested_str_weak(splash_init), + /* K4 */ be_nested_str_weak(splash_remove), + /* K5 */ be_nested_str_weak(splash), + /* K6 */ be_nested_str_weak(_splash), + /* K7 */ be_nested_str_weak(font_montserrat), + /* K8 */ be_nested_str_weak(montserrat_font), + /* K9 */ be_nested_str_weak(font_seg7), + /* K10 */ be_nested_str_weak(seg7_font), + /* K11 */ be_nested_str_weak(font_embedded), + /* K12 */ be_nested_str_weak(load_freetype_font), + /* K13 */ be_nested_str_weak(register_button_encoder), + /* K14 */ be_nested_str_weak(screenshot), + /* K15 */ be_nested_str_weak(set_paint_cb), + /* K16 */ be_nested_str_weak(version), + /* K17 */ be_nested_str_weak(version_major), + /* K18 */ be_nested_str_weak(clock), + /* K19 */ be_nested_str_weak(lv_clock), + /* K20 */ be_nested_str_weak(clock_icon), + /* K21 */ be_nested_str_weak(lv_clock_icon), + /* K22 */ be_nested_str_weak(signal_arcs), + /* K23 */ be_nested_str_weak(lv_signal_arcs), + /* K24 */ be_nested_str_weak(signal_bars), + /* K25 */ be_nested_str_weak(lv_signal_bars), + /* K26 */ be_nested_str_weak(wifi_arcs_icon), + /* K27 */ be_nested_str_weak(lv_wifi_arcs_icon), + /* K28 */ be_nested_str_weak(wifi_arcs), + /* K29 */ be_nested_str_weak(lv_wifi_arcs), + /* K30 */ be_nested_str_weak(wifi_bars_icon), + /* K31 */ be_nested_str_weak(lv_wifi_bars_icon), + /* K32 */ be_nested_str_weak(wifi_bars), + /* K33 */ be_nested_str_weak(lv_wifi_bars), + /* K34 */ be_nested_str_weak(tasmota), + /* K35 */ be_nested_str_weak(get_option), + /* K36 */ be_const_int(0), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[60]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x90060202, // 0002 SETMBR R1 K1 R2 + 0x88080102, // 0003 GETMBR R2 R0 K2 + 0x90060402, // 0004 SETMBR R1 K2 R2 + 0x88080103, // 0005 GETMBR R2 R0 K3 + 0x90060602, // 0006 SETMBR R1 K3 R2 + 0x88080104, // 0007 GETMBR R2 R0 K4 + 0x90060802, // 0008 SETMBR R1 K4 R2 + 0x88080105, // 0009 GETMBR R2 R0 K5 + 0x90060A02, // 000A SETMBR R1 K5 R2 + 0x4C080000, // 000B LDNIL R2 + 0x90060C02, // 000C SETMBR R1 K6 R2 + 0x88080107, // 000D GETMBR R2 R0 K7 + 0x90060E02, // 000E SETMBR R1 K7 R2 + 0x88080107, // 000F GETMBR R2 R0 K7 + 0x90061002, // 0010 SETMBR R1 K8 R2 + 0x88080109, // 0011 GETMBR R2 R0 K9 + 0x90061202, // 0012 SETMBR R1 K9 R2 + 0x88080109, // 0013 GETMBR R2 R0 K9 + 0x90061402, // 0014 SETMBR R1 K10 R2 + 0x8808010B, // 0015 GETMBR R2 R0 K11 + 0x90061602, // 0016 SETMBR R1 K11 R2 + 0x8808010C, // 0017 GETMBR R2 R0 K12 + 0x90061802, // 0018 SETMBR R1 K12 R2 + 0x8808010D, // 0019 GETMBR R2 R0 K13 + 0x90061A02, // 001A SETMBR R1 K13 R2 + 0x8808010E, // 001B GETMBR R2 R0 K14 + 0x90061C02, // 001C SETMBR R1 K14 R2 + 0x8808010F, // 001D GETMBR R2 R0 K15 + 0x90061E02, // 001E SETMBR R1 K15 R2 + 0x8C080311, // 001F GETMET R2 R1 K17 + 0x7C080200, // 0020 CALL R2 1 + 0x90062002, // 0021 SETMBR R1 K16 R2 + 0xB80A2600, // 0022 GETNGBL R2 K19 + 0x90062402, // 0023 SETMBR R1 K18 R2 + 0xB80A2A00, // 0024 GETNGBL R2 K21 + 0x90062802, // 0025 SETMBR R1 K20 R2 + 0xB80A2E00, // 0026 GETNGBL R2 K23 + 0x90062C02, // 0027 SETMBR R1 K22 R2 + 0xB80A3200, // 0028 GETNGBL R2 K25 + 0x90063002, // 0029 SETMBR R1 K24 R2 + 0xB80A3600, // 002A GETNGBL R2 K27 + 0x90063402, // 002B SETMBR R1 K26 R2 + 0xB80A3A00, // 002C GETNGBL R2 K29 + 0x90063802, // 002D SETMBR R1 K28 R2 + 0xB80A3E00, // 002E GETNGBL R2 K31 + 0x90063C02, // 002F SETMBR R1 K30 R2 + 0xB80A4200, // 0030 GETNGBL R2 K33 + 0x90064002, // 0031 SETMBR R1 K32 R2 + 0xB80A4400, // 0032 GETNGBL R2 K34 + 0x8C080523, // 0033 GETMET R2 R2 K35 + 0x54120086, // 0034 LDINT R4 135 + 0x7C080400, // 0035 CALL R2 2 + 0x1C080524, // 0036 EQ R2 R2 K36 + 0x780A0001, // 0037 JMPF R2 #003A + 0x8C080303, // 0038 GETMET R2 R1 K3 + 0x7C080200, // 0039 CALL R2 1 + 0x4C080000, // 003A LDNIL R2 + 0x80040400, // 003B RET 1 R2 + }) + ) +); +/*******************************************************************/ + +// compact class 'splash_runner' ktab size: 8, total: 9 (saved 8 bytes) +static const bvalue be_ktab_class_splash_runner[8] = { + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(add_driver), + /* K2 */ be_nested_str_weak(display), + /* K3 */ be_nested_str_weak(dim), + /* K4 */ be_nested_str_weak(started), + /* K5 */ be_nested_str_weak(remove_driver), + /* K6 */ be_nested_str_weak(lv), + /* K7 */ be_nested_str_weak(splash), +}; + + +extern const bclass be_class_splash_runner; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_splash_runner_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_splash_runner, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: display +********************************************************************/ +be_local_closure(class_splash_runner_display, /* name */ + be_nested_proto( + 9, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_splash_runner, /* shared constants */ + be_str_weak(display), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xA4160400, // 0000 IMPORT R5 K2 + 0x1C180303, // 0001 EQ R6 R1 K3 + 0x781A0009, // 0002 JMPF R6 #000D + 0x8C180B04, // 0003 GETMET R6 R5 K4 + 0x7C180200, // 0004 CALL R6 1 + 0x781A0006, // 0005 JMPF R6 #000D + 0xB81A0000, // 0006 GETNGBL R6 K0 + 0x8C180D05, // 0007 GETMET R6 R6 K5 + 0x5C200000, // 0008 MOVE R8 R0 + 0x7C180400, // 0009 CALL R6 2 + 0xB81A0C00, // 000A GETNGBL R6 K6 + 0x8C180D07, // 000B GETMET R6 R6 K7 + 0x7C180200, // 000C CALL R6 1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: splash_runner +********************************************************************/ +be_local_class(splash_runner, + 0, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(display, -1), be_const_closure(class_splash_runner_display_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_splash_runner_init_closure) }, + })), + be_str_weak(splash_runner) +); + +/******************************************************************** +** Solidified function: splash_init +********************************************************************/ +be_local_closure(module_lv_tasmota_splash_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(display), + /* K1 */ be_nested_str_weak(started), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(splash), + /* K4 */ be_const_class(be_class_splash_runner), + }), + be_str_weak(splash_init), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4020000, // 0000 IMPORT R0 K0 + 0x8C040101, // 0001 GETMET R1 R0 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x78060003, // 0003 JMPF R1 #0008 + 0xB8060400, // 0004 GETNGBL R1 K2 + 0x8C040303, // 0005 GETMET R1 R1 K3 + 0x7C040200, // 0006 CALL R1 1 + 0x70020003, // 0007 JMP #000C + 0x58040004, // 0008 LDCONST R1 K4 + 0xB4000004, // 0009 CLASS K4 + 0x5C080200, // 000A MOVE R2 R1 + 0x7C080000, // 000B CALL R2 0 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: splash_remove +********************************************************************/ +be_local_closure(module_lv_tasmota_splash_remove, /* name */ + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(_splash), + /* K2 */ be_nested_str_weak(del), + }), + be_str_weak(splash_remove), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x88000101, // 0001 GETMBR R0 R0 K1 + 0x78020004, // 0002 JMPF R0 #0008 + 0xB8060000, // 0003 GETNGBL R1 K0 + 0x4C080000, // 0004 LDNIL R2 + 0x90060202, // 0005 SETMBR R1 K1 R2 + 0x8C040102, // 0006 GETMET R1 R0 K2 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: splash +********************************************************************/ +be_local_closure(module_lv_tasmota_splash, /* name */ + be_nested_proto( + 14, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[43]) { /* constants */ + /* K0 */ be_nested_str_weak(display), + /* K1 */ be_nested_str_weak(started), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(start), + /* K4 */ be_nested_str_weak(obj), + /* K5 */ be_nested_str_weak(scr_act), + /* K6 */ be_nested_str_weak(montserrat_font), + /* K7 */ be_nested_str_weak(color), + /* K8 */ be_nested_str_weak(COLOR_WHITE), + /* K9 */ be_nested_str_weak(set_style_bg_color), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(set_style_radius), + /* K12 */ be_nested_str_weak(set_style_pad_all), + /* K13 */ be_nested_str_weak(set_style_border_width), + /* K14 */ be_nested_str_weak(set_size), + /* K15 */ be_nested_str_weak(pct), + /* K16 */ be_nested_str_weak(refr_pos), + /* K17 */ be_nested_str_weak(refr_size), + /* K18 */ be_nested_str_weak(set_user_data), + /* K19 */ be_const_int(1399876712), + /* K20 */ be_nested_str_weak(img), + /* K21 */ be_nested_str_weak(set_tasmota_logo), + /* K22 */ be_nested_str_weak(set_zoom), + /* K23 */ be_nested_str_weak(set_style_img_recolor_opa), + /* K24 */ be_nested_str_weak(set_style_img_recolor), + /* K25 */ be_nested_str_weak(align), + /* K26 */ be_nested_str_weak(ALIGN_LEFT_MID), + /* K27 */ be_nested_str_weak(label), + /* K28 */ be_nested_str_weak(set_style_text_color), + /* K29 */ be_nested_str_weak(set_text), + /* K30 */ be_nested_str_weak(TASMOTA), + /* K31 */ be_nested_str_weak(get_hor_res), + /* K32 */ be_nested_str_weak(set_style_text_font), + /* K33 */ be_nested_str_weak(set_align), + /* K34 */ be_nested_str_weak(set_x), + /* K35 */ be_nested_str_weak(driver_name), + /* K36 */ be_nested_str_weak(ALIGN_BOTTOM_MID), + /* K37 */ be_const_int(16777215), + /* K38 */ be_nested_str_weak(refr_now), + /* K39 */ be_nested_str_weak(_splash), + /* K40 */ be_nested_str_weak(tasmota), + /* K41 */ be_nested_str_weak(set_timer), + /* K42 */ be_nested_str_weak(splash_remove), + }), + be_str_weak(splash), + &be_const_str_solidified, + ( &(const binstruction[165]) { /* code */ + 0xA4020000, // 0000 IMPORT R0 K0 + 0x8C040101, // 0001 GETMET R1 R0 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x74060000, // 0003 JMPT R1 #0005 + 0x80000200, // 0004 RET 0 + 0xB8060400, // 0005 GETNGBL R1 K2 + 0x8C040303, // 0006 GETMET R1 R1 K3 + 0x7C040200, // 0007 CALL R1 1 + 0xB8060400, // 0008 GETNGBL R1 K2 + 0x8C040304, // 0009 GETMET R1 R1 K4 + 0xB80E0400, // 000A GETNGBL R3 K2 + 0x8C0C0705, // 000B GETMET R3 R3 K5 + 0x7C0C0200, // 000C CALL R3 1 + 0x7C040400, // 000D CALL R1 2 + 0xB80A0400, // 000E GETNGBL R2 K2 + 0x8C080506, // 000F GETMET R2 R2 K6 + 0x5412001B, // 0010 LDINT R4 28 + 0x7C080400, // 0011 CALL R2 2 + 0xB80E0400, // 0012 GETNGBL R3 K2 + 0x8C0C0706, // 0013 GETMET R3 R3 K6 + 0x54160013, // 0014 LDINT R5 20 + 0x7C0C0400, // 0015 CALL R3 2 + 0xB8120400, // 0016 GETNGBL R4 K2 + 0x8C100907, // 0017 GETMET R4 R4 K7 + 0xB81A0400, // 0018 GETNGBL R6 K2 + 0x88180D08, // 0019 GETMBR R6 R6 K8 + 0x7C100400, // 001A CALL R4 2 + 0x8C140309, // 001B GETMET R5 R1 K9 + 0xB81E0400, // 001C GETNGBL R7 K2 + 0x8C1C0F07, // 001D GETMET R7 R7 K7 + 0x54260065, // 001E LDINT R9 102 + 0x7C1C0400, // 001F CALL R7 2 + 0x5820000A, // 0020 LDCONST R8 K10 + 0x7C140600, // 0021 CALL R5 3 + 0x8C14030B, // 0022 GETMET R5 R1 K11 + 0x581C000A, // 0023 LDCONST R7 K10 + 0x5820000A, // 0024 LDCONST R8 K10 + 0x7C140600, // 0025 CALL R5 3 + 0x8C14030C, // 0026 GETMET R5 R1 K12 + 0x581C000A, // 0027 LDCONST R7 K10 + 0x5820000A, // 0028 LDCONST R8 K10 + 0x7C140600, // 0029 CALL R5 3 + 0x8C14030D, // 002A GETMET R5 R1 K13 + 0x581C000A, // 002B LDCONST R7 K10 + 0x5820000A, // 002C LDCONST R8 K10 + 0x7C140600, // 002D CALL R5 3 + 0x8C14030E, // 002E GETMET R5 R1 K14 + 0xB81E0400, // 002F GETNGBL R7 K2 + 0x8C1C0F0F, // 0030 GETMET R7 R7 K15 + 0x54260063, // 0031 LDINT R9 100 + 0x7C1C0400, // 0032 CALL R7 2 + 0xB8220400, // 0033 GETNGBL R8 K2 + 0x8C20110F, // 0034 GETMET R8 R8 K15 + 0x542A0063, // 0035 LDINT R10 100 + 0x7C200400, // 0036 CALL R8 2 + 0x7C140600, // 0037 CALL R5 3 + 0x8C140310, // 0038 GETMET R5 R1 K16 + 0x7C140200, // 0039 CALL R5 1 + 0x8C140311, // 003A GETMET R5 R1 K17 + 0x7C140200, // 003B CALL R5 1 + 0x8C140312, // 003C GETMET R5 R1 K18 + 0x581C0013, // 003D LDCONST R7 K19 + 0x7C140400, // 003E CALL R5 2 + 0xB8160400, // 003F GETNGBL R5 K2 + 0x8C140B14, // 0040 GETMET R5 R5 K20 + 0x5C1C0200, // 0041 MOVE R7 R1 + 0x7C140400, // 0042 CALL R5 2 + 0x8C180B15, // 0043 GETMET R6 R5 K21 + 0x7C180200, // 0044 CALL R6 1 + 0x8C180B16, // 0045 GETMET R6 R5 K22 + 0x54220095, // 0046 LDINT R8 150 + 0x7C180400, // 0047 CALL R6 2 + 0x8C180B17, // 0048 GETMET R6 R5 K23 + 0x542200FE, // 0049 LDINT R8 255 + 0x5824000A, // 004A LDCONST R9 K10 + 0x7C180600, // 004B CALL R6 3 + 0x8C180B18, // 004C GETMET R6 R5 K24 + 0x5C200800, // 004D MOVE R8 R4 + 0x5824000A, // 004E LDCONST R9 K10 + 0x7C180600, // 004F CALL R6 3 + 0x8C180B19, // 0050 GETMET R6 R5 K25 + 0xB8220400, // 0051 GETNGBL R8 K2 + 0x8820111A, // 0052 GETMBR R8 R8 K26 + 0x5425FFF3, // 0053 LDINT R9 -12 + 0x5828000A, // 0054 LDCONST R10 K10 + 0x7C180800, // 0055 CALL R6 4 + 0xB81A0400, // 0056 GETNGBL R6 K2 + 0x8C180D1B, // 0057 GETMET R6 R6 K27 + 0x5C200200, // 0058 MOVE R8 R1 + 0x7C180400, // 0059 CALL R6 2 + 0x8C1C0D1C, // 005A GETMET R7 R6 K28 + 0x5C240800, // 005B MOVE R9 R4 + 0x5828000A, // 005C LDCONST R10 K10 + 0x7C1C0600, // 005D CALL R7 3 + 0x8C1C0D1D, // 005E GETMET R7 R6 K29 + 0x5824001E, // 005F LDCONST R9 K30 + 0x7C1C0400, // 0060 CALL R7 2 + 0xB81E0400, // 0061 GETNGBL R7 K2 + 0x8C1C0F1F, // 0062 GETMET R7 R7 K31 + 0x7C1C0200, // 0063 CALL R7 1 + 0x542200C7, // 0064 LDINT R8 200 + 0x281C0E08, // 0065 GE R7 R7 R8 + 0x781E0007, // 0066 JMPF R7 #006F + 0x4C1C0000, // 0067 LDNIL R7 + 0x201C0407, // 0068 NE R7 R2 R7 + 0x781E0003, // 0069 JMPF R7 #006E + 0x8C1C0D20, // 006A GETMET R7 R6 K32 + 0x5C240400, // 006B MOVE R9 R2 + 0x5828000A, // 006C LDCONST R10 K10 + 0x7C1C0600, // 006D CALL R7 3 + 0x70020006, // 006E JMP #0076 + 0x4C1C0000, // 006F LDNIL R7 + 0x201C0607, // 0070 NE R7 R3 R7 + 0x781E0003, // 0071 JMPF R7 #0076 + 0x8C1C0D20, // 0072 GETMET R7 R6 K32 + 0x5C240600, // 0073 MOVE R9 R3 + 0x5828000A, // 0074 LDCONST R10 K10 + 0x7C1C0600, // 0075 CALL R7 3 + 0x8C1C0D21, // 0076 GETMET R7 R6 K33 + 0xB8260400, // 0077 GETNGBL R9 K2 + 0x8824131A, // 0078 GETMBR R9 R9 K26 + 0x7C1C0400, // 0079 CALL R7 2 + 0x8C1C0D22, // 007A GETMET R7 R6 K34 + 0x54260029, // 007B LDINT R9 42 + 0x7C1C0400, // 007C CALL R7 2 + 0x8C1C0123, // 007D GETMET R7 R0 K35 + 0x7C1C0200, // 007E CALL R7 1 + 0x4C200000, // 007F LDNIL R8 + 0x6024000C, // 0080 GETGBL R9 G12 + 0x5C280E00, // 0081 MOVE R10 R7 + 0x7C240200, // 0082 CALL R9 1 + 0x2424130A, // 0083 GT R9 R9 K10 + 0x78260012, // 0084 JMPF R9 #0098 + 0xB8260400, // 0085 GETNGBL R9 K2 + 0x8C24131B, // 0086 GETMET R9 R9 K27 + 0x5C2C0200, // 0087 MOVE R11 R1 + 0x7C240400, // 0088 CALL R9 2 + 0x5C201200, // 0089 MOVE R8 R9 + 0x8C241121, // 008A GETMET R9 R8 K33 + 0xB82E0400, // 008B GETNGBL R11 K2 + 0x882C1724, // 008C GETMBR R11 R11 K36 + 0x7C240400, // 008D CALL R9 2 + 0x8C24111C, // 008E GETMET R9 R8 K28 + 0xB82E0400, // 008F GETNGBL R11 K2 + 0x8C2C1707, // 0090 GETMET R11 R11 K7 + 0x58340025, // 0091 LDCONST R13 K37 + 0x7C2C0400, // 0092 CALL R11 2 + 0x5830000A, // 0093 LDCONST R12 K10 + 0x7C240600, // 0094 CALL R9 3 + 0x8C24111D, // 0095 GETMET R9 R8 K29 + 0x5C2C0E00, // 0096 MOVE R11 R7 + 0x7C240400, // 0097 CALL R9 2 + 0xB8260400, // 0098 GETNGBL R9 K2 + 0x8C241326, // 0099 GETMET R9 R9 K38 + 0x582C000A, // 009A LDCONST R11 K10 + 0x7C240400, // 009B CALL R9 2 + 0xB8260400, // 009C GETNGBL R9 K2 + 0x90264E01, // 009D SETMBR R9 K39 R1 + 0xB8265000, // 009E GETNGBL R9 K40 + 0x8C241329, // 009F GETMET R9 R9 K41 + 0x542E1387, // 00A0 LDINT R11 5000 + 0xB8320400, // 00A1 GETNGBL R12 K2 + 0x8830192A, // 00A2 GETMBR R12 R12 K42 + 0x7C240600, // 00A3 CALL R9 3 + 0x80000000, // 00A4 RET 0 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota_widgets.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota_widgets.h new file mode 100644 index 000000000..47dccd82f --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_lv_tasmota_widgets.h @@ -0,0 +1,1647 @@ +/* Solidification of lv_tasmota_widgets.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'lv_clock' ktab size: 27, total: 32 (saved 40 bytes) +static const bvalue be_ktab_class_lv_clock[27] = { + /* K0 */ be_nested_str_weak(hour), + /* K1 */ be_nested_str_weak(minute), + /* K2 */ be_nested_str_weak(sec), + /* K3 */ be_nested_str_weak(_X2502d_X25s_X2502d), + /* K4 */ be_const_int(2), + /* K5 */ be_nested_str_weak(_X3A), + /* K6 */ be_nested_str_weak(_X20), + /* K7 */ be_nested_str_weak(set_text), + /* K8 */ be_nested_str_weak(tasmota), + /* K9 */ be_nested_str_weak(time_dump), + /* K10 */ be_nested_str_weak(rtc), + /* K11 */ be_nested_str_weak(local), + /* K12 */ be_nested_str_weak(year), + /* K13 */ be_nested_str_weak(set_time), + /* K14 */ be_nested_str_weak(min), + /* K15 */ be_nested_str_weak(init), + /* K16 */ be_nested_str_weak(lv), + /* K17 */ be_nested_str_weak(seg7_font), + /* K18 */ be_nested_str_weak(set_style_text_font), + /* K19 */ be_nested_str_weak(PART_MAIN), + /* K20 */ be_nested_str_weak(STATE_DEFAULT), + /* K21 */ be_nested_str_weak(_X2D_X2D_X3A_X2D_X2D), + /* K22 */ be_nested_str_weak(add_event_cb), + /* K23 */ be_nested_str_weak(EVENT_DELETE), + /* K24 */ be_const_int(0), + /* K25 */ be_nested_str_weak(add_driver), + /* K26 */ be_nested_str_weak(remove_driver), +}; + + +extern const bclass be_class_lv_clock; + +/******************************************************************** +** Solidified function: set_time +********************************************************************/ +be_local_closure(class_lv_clock_set_time, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_clock, /* shared constants */ + be_str_weak(set_time), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x20100204, // 0001 NE R4 R1 R4 + 0x74120005, // 0002 JMPT R4 #0009 + 0x88100101, // 0003 GETMBR R4 R0 K1 + 0x20100404, // 0004 NE R4 R2 R4 + 0x74120002, // 0005 JMPT R4 #0009 + 0x88100102, // 0006 GETMBR R4 R0 K2 + 0x20100604, // 0007 NE R4 R3 R4 + 0x7812000F, // 0008 JMPF R4 #0019 + 0x60100018, // 0009 GETGBL R4 G24 + 0x58140003, // 000A LDCONST R5 K3 + 0x5C180200, // 000B MOVE R6 R1 + 0x101C0704, // 000C MOD R7 R3 K4 + 0x781E0001, // 000D JMPF R7 #0010 + 0x581C0005, // 000E LDCONST R7 K5 + 0x70020000, // 000F JMP #0011 + 0x581C0006, // 0010 LDCONST R7 K6 + 0x5C200400, // 0011 MOVE R8 R2 + 0x7C100800, // 0012 CALL R4 4 + 0x90020001, // 0013 SETMBR R0 K0 R1 + 0x90020202, // 0014 SETMBR R0 K1 R2 + 0x90020403, // 0015 SETMBR R0 K2 R3 + 0x8C140107, // 0016 GETMET R5 R0 K7 + 0x5C1C0800, // 0017 MOVE R7 R4 + 0x7C140400, // 0018 CALL R5 2 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_lv_clock_every_second, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_clock, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0xB8061000, // 0000 GETNGBL R1 K8 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0xB80E1000, // 0002 GETNGBL R3 K8 + 0x8C0C070A, // 0003 GETMET R3 R3 K10 + 0x7C0C0200, // 0004 CALL R3 1 + 0x940C070B, // 0005 GETIDX R3 R3 K11 + 0x7C040400, // 0006 CALL R1 2 + 0x9408030C, // 0007 GETIDX R2 R1 K12 + 0x540E07B1, // 0008 LDINT R3 1970 + 0x20080403, // 0009 NE R2 R2 R3 + 0x780A0004, // 000A JMPF R2 #0010 + 0x8C08010D, // 000B GETMET R2 R0 K13 + 0x94100300, // 000C GETIDX R4 R1 K0 + 0x9414030E, // 000D GETIDX R5 R1 K14 + 0x94180302, // 000E GETIDX R6 R1 K2 + 0x7C080800, // 000F CALL R2 4 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_clock_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(before_del), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lv_clock, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[36]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C08050F, // 0003 GETMET R2 R2 K15 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0xB80A2000, // 0006 GETNGBL R2 K16 + 0x8C080511, // 0007 GETMET R2 R2 K17 + 0x5412000F, // 0008 LDINT R4 16 + 0x7C080400, // 0009 CALL R2 2 + 0x4C0C0000, // 000A LDNIL R3 + 0x200C0403, // 000B NE R3 R2 R3 + 0x780E0007, // 000C JMPF R3 #0015 + 0x8C0C0112, // 000D GETMET R3 R0 K18 + 0x5C140400, // 000E MOVE R5 R2 + 0xB81A2000, // 000F GETNGBL R6 K16 + 0x88180D13, // 0010 GETMBR R6 R6 K19 + 0xB81E2000, // 0011 GETNGBL R7 K16 + 0x881C0F14, // 0012 GETMBR R7 R7 K20 + 0x30180C07, // 0013 OR R6 R6 R7 + 0x7C0C0600, // 0014 CALL R3 3 + 0x8C0C0107, // 0015 GETMET R3 R0 K7 + 0x58140015, // 0016 LDCONST R5 K21 + 0x7C0C0400, // 0017 CALL R3 2 + 0x8C0C0116, // 0018 GETMET R3 R0 K22 + 0x84140000, // 0019 CLOSURE R5 P0 + 0xB81A2000, // 001A GETNGBL R6 K16 + 0x88180D17, // 001B GETMBR R6 R6 K23 + 0x581C0018, // 001C LDCONST R7 K24 + 0x7C0C0800, // 001D CALL R3 4 + 0xB80E1000, // 001E GETNGBL R3 K8 + 0x8C0C0719, // 001F GETMET R3 R3 K25 + 0x5C140000, // 0020 MOVE R5 R0 + 0x7C0C0400, // 0021 CALL R3 2 + 0xA0000000, // 0022 CLOSE R0 + 0x80000000, // 0023 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: before_del +********************************************************************/ +be_local_closure(class_lv_clock_before_del, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_clock, /* shared constants */ + be_str_weak(before_del), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8061000, // 0000 GETNGBL R1 K8 + 0x8C04031A, // 0001 GETMET R1 R1 K26 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_clock +********************************************************************/ +extern const bclass be_class_lv_label; +be_local_class(lv_clock, + 3, + &be_class_lv_label, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(sec, -1), be_const_var(2) }, + { be_const_key_weak(hour, -1), be_const_var(0) }, + { be_const_key_weak(before_del, 6), be_const_closure(class_lv_clock_before_del_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_lv_clock_every_second_closure) }, + { be_const_key_weak(minute, -1), be_const_var(1) }, + { be_const_key_weak(set_time, 2), be_const_closure(class_lv_clock_set_time_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_clock_init_closure) }, + })), + be_str_weak(lv_clock) +); + +extern const bclass be_class_lv_clock_icon; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_clock_icon_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[16]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(get_height), + /* K2 */ be_nested_str_weak(refr_size), + /* K3 */ be_nested_str_weak(get_width), + /* K4 */ be_nested_str_weak(set_y), + /* K5 */ be_const_int(2), + /* K6 */ be_nested_str_weak(get_style_pad_right), + /* K7 */ be_nested_str_weak(lv), + /* K8 */ be_nested_str_weak(PART_MAIN), + /* K9 */ be_nested_str_weak(STATE_DEFAULT), + /* K10 */ be_nested_str_weak(set_x), + /* K11 */ be_const_int(3), + /* K12 */ be_nested_str_weak(set_style_pad_right), + /* K13 */ be_nested_str_weak(set_style_bg_color), + /* K14 */ be_nested_str_weak(color), + /* K15 */ be_nested_str_weak(COLOR_BLACK), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[60]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C080000, // 0006 LDNIL R2 + 0x20080202, // 0007 NE R2 R1 R2 + 0x780A0031, // 0008 JMPF R2 #003B + 0x8C080301, // 0009 GETMET R2 R1 K1 + 0x7C080200, // 000A CALL R2 1 + 0x8C0C0102, // 000B GETMET R3 R0 K2 + 0x7C0C0200, // 000C CALL R3 1 + 0x8C0C0103, // 000D GETMET R3 R0 K3 + 0x7C0C0200, // 000E CALL R3 1 + 0x8C100104, // 000F GETMET R4 R0 K4 + 0x8C180301, // 0010 GETMET R6 R1 K1 + 0x7C180200, // 0011 CALL R6 1 + 0x8C1C0101, // 0012 GETMET R7 R0 K1 + 0x7C1C0200, // 0013 CALL R7 1 + 0x04180C07, // 0014 SUB R6 R6 R7 + 0x0C180D05, // 0015 DIV R6 R6 K5 + 0x7C100400, // 0016 CALL R4 2 + 0x8C100306, // 0017 GETMET R4 R1 K6 + 0xB81A0E00, // 0018 GETNGBL R6 K7 + 0x88180D08, // 0019 GETMBR R6 R6 K8 + 0xB81E0E00, // 001A GETNGBL R7 K7 + 0x881C0F09, // 001B GETMBR R7 R7 K9 + 0x30180C07, // 001C OR R6 R6 R7 + 0x7C100400, // 001D CALL R4 2 + 0x8C14010A, // 001E GETMET R5 R0 K10 + 0x8C1C0303, // 001F GETMET R7 R1 K3 + 0x7C1C0200, // 0020 CALL R7 1 + 0x041C0E03, // 0021 SUB R7 R7 R3 + 0x041C0E04, // 0022 SUB R7 R7 R4 + 0x041C0F0B, // 0023 SUB R7 R7 K11 + 0x7C140400, // 0024 CALL R5 2 + 0x8C14030C, // 0025 GETMET R5 R1 K12 + 0x001C0803, // 0026 ADD R7 R4 R3 + 0x54220005, // 0027 LDINT R8 6 + 0x001C0E08, // 0028 ADD R7 R7 R8 + 0xB8220E00, // 0029 GETNGBL R8 K7 + 0x88201108, // 002A GETMBR R8 R8 K8 + 0xB8260E00, // 002B GETNGBL R9 K7 + 0x88241309, // 002C GETMBR R9 R9 K9 + 0x30201009, // 002D OR R8 R8 R9 + 0x7C140600, // 002E CALL R5 3 + 0x8C14010D, // 002F GETMET R5 R0 K13 + 0xB81E0E00, // 0030 GETNGBL R7 K7 + 0x8C1C0F0E, // 0031 GETMET R7 R7 K14 + 0xB8260E00, // 0032 GETNGBL R9 K7 + 0x8824130F, // 0033 GETMBR R9 R9 K15 + 0x7C1C0400, // 0034 CALL R7 2 + 0xB8220E00, // 0035 GETNGBL R8 K7 + 0x88201108, // 0036 GETMBR R8 R8 K8 + 0xB8260E00, // 0037 GETNGBL R9 K7 + 0x88241309, // 0038 GETMBR R9 R9 K9 + 0x30201009, // 0039 OR R8 R8 R9 + 0x7C140600, // 003A CALL R5 3 + 0x80000000, // 003B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_clock_icon +********************************************************************/ +extern const bclass be_class_lv_clock; +be_local_class(lv_clock_icon, + 0, + &be_class_lv_clock, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_clock_icon_init_closure) }, + })), + be_str_weak(lv_clock_icon) +); +// compact class 'lv_signal_arcs' ktab size: 43, total: 52 (saved 72 bytes) +static const bvalue be_ktab_class_lv_signal_arcs[43] = { + /* K0 */ be_nested_str_weak(get_code), + /* K1 */ be_nested_str_weak(math), + /* K2 */ be_nested_str_weak(get_height), + /* K3 */ be_nested_str_weak(get_width), + /* K4 */ be_const_int(2), + /* K5 */ be_const_int(3), + /* K6 */ be_nested_str_weak(lv), + /* K7 */ be_nested_str_weak(EVENT_DRAW_MAIN), + /* K8 */ be_nested_str_weak(arc_dsc), + /* K9 */ be_nested_str_weak(get_param), + /* K10 */ be_nested_str_weak(get_layer), + /* K11 */ be_nested_str_weak(get_coords), + /* K12 */ be_nested_str_weak(area), + /* K13 */ be_nested_str_weak(x1), + /* K14 */ be_nested_str_weak(y1), + /* K15 */ be_nested_str_weak(draw_arc_dsc_init), + /* K16 */ be_nested_str_weak(init_draw_arc_dsc), + /* K17 */ be_nested_str_weak(PART_MAIN), + /* K18 */ be_nested_str_weak(rounded), + /* K19 */ be_const_int(1), + /* K20 */ be_nested_str_weak(width), + /* K21 */ be_nested_str_weak(get_style_line_color), + /* K22 */ be_nested_str_weak(STATE_DEFAULT), + /* K23 */ be_nested_str_weak(get_style_bg_color), + /* K24 */ be_nested_str_weak(deg), + /* K25 */ be_nested_str_weak(acos), + /* K26 */ be_nested_str_weak(center_x), + /* K27 */ be_nested_str_weak(center_y), + /* K28 */ be_nested_str_weak(color), + /* K29 */ be_nested_str_weak(percentage), + /* K30 */ be_nested_str_weak(radius), + /* K31 */ be_const_int(0), + /* K32 */ be_nested_str_weak(start_angle), + /* K33 */ be_nested_str_weak(end_angle), + /* K34 */ be_nested_str_weak(draw_arc), + /* K35 */ be_nested_str_weak(init), + /* K36 */ be_nested_str_weak(set_style_bg_opa), + /* K37 */ be_nested_str_weak(set_style_border_width), + /* K38 */ be_nested_str_weak(set_style_pad_all), + /* K39 */ be_nested_str_weak(draw_arc_dsc), + /* K40 */ be_nested_str_weak(add_event_cb), + /* K41 */ be_nested_str_weak(widget_event), + /* K42 */ be_nested_str_weak(invalidate), +}; + + +extern const bclass be_class_lv_signal_arcs; + +/******************************************************************** +** Solidified function: widget_event +********************************************************************/ +be_local_closure(class_lv_signal_arcs_widget_event, /* name */ + be_nested_proto( + 28, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_int(1), + }), + be_str_weak(atleast1), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x28040100, // 0000 GE R1 R0 K0 + 0x78060001, // 0001 JMPF R1 #0004 + 0x80040000, // 0002 RET 1 R0 + 0x70020000, // 0003 JMP #0005 + 0x80060000, // 0004 RET 1 K0 + 0x80000000, // 0005 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lv_signal_arcs, /* shared constants */ + be_str_weak(widget_event), + &be_const_str_solidified, + ( &(const binstruction[161]) { /* code */ + 0x8C080300, // 0000 GETMET R2 R1 K0 + 0x7C080200, // 0001 CALL R2 1 + 0xA40E0200, // 0002 IMPORT R3 K1 + 0x84100000, // 0003 CLOSURE R4 P0 + 0x8C140102, // 0004 GETMET R5 R0 K2 + 0x7C140200, // 0005 CALL R5 1 + 0x8C180103, // 0006 GETMET R6 R0 K3 + 0x7C180200, // 0007 CALL R6 1 + 0x5C1C0800, // 0008 MOVE R7 R4 + 0x54220007, // 0009 LDINT R8 8 + 0x0C200A08, // 000A DIV R8 R5 R8 + 0x7C1C0200, // 000B CALL R7 1 + 0x5C200800, // 000C MOVE R8 R4 + 0x08240F04, // 000D MUL R9 R7 K4 + 0x04240A09, // 000E SUB R9 R5 R9 + 0x0C241305, // 000F DIV R9 R9 K5 + 0x7C200200, // 0010 CALL R8 1 + 0x0C241104, // 0011 DIV R9 R8 K4 + 0xB82A0C00, // 0012 GETNGBL R10 K6 + 0x88281507, // 0013 GETMBR R10 R10 K7 + 0x1C28040A, // 0014 EQ R10 R2 R10 + 0x782A0089, // 0015 JMPF R10 #00A0 + 0x88280108, // 0016 GETMBR R10 R0 K8 + 0x8C2C0309, // 0017 GETMET R11 R1 K9 + 0x7C2C0200, // 0018 CALL R11 1 + 0x8C30030A, // 0019 GETMET R12 R1 K10 + 0x7C300200, // 001A CALL R12 1 + 0x8C34010B, // 001B GETMET R13 R0 K11 + 0x883C010C, // 001C GETMBR R15 R0 K12 + 0x7C340400, // 001D CALL R13 2 + 0x8834010C, // 001E GETMBR R13 R0 K12 + 0x88341B0D, // 001F GETMBR R13 R13 K13 + 0x8838010C, // 0020 GETMBR R14 R0 K12 + 0x88381D0E, // 0021 GETMBR R14 R14 K14 + 0xB83E0C00, // 0022 GETNGBL R15 K6 + 0x8C3C1F0F, // 0023 GETMET R15 R15 K15 + 0x5C441400, // 0024 MOVE R17 R10 + 0x7C3C0400, // 0025 CALL R15 2 + 0x8C3C0110, // 0026 GETMET R15 R0 K16 + 0xB8460C00, // 0027 GETNGBL R17 K6 + 0x88442311, // 0028 GETMBR R17 R17 K17 + 0x5C481400, // 0029 MOVE R18 R10 + 0x7C3C0600, // 002A CALL R15 3 + 0x902A2513, // 002B SETMBR R10 K18 K19 + 0x083C1105, // 002C MUL R15 R8 K5 + 0x003C1F13, // 002D ADD R15 R15 K19 + 0x54420003, // 002E LDINT R16 4 + 0x0C3C1E10, // 002F DIV R15 R15 R16 + 0x902A280F, // 0030 SETMBR R10 K20 R15 + 0x8C3C0115, // 0031 GETMET R15 R0 K21 + 0xB8460C00, // 0032 GETNGBL R17 K6 + 0x88442311, // 0033 GETMBR R17 R17 K17 + 0xB84A0C00, // 0034 GETNGBL R18 K6 + 0x88482516, // 0035 GETMBR R18 R18 K22 + 0x30442212, // 0036 OR R17 R17 R18 + 0x7C3C0400, // 0037 CALL R15 2 + 0x8C400117, // 0038 GETMET R16 R0 K23 + 0xB84A0C00, // 0039 GETNGBL R18 K6 + 0x88482511, // 003A GETMBR R18 R18 K17 + 0xB84E0C00, // 003B GETNGBL R19 K6 + 0x884C2716, // 003C GETMBR R19 R19 K22 + 0x30482413, // 003D OR R18 R18 R19 + 0x7C400400, // 003E CALL R16 2 + 0x04440A08, // 003F SUB R17 R5 R8 + 0x0C480D04, // 0040 DIV R18 R6 K4 + 0x04482409, // 0041 SUB R18 R18 R9 + 0x604C0009, // 0042 GETGBL R19 G9 + 0x54520059, // 0043 LDINT R20 90 + 0x8C540718, // 0044 GETMET R21 R3 K24 + 0x8C5C0719, // 0045 GETMET R23 R3 K25 + 0x6064000A, // 0046 GETGBL R25 G10 + 0x5C682400, // 0047 MOVE R26 R18 + 0x7C640200, // 0048 CALL R25 1 + 0x6068000A, // 0049 GETGBL R26 G10 + 0x5C6C2200, // 004A MOVE R27 R17 + 0x7C680200, // 004B CALL R26 1 + 0x0C64321A, // 004C DIV R25 R25 R26 + 0x7C5C0400, // 004D CALL R23 2 + 0x7C540400, // 004E CALL R21 2 + 0x04502815, // 004F SUB R20 R20 R21 + 0x7C4C0200, // 0050 CALL R19 1 + 0x5452002C, // 0051 LDINT R20 45 + 0x24502614, // 0052 GT R20 R19 R20 + 0x78520000, // 0053 JMPF R20 #0055 + 0x544E002C, // 0054 LDINT R19 45 + 0x0C500D04, // 0055 DIV R20 R6 K4 + 0x00501A14, // 0056 ADD R20 R13 R20 + 0x902A3414, // 0057 SETMBR R10 K26 R20 + 0x00501C05, // 0058 ADD R20 R14 R5 + 0x04502913, // 0059 SUB R20 R20 K19 + 0x04502809, // 005A SUB R20 R20 R9 + 0x902A3614, // 005B SETMBR R10 K27 R20 + 0x8850011D, // 005C GETMBR R20 R0 K29 + 0x54560018, // 005D LDINT R21 25 + 0x28502815, // 005E GE R20 R20 R21 + 0x78520001, // 005F JMPF R20 #0062 + 0x5C501E00, // 0060 MOVE R20 R15 + 0x70020000, // 0061 JMP #0063 + 0x5C502000, // 0062 MOVE R20 R16 + 0x902A3814, // 0063 SETMBR R10 K28 R20 + 0x00501007, // 0064 ADD R20 R8 R7 + 0x08523E14, // 0065 MUL R20 K31 R20 + 0x00502809, // 0066 ADD R20 R20 R9 + 0x902A3C14, // 0067 SETMBR R10 K30 R20 + 0x902A411F, // 0068 SETMBR R10 K32 K31 + 0x54520131, // 0069 LDINT R20 306 + 0x902A4214, // 006A SETMBR R10 K33 R20 + 0xB8520C00, // 006B GETNGBL R20 K6 + 0x8C502922, // 006C GETMET R20 R20 K34 + 0x5C581800, // 006D MOVE R22 R12 + 0x5C5C1400, // 006E MOVE R23 R10 + 0x7C500600, // 006F CALL R20 3 + 0x00501007, // 0070 ADD R20 R8 R7 + 0x08522614, // 0071 MUL R20 K19 R20 + 0x00502809, // 0072 ADD R20 R20 R9 + 0x04502913, // 0073 SUB R20 R20 K19 + 0x902A3C14, // 0074 SETMBR R10 K30 R20 + 0x5452010D, // 0075 LDINT R20 270 + 0x04502813, // 0076 SUB R20 R20 R19 + 0x902A4014, // 0077 SETMBR R10 K32 R20 + 0x5452010D, // 0078 LDINT R20 270 + 0x00502813, // 0079 ADD R20 R20 R19 + 0x902A4214, // 007A SETMBR R10 K33 R20 + 0x8850011D, // 007B GETMBR R20 R0 K29 + 0x54560031, // 007C LDINT R21 50 + 0x28502815, // 007D GE R20 R20 R21 + 0x78520001, // 007E JMPF R20 #0081 + 0x5C501E00, // 007F MOVE R20 R15 + 0x70020000, // 0080 JMP #0082 + 0x5C502000, // 0081 MOVE R20 R16 + 0x902A3814, // 0082 SETMBR R10 K28 R20 + 0xB8520C00, // 0083 GETNGBL R20 K6 + 0x8C502922, // 0084 GETMET R20 R20 K34 + 0x5C581800, // 0085 MOVE R22 R12 + 0x5C5C1400, // 0086 MOVE R23 R10 + 0x7C500600, // 0087 CALL R20 3 + 0x00501007, // 0088 ADD R20 R8 R7 + 0x08520814, // 0089 MUL R20 K4 R20 + 0x00502809, // 008A ADD R20 R20 R9 + 0x04502904, // 008B SUB R20 R20 K4 + 0x902A3C14, // 008C SETMBR R10 K30 R20 + 0x5452010D, // 008D LDINT R20 270 + 0x04502813, // 008E SUB R20 R20 R19 + 0x902A4014, // 008F SETMBR R10 K32 R20 + 0x5452010D, // 0090 LDINT R20 270 + 0x00502813, // 0091 ADD R20 R20 R19 + 0x902A4214, // 0092 SETMBR R10 K33 R20 + 0x8850011D, // 0093 GETMBR R20 R0 K29 + 0x5456004A, // 0094 LDINT R21 75 + 0x28502815, // 0095 GE R20 R20 R21 + 0x78520001, // 0096 JMPF R20 #0099 + 0x5C501E00, // 0097 MOVE R20 R15 + 0x70020000, // 0098 JMP #009A + 0x5C502000, // 0099 MOVE R20 R16 + 0x902A3814, // 009A SETMBR R10 K28 R20 + 0xB8520C00, // 009B GETNGBL R20 K6 + 0x8C502922, // 009C GETMET R20 R20 K34 + 0x5C581800, // 009D MOVE R22 R12 + 0x5C5C1400, // 009E MOVE R23 R10 + 0x7C500600, // 009F CALL R20 3 + 0x80000000, // 00A0 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_percentage +********************************************************************/ +be_local_closure(class_lv_signal_arcs_get_percentage, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_arcs, /* shared constants */ + be_str_weak(get_percentage), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804011D, // 0000 GETMBR R1 R0 K29 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_signal_arcs_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_arcs, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080523, // 0003 GETMET R2 R2 K35 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080124, // 0006 GETMET R2 R0 K36 + 0x5810001F, // 0007 LDCONST R4 K31 + 0x5814001F, // 0008 LDCONST R5 K31 + 0x7C080600, // 0009 CALL R2 3 + 0x8C080125, // 000A GETMET R2 R0 K37 + 0x5810001F, // 000B LDCONST R4 K31 + 0x5814001F, // 000C LDCONST R5 K31 + 0x7C080600, // 000D CALL R2 3 + 0x8C080126, // 000E GETMET R2 R0 K38 + 0x5810001F, // 000F LDCONST R4 K31 + 0x5814001F, // 0010 LDCONST R5 K31 + 0x7C080600, // 0011 CALL R2 3 + 0x540A0063, // 0012 LDINT R2 100 + 0x90023A02, // 0013 SETMBR R0 K29 R2 + 0xB80A0C00, // 0014 GETNGBL R2 K6 + 0x8C08050C, // 0015 GETMET R2 R2 K12 + 0x7C080200, // 0016 CALL R2 1 + 0x90021802, // 0017 SETMBR R0 K12 R2 + 0xB80A0C00, // 0018 GETNGBL R2 K6 + 0x8C080527, // 0019 GETMET R2 R2 K39 + 0x7C080200, // 001A CALL R2 1 + 0x90021002, // 001B SETMBR R0 K8 R2 + 0x8C080128, // 001C GETMET R2 R0 K40 + 0x88100129, // 001D GETMBR R4 R0 K41 + 0xB8160C00, // 001E GETNGBL R5 K6 + 0x88140B07, // 001F GETMBR R5 R5 K7 + 0x5818001F, // 0020 LDCONST R6 K31 + 0x7C080800, // 0021 CALL R2 4 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_percentage +********************************************************************/ +be_local_closure(class_lv_signal_arcs_set_percentage, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_arcs, /* shared constants */ + be_str_weak(set_percentage), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8808011D, // 0000 GETMBR R2 R0 K29 + 0x540E0018, // 0001 LDINT R3 25 + 0x0C080403, // 0002 DIV R2 R2 R3 + 0x540E0063, // 0003 LDINT R3 100 + 0x240C0203, // 0004 GT R3 R1 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x54060063, // 0006 LDINT R1 100 + 0x140C031F, // 0007 LT R3 R1 K31 + 0x780E0000, // 0008 JMPF R3 #000A + 0x5804001F, // 0009 LDCONST R1 K31 + 0x90023A01, // 000A SETMBR R0 K29 R1 + 0x540E0018, // 000B LDINT R3 25 + 0x0C0C0203, // 000C DIV R3 R1 R3 + 0x200C0403, // 000D NE R3 R2 R3 + 0x780E0001, // 000E JMPF R3 #0011 + 0x8C0C012A, // 000F GETMET R3 R0 K42 + 0x7C0C0200, // 0010 CALL R3 1 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_signal_arcs +********************************************************************/ +extern const bclass be_class_lv_obj; +be_local_class(lv_signal_arcs, + 3, + &be_class_lv_obj, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(widget_event, 2), be_const_closure(class_lv_signal_arcs_widget_event_closure) }, + { be_const_key_weak(get_percentage, 3), be_const_closure(class_lv_signal_arcs_get_percentage_closure) }, + { be_const_key_weak(set_percentage, 6), be_const_closure(class_lv_signal_arcs_set_percentage_closure) }, + { be_const_key_weak(arc_dsc, -1), be_const_var(2) }, + { be_const_key_weak(percentage, -1), be_const_var(0) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_signal_arcs_init_closure) }, + { be_const_key_weak(area, -1), be_const_var(1) }, + })), + be_str_weak(lv_signal_arcs) +); +// compact class 'lv_wifi_arcs' ktab size: 10, total: 14 (saved 32 bytes) +static const bvalue be_ktab_class_lv_wifi_arcs[10] = { + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(remove_driver), + /* K2 */ be_nested_str_weak(init), + /* K3 */ be_nested_str_weak(add_driver), + /* K4 */ be_nested_str_weak(set_percentage), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(wifi), + /* K7 */ be_nested_str_weak(find), + /* K8 */ be_nested_str_weak(quality), + /* K9 */ be_nested_str_weak(ip), +}; + + +extern const bclass be_class_lv_wifi_arcs; + +/******************************************************************** +** Solidified function: before_del +********************************************************************/ +be_local_closure(class_lv_wifi_arcs_before_del, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_arcs, /* shared constants */ + be_str_weak(before_del), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_wifi_arcs_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_arcs, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0xB80A0000, // 0006 GETNGBL R2 K0 + 0x8C080503, // 0007 GETMET R2 R2 K3 + 0x5C100000, // 0008 MOVE R4 R0 + 0x7C080400, // 0009 CALL R2 2 + 0x8C080104, // 000A GETMET R2 R0 K4 + 0x58100005, // 000B LDCONST R4 K5 + 0x7C080400, // 000C CALL R2 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_lv_wifi_arcs_every_second, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_arcs, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040306, // 0001 GETMET R1 R1 K6 + 0x7C040200, // 0002 CALL R1 1 + 0x8C080307, // 0003 GETMET R2 R1 K7 + 0x58100008, // 0004 LDCONST R4 K8 + 0x7C080400, // 0005 CALL R2 2 + 0x8C0C0307, // 0006 GETMET R3 R1 K7 + 0x58140009, // 0007 LDCONST R5 K9 + 0x7C0C0400, // 0008 CALL R3 2 + 0x4C100000, // 0009 LDNIL R4 + 0x1C100604, // 000A EQ R4 R3 R4 + 0x78120003, // 000B JMPF R4 #0010 + 0x8C100104, // 000C GETMET R4 R0 K4 + 0x58180005, // 000D LDCONST R6 K5 + 0x7C100400, // 000E CALL R4 2 + 0x70020005, // 000F JMP #0016 + 0x4C100000, // 0010 LDNIL R4 + 0x20100404, // 0011 NE R4 R2 R4 + 0x78120002, // 0012 JMPF R4 #0016 + 0x8C100104, // 0013 GETMET R4 R0 K4 + 0x5C180400, // 0014 MOVE R6 R2 + 0x7C100400, // 0015 CALL R4 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_wifi_arcs +********************************************************************/ +extern const bclass be_class_lv_signal_arcs; +be_local_class(lv_wifi_arcs, + 0, + &be_class_lv_signal_arcs, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(before_del, 1), be_const_closure(class_lv_wifi_arcs_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(class_lv_wifi_arcs_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_arcs_init_closure) }, + })), + be_str_weak(lv_wifi_arcs) +); + +extern const bclass be_class_lv_wifi_arcs_icon; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_wifi_arcs_icon_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[18]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(set_style_line_color), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(color), + /* K4 */ be_nested_str_weak(COLOR_WHITE), + /* K5 */ be_nested_str_weak(PART_MAIN), + /* K6 */ be_nested_str_weak(STATE_DEFAULT), + /* K7 */ be_nested_str_weak(set_style_bg_color), + /* K8 */ be_nested_str_weak(COLOR_BLACK), + /* K9 */ be_nested_str_weak(get_height), + /* K10 */ be_nested_str_weak(get_style_pad_right), + /* K11 */ be_nested_str_weak(set_height), + /* K12 */ be_const_int(3), + /* K13 */ be_nested_str_weak(set_width), + /* K14 */ be_nested_str_weak(set_x), + /* K15 */ be_nested_str_weak(get_width), + /* K16 */ be_nested_str_weak(set_style_pad_right), + /* K17 */ be_const_int(1), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[67]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0xB8120400, // 0007 GETNGBL R4 K2 + 0x8C100903, // 0008 GETMET R4 R4 K3 + 0xB81A0400, // 0009 GETNGBL R6 K2 + 0x88180D04, // 000A GETMBR R6 R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0xB8160400, // 000C GETNGBL R5 K2 + 0x88140B05, // 000D GETMBR R5 R5 K5 + 0xB81A0400, // 000E GETNGBL R6 K2 + 0x88180D06, // 000F GETMBR R6 R6 K6 + 0x30140A06, // 0010 OR R5 R5 R6 + 0x7C080600, // 0011 CALL R2 3 + 0x8C080107, // 0012 GETMET R2 R0 K7 + 0xB8120400, // 0013 GETNGBL R4 K2 + 0x8C100903, // 0014 GETMET R4 R4 K3 + 0xB81A0400, // 0015 GETNGBL R6 K2 + 0x88180D08, // 0016 GETMBR R6 R6 K8 + 0x7C100400, // 0017 CALL R4 2 + 0xB8160400, // 0018 GETNGBL R5 K2 + 0x88140B05, // 0019 GETMBR R5 R5 K5 + 0xB81A0400, // 001A GETNGBL R6 K2 + 0x88180D06, // 001B GETMBR R6 R6 K6 + 0x30140A06, // 001C OR R5 R5 R6 + 0x7C080600, // 001D CALL R2 3 + 0x4C080000, // 001E LDNIL R2 + 0x20080202, // 001F NE R2 R1 R2 + 0x780A0020, // 0020 JMPF R2 #0042 + 0x8C080309, // 0021 GETMET R2 R1 K9 + 0x7C080200, // 0022 CALL R2 1 + 0x8C0C030A, // 0023 GETMET R3 R1 K10 + 0xB8160400, // 0024 GETNGBL R5 K2 + 0x88140B05, // 0025 GETMBR R5 R5 K5 + 0xB81A0400, // 0026 GETNGBL R6 K2 + 0x88180D06, // 0027 GETMBR R6 R6 K6 + 0x30140A06, // 0028 OR R5 R5 R6 + 0x7C0C0400, // 0029 CALL R3 2 + 0x8C10010B, // 002A GETMET R4 R0 K11 + 0x5C180400, // 002B MOVE R6 R2 + 0x7C100400, // 002C CALL R4 2 + 0x54120003, // 002D LDINT R4 4 + 0x08100404, // 002E MUL R4 R2 R4 + 0x0C10090C, // 002F DIV R4 R4 K12 + 0x8C14010D, // 0030 GETMET R5 R0 K13 + 0x5C1C0800, // 0031 MOVE R7 R4 + 0x7C140400, // 0032 CALL R5 2 + 0x8C14010E, // 0033 GETMET R5 R0 K14 + 0x8C1C030F, // 0034 GETMET R7 R1 K15 + 0x7C1C0200, // 0035 CALL R7 1 + 0x041C0E04, // 0036 SUB R7 R7 R4 + 0x041C0E03, // 0037 SUB R7 R7 R3 + 0x7C140400, // 0038 CALL R5 2 + 0x8C140310, // 0039 GETMET R5 R1 K16 + 0x001C0604, // 003A ADD R7 R3 R4 + 0x001C0F11, // 003B ADD R7 R7 K17 + 0xB8220400, // 003C GETNGBL R8 K2 + 0x88201105, // 003D GETMBR R8 R8 K5 + 0xB8260400, // 003E GETNGBL R9 K2 + 0x88241306, // 003F GETMBR R9 R9 K6 + 0x30201009, // 0040 OR R8 R8 R9 + 0x7C140600, // 0041 CALL R5 3 + 0x80000000, // 0042 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_wifi_arcs_icon +********************************************************************/ +extern const bclass be_class_lv_wifi_arcs; +be_local_class(lv_wifi_arcs_icon, + 0, + &be_class_lv_wifi_arcs, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_arcs_icon_init_closure) }, + })), + be_str_weak(lv_wifi_arcs_icon) +); +// compact class 'lv_signal_bars' ktab size: 40, total: 49 (saved 72 bytes) +static const bvalue be_ktab_class_lv_signal_bars[40] = { + /* K0 */ be_nested_str_weak(percentage), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str_weak(invalidate), + /* K3 */ be_nested_str_weak(get_code), + /* K4 */ be_nested_str_weak(get_height), + /* K5 */ be_nested_str_weak(get_width), + /* K6 */ be_const_int(3), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(lv), + /* K9 */ be_nested_str_weak(EVENT_DRAW_MAIN), + /* K10 */ be_nested_str_weak(line_dsc), + /* K11 */ be_nested_str_weak(get_param), + /* K12 */ be_nested_str_weak(get_layer), + /* K13 */ be_nested_str_weak(get_coords), + /* K14 */ be_nested_str_weak(area), + /* K15 */ be_nested_str_weak(x1), + /* K16 */ be_nested_str_weak(y1), + /* K17 */ be_nested_str_weak(draw_line_dsc_init), + /* K18 */ be_nested_str_weak(init_draw_line_dsc), + /* K19 */ be_nested_str_weak(PART_MAIN), + /* K20 */ be_nested_str_weak(round_start), + /* K21 */ be_const_int(1), + /* K22 */ be_nested_str_weak(round_end), + /* K23 */ be_nested_str_weak(width), + /* K24 */ be_nested_str_weak(get_style_line_color), + /* K25 */ be_nested_str_weak(STATE_DEFAULT), + /* K26 */ be_nested_str_weak(get_style_bg_color), + /* K27 */ be_nested_str_weak(color), + /* K28 */ be_nested_str_weak(p1_y), + /* K29 */ be_nested_str_weak(p1_x), + /* K30 */ be_nested_str_weak(p2_y), + /* K31 */ be_nested_str_weak(p2_x), + /* K32 */ be_nested_str_weak(draw_line), + /* K33 */ be_nested_str_weak(stop_iteration), + /* K34 */ be_nested_str_weak(init), + /* K35 */ be_nested_str_weak(set_style_bg_opa), + /* K36 */ be_nested_str_weak(set_style_border_width), + /* K37 */ be_nested_str_weak(draw_line_dsc), + /* K38 */ be_nested_str_weak(add_event_cb), + /* K39 */ be_nested_str_weak(widget_event), +}; + + +extern const bclass be_class_lv_signal_bars; + +/******************************************************************** +** Solidified function: set_percentage +********************************************************************/ +be_local_closure(class_lv_signal_bars_set_percentage, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_bars, /* shared constants */ + be_str_weak(set_percentage), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x540E0013, // 0001 LDINT R3 20 + 0x0C080403, // 0002 DIV R2 R2 R3 + 0x540E0063, // 0003 LDINT R3 100 + 0x240C0203, // 0004 GT R3 R1 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x54060063, // 0006 LDINT R1 100 + 0x140C0301, // 0007 LT R3 R1 K1 + 0x780E0000, // 0008 JMPF R3 #000A + 0x58040001, // 0009 LDCONST R1 K1 + 0x90020001, // 000A SETMBR R0 K0 R1 + 0x540E0013, // 000B LDINT R3 20 + 0x0C0C0203, // 000C DIV R3 R1 R3 + 0x200C0403, // 000D NE R3 R2 R3 + 0x780E0001, // 000E JMPF R3 #0011 + 0x8C0C0102, // 000F GETMET R3 R0 K2 + 0x7C0C0200, // 0010 CALL R3 1 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_percentage +********************************************************************/ +be_local_closure(class_lv_signal_bars_get_percentage, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_bars, /* shared constants */ + be_str_weak(get_percentage), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: widget_event +********************************************************************/ +be_local_closure(class_lv_signal_bars_widget_event, /* name */ + be_nested_proto( + 22, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_int(1), + }), + be_str_weak(atleast1), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x28040100, // 0000 GE R1 R0 K0 + 0x78060001, // 0001 JMPF R1 #0004 + 0x80040000, // 0002 RET 1 R0 + 0x70020000, // 0003 JMP #0005 + 0x80060000, // 0004 RET 1 K0 + 0x80000000, // 0005 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lv_signal_bars, /* shared constants */ + be_str_weak(widget_event), + &be_const_str_solidified, + ( &(const binstruction[105]) { /* code */ + 0x8C080303, // 0000 GETMET R2 R1 K3 + 0x7C080200, // 0001 CALL R2 1 + 0x840C0000, // 0002 CLOSURE R3 P0 + 0x8C100104, // 0003 GETMET R4 R0 K4 + 0x7C100200, // 0004 CALL R4 1 + 0x8C140105, // 0005 GETMET R5 R0 K5 + 0x7C140200, // 0006 CALL R5 1 + 0x5C180600, // 0007 MOVE R6 R3 + 0x541E000E, // 0008 LDINT R7 15 + 0x0C1C0A07, // 0009 DIV R7 R5 R7 + 0x7C180200, // 000A CALL R6 1 + 0x5C1C0600, // 000B MOVE R7 R3 + 0x08200D06, // 000C MUL R8 R6 K6 + 0x04200A08, // 000D SUB R8 R5 R8 + 0x54260003, // 000E LDINT R9 4 + 0x0C201009, // 000F DIV R8 R8 R9 + 0x7C1C0200, // 0010 CALL R7 1 + 0x0C200F07, // 0011 DIV R8 R7 K7 + 0xB8261000, // 0012 GETNGBL R9 K8 + 0x88241309, // 0013 GETMBR R9 R9 K9 + 0x1C240409, // 0014 EQ R9 R2 R9 + 0x78260051, // 0015 JMPF R9 #0068 + 0x8824010A, // 0016 GETMBR R9 R0 K10 + 0x8C28030B, // 0017 GETMET R10 R1 K11 + 0x7C280200, // 0018 CALL R10 1 + 0x8C2C030C, // 0019 GETMET R11 R1 K12 + 0x7C2C0200, // 001A CALL R11 1 + 0x8C30010D, // 001B GETMET R12 R0 K13 + 0x8838010E, // 001C GETMBR R14 R0 K14 + 0x7C300400, // 001D CALL R12 2 + 0x8830010E, // 001E GETMBR R12 R0 K14 + 0x8830190F, // 001F GETMBR R12 R12 K15 + 0x8834010E, // 0020 GETMBR R13 R0 K14 + 0x88341B10, // 0021 GETMBR R13 R13 K16 + 0xB83A1000, // 0022 GETNGBL R14 K8 + 0x8C381D11, // 0023 GETMET R14 R14 K17 + 0x5C401200, // 0024 MOVE R16 R9 + 0x7C380400, // 0025 CALL R14 2 + 0x8C380112, // 0026 GETMET R14 R0 K18 + 0xB8421000, // 0027 GETNGBL R16 K8 + 0x88402113, // 0028 GETMBR R16 R16 K19 + 0x5C441200, // 0029 MOVE R17 R9 + 0x7C380600, // 002A CALL R14 3 + 0x90262915, // 002B SETMBR R9 K20 K21 + 0x90262D15, // 002C SETMBR R9 K22 K21 + 0x90262E07, // 002D SETMBR R9 K23 R7 + 0x8C380118, // 002E GETMET R14 R0 K24 + 0xB8421000, // 002F GETNGBL R16 K8 + 0x88402113, // 0030 GETMBR R16 R16 K19 + 0xB8461000, // 0031 GETNGBL R17 K8 + 0x88442319, // 0032 GETMBR R17 R17 K25 + 0x30402011, // 0033 OR R16 R16 R17 + 0x7C380400, // 0034 CALL R14 2 + 0x8C3C011A, // 0035 GETMET R15 R0 K26 + 0xB8461000, // 0036 GETNGBL R17 K8 + 0x88442313, // 0037 GETMBR R17 R17 K19 + 0xB84A1000, // 0038 GETNGBL R18 K8 + 0x88482519, // 0039 GETMBR R18 R18 K25 + 0x30442212, // 003A OR R17 R17 R18 + 0x7C3C0400, // 003B CALL R15 2 + 0x60400010, // 003C GETGBL R16 G16 + 0x40460306, // 003D CONNECT R17 K1 K6 + 0x7C400200, // 003E CALL R16 1 + 0xA8020024, // 003F EXBLK 0 #0065 + 0x5C442000, // 0040 MOVE R17 R16 + 0x7C440000, // 0041 CALL R17 0 + 0x88480100, // 0042 GETMBR R18 R0 K0 + 0x004C2315, // 0043 ADD R19 R17 K21 + 0x54520013, // 0044 LDINT R20 20 + 0x084C2614, // 0045 MUL R19 R19 R20 + 0x28482413, // 0046 GE R18 R18 R19 + 0x784A0001, // 0047 JMPF R18 #004A + 0x5C481C00, // 0048 MOVE R18 R14 + 0x70020000, // 0049 JMP #004B + 0x5C481E00, // 004A MOVE R18 R15 + 0x90263612, // 004B SETMBR R9 K27 R18 + 0x00481A04, // 004C ADD R18 R13 R4 + 0x04482515, // 004D SUB R18 R18 K21 + 0x04482408, // 004E SUB R18 R18 R8 + 0x90263812, // 004F SETMBR R9 K28 R18 + 0x00480E06, // 0050 ADD R18 R7 R6 + 0x08482212, // 0051 MUL R18 R17 R18 + 0x00481812, // 0052 ADD R18 R12 R18 + 0x00482408, // 0053 ADD R18 R18 R8 + 0x90263A12, // 0054 SETMBR R9 K29 R18 + 0x044A0C11, // 0055 SUB R18 K6 R17 + 0x044C0807, // 0056 SUB R19 R4 R7 + 0x08482413, // 0057 MUL R18 R18 R19 + 0x544E0003, // 0058 LDINT R19 4 + 0x0C482413, // 0059 DIV R18 R18 R19 + 0x00481A12, // 005A ADD R18 R13 R18 + 0x00482408, // 005B ADD R18 R18 R8 + 0x90263C12, // 005C SETMBR R9 K30 R18 + 0x8848131D, // 005D GETMBR R18 R9 K29 + 0x90263E12, // 005E SETMBR R9 K31 R18 + 0xB84A1000, // 005F GETNGBL R18 K8 + 0x8C482520, // 0060 GETMET R18 R18 K32 + 0x5C501600, // 0061 MOVE R20 R11 + 0x5C541200, // 0062 MOVE R21 R9 + 0x7C480600, // 0063 CALL R18 3 + 0x7001FFDA, // 0064 JMP #0040 + 0x58400021, // 0065 LDCONST R16 K33 + 0xAC400200, // 0066 CATCH R16 1 0 + 0xB0080000, // 0067 RAISE 2 R0 R0 + 0x80000000, // 0068 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_signal_bars_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_signal_bars, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080522, // 0003 GETMET R2 R2 K34 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080123, // 0006 GETMET R2 R0 K35 + 0x58100001, // 0007 LDCONST R4 K1 + 0x58140001, // 0008 LDCONST R5 K1 + 0x7C080600, // 0009 CALL R2 3 + 0x8C080124, // 000A GETMET R2 R0 K36 + 0x58100001, // 000B LDCONST R4 K1 + 0x58140001, // 000C LDCONST R5 K1 + 0x7C080600, // 000D CALL R2 3 + 0x540A0063, // 000E LDINT R2 100 + 0x90020002, // 000F SETMBR R0 K0 R2 + 0xB80A1000, // 0010 GETNGBL R2 K8 + 0x8C08050E, // 0011 GETMET R2 R2 K14 + 0x7C080200, // 0012 CALL R2 1 + 0x90021C02, // 0013 SETMBR R0 K14 R2 + 0xB80A1000, // 0014 GETNGBL R2 K8 + 0x8C080525, // 0015 GETMET R2 R2 K37 + 0x7C080200, // 0016 CALL R2 1 + 0x90021402, // 0017 SETMBR R0 K10 R2 + 0x8C080126, // 0018 GETMET R2 R0 K38 + 0x88100127, // 0019 GETMBR R4 R0 K39 + 0xB8161000, // 001A GETNGBL R5 K8 + 0x88140B09, // 001B GETMBR R5 R5 K9 + 0x58180001, // 001C LDCONST R6 K1 + 0x7C080800, // 001D CALL R2 4 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_signal_bars +********************************************************************/ +extern const bclass be_class_lv_obj; +be_local_class(lv_signal_bars, + 3, + &be_class_lv_obj, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_percentage, 3), be_const_closure(class_lv_signal_bars_set_percentage_closure) }, + { be_const_key_weak(get_percentage, -1), be_const_closure(class_lv_signal_bars_get_percentage_closure) }, + { be_const_key_weak(percentage, -1), be_const_var(0) }, + { be_const_key_weak(area, 6), be_const_var(1) }, + { be_const_key_weak(line_dsc, 2), be_const_var(2) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_signal_bars_init_closure) }, + { be_const_key_weak(widget_event, -1), be_const_closure(class_lv_signal_bars_widget_event_closure) }, + })), + be_str_weak(lv_signal_bars) +); +// compact class 'lv_wifi_bars' ktab size: 10, total: 14 (saved 32 bytes) +static const bvalue be_ktab_class_lv_wifi_bars[10] = { + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(remove_driver), + /* K2 */ be_nested_str_weak(init), + /* K3 */ be_nested_str_weak(add_driver), + /* K4 */ be_nested_str_weak(set_percentage), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(wifi), + /* K7 */ be_nested_str_weak(find), + /* K8 */ be_nested_str_weak(quality), + /* K9 */ be_nested_str_weak(ip), +}; + + +extern const bclass be_class_lv_wifi_bars; + +/******************************************************************** +** Solidified function: before_del +********************************************************************/ +be_local_closure(class_lv_wifi_bars_before_del, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_bars, /* shared constants */ + be_str_weak(before_del), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_wifi_bars_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_bars, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0xB80A0000, // 0006 GETNGBL R2 K0 + 0x8C080503, // 0007 GETMET R2 R2 K3 + 0x5C100000, // 0008 MOVE R4 R0 + 0x7C080400, // 0009 CALL R2 2 + 0x8C080104, // 000A GETMET R2 R0 K4 + 0x58100005, // 000B LDCONST R4 K5 + 0x7C080400, // 000C CALL R2 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(class_lv_wifi_bars_every_second, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lv_wifi_bars, /* shared constants */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040306, // 0001 GETMET R1 R1 K6 + 0x7C040200, // 0002 CALL R1 1 + 0x8C080307, // 0003 GETMET R2 R1 K7 + 0x58100008, // 0004 LDCONST R4 K8 + 0x7C080400, // 0005 CALL R2 2 + 0x8C0C0307, // 0006 GETMET R3 R1 K7 + 0x58140009, // 0007 LDCONST R5 K9 + 0x7C0C0400, // 0008 CALL R3 2 + 0x4C100000, // 0009 LDNIL R4 + 0x1C100604, // 000A EQ R4 R3 R4 + 0x78120003, // 000B JMPF R4 #0010 + 0x8C100104, // 000C GETMET R4 R0 K4 + 0x58180005, // 000D LDCONST R6 K5 + 0x7C100400, // 000E CALL R4 2 + 0x70020005, // 000F JMP #0016 + 0x4C100000, // 0010 LDNIL R4 + 0x20100404, // 0011 NE R4 R2 R4 + 0x78120002, // 0012 JMPF R4 #0016 + 0x8C100104, // 0013 GETMET R4 R0 K4 + 0x5C180400, // 0014 MOVE R6 R2 + 0x7C100400, // 0015 CALL R4 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_wifi_bars +********************************************************************/ +extern const bclass be_class_lv_signal_bars; +be_local_class(lv_wifi_bars, + 0, + &be_class_lv_signal_bars, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(before_del, 1), be_const_closure(class_lv_wifi_bars_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(class_lv_wifi_bars_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_bars_init_closure) }, + })), + be_str_weak(lv_wifi_bars) +); + +extern const bclass be_class_lv_wifi_bars_icon; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_wifi_bars_icon_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[17]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(set_style_line_color), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(color), + /* K4 */ be_nested_str_weak(COLOR_WHITE), + /* K5 */ be_nested_str_weak(PART_MAIN), + /* K6 */ be_nested_str_weak(STATE_DEFAULT), + /* K7 */ be_nested_str_weak(set_style_bg_color), + /* K8 */ be_nested_str_weak(COLOR_BLACK), + /* K9 */ be_nested_str_weak(get_height), + /* K10 */ be_nested_str_weak(get_style_pad_right), + /* K11 */ be_nested_str_weak(set_height), + /* K12 */ be_nested_str_weak(set_width), + /* K13 */ be_nested_str_weak(set_x), + /* K14 */ be_nested_str_weak(get_width), + /* K15 */ be_nested_str_weak(set_style_pad_right), + /* K16 */ be_const_int(1), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[64]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0xB8120400, // 0007 GETNGBL R4 K2 + 0x8C100903, // 0008 GETMET R4 R4 K3 + 0xB81A0400, // 0009 GETNGBL R6 K2 + 0x88180D04, // 000A GETMBR R6 R6 K4 + 0x7C100400, // 000B CALL R4 2 + 0xB8160400, // 000C GETNGBL R5 K2 + 0x88140B05, // 000D GETMBR R5 R5 K5 + 0xB81A0400, // 000E GETNGBL R6 K2 + 0x88180D06, // 000F GETMBR R6 R6 K6 + 0x30140A06, // 0010 OR R5 R5 R6 + 0x7C080600, // 0011 CALL R2 3 + 0x8C080107, // 0012 GETMET R2 R0 K7 + 0xB8120400, // 0013 GETNGBL R4 K2 + 0x8C100903, // 0014 GETMET R4 R4 K3 + 0xB81A0400, // 0015 GETNGBL R6 K2 + 0x88180D08, // 0016 GETMBR R6 R6 K8 + 0x7C100400, // 0017 CALL R4 2 + 0xB8160400, // 0018 GETNGBL R5 K2 + 0x88140B05, // 0019 GETMBR R5 R5 K5 + 0xB81A0400, // 001A GETNGBL R6 K2 + 0x88180D06, // 001B GETMBR R6 R6 K6 + 0x30140A06, // 001C OR R5 R5 R6 + 0x7C080600, // 001D CALL R2 3 + 0x4C080000, // 001E LDNIL R2 + 0x20080202, // 001F NE R2 R1 R2 + 0x780A001D, // 0020 JMPF R2 #003F + 0x8C080309, // 0021 GETMET R2 R1 K9 + 0x7C080200, // 0022 CALL R2 1 + 0x8C0C030A, // 0023 GETMET R3 R1 K10 + 0xB8160400, // 0024 GETNGBL R5 K2 + 0x88140B05, // 0025 GETMBR R5 R5 K5 + 0xB81A0400, // 0026 GETNGBL R6 K2 + 0x88180D06, // 0027 GETMBR R6 R6 K6 + 0x30140A06, // 0028 OR R5 R5 R6 + 0x7C0C0400, // 0029 CALL R3 2 + 0x8C10010B, // 002A GETMET R4 R0 K11 + 0x5C180400, // 002B MOVE R6 R2 + 0x7C100400, // 002C CALL R4 2 + 0x8C10010C, // 002D GETMET R4 R0 K12 + 0x5C180400, // 002E MOVE R6 R2 + 0x7C100400, // 002F CALL R4 2 + 0x8C10010D, // 0030 GETMET R4 R0 K13 + 0x8C18030E, // 0031 GETMET R6 R1 K14 + 0x7C180200, // 0032 CALL R6 1 + 0x04180C02, // 0033 SUB R6 R6 R2 + 0x04180C03, // 0034 SUB R6 R6 R3 + 0x7C100400, // 0035 CALL R4 2 + 0x8C10030F, // 0036 GETMET R4 R1 K15 + 0x00180602, // 0037 ADD R6 R3 R2 + 0x00180D10, // 0038 ADD R6 R6 K16 + 0xB81E0400, // 0039 GETNGBL R7 K2 + 0x881C0F05, // 003A GETMBR R7 R7 K5 + 0xB8220400, // 003B GETNGBL R8 K2 + 0x88201106, // 003C GETMBR R8 R8 K6 + 0x301C0E08, // 003D OR R7 R7 R8 + 0x7C100600, // 003E CALL R4 3 + 0x80000000, // 003F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_wifi_bars_icon +********************************************************************/ +extern const bclass be_class_lv_wifi_bars; +be_local_class(lv_wifi_bars_icon, + 0, + &be_class_lv_wifi_bars, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_bars_icon_init_closure) }, + })), + be_str_weak(lv_wifi_bars_icon) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_mqtt.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_mqtt.h new file mode 100644 index 000000000..a1d6a85b3 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_mqtt.h @@ -0,0 +1,558 @@ +/* Solidification of mqtt.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_mqtt_listener; +// compact class 'mqtt_listener' ktab size: 11, total: 17 (saved 48 bytes) +static const bvalue be_ktab_class_mqtt_listener[11] = { + /* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X27_X25s_X27_X29_X3E), + /* K1 */ be_nested_str(fulltopic), + /* K2 */ be_nested_str(string), + /* K3 */ be_nested_str(topic), + /* K4 */ be_nested_str(split), + /* K5 */ be_nested_str(_X2F), + /* K6 */ be_nested_str(closure), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str(_X23), + /* K9 */ be_nested_str(_X2B), + /* K10 */ be_const_int(1), +}; + + +extern const bclass be_class_mqtt_listener; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_mqtt_listener_tostring, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_mqtt_listener, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60040018, // 0000 GETGBL R1 G24 + 0x58080000, // 0001 LDCONST R2 K0 + 0x600C0005, // 0002 GETGBL R3 G5 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x88100101, // 0005 GETMBR R4 R0 K1 + 0x7C040600, // 0006 CALL R1 3 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_mqtt_listener_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_mqtt_listener, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xA40E0400, // 0000 IMPORT R3 K2 + 0x90020201, // 0001 SETMBR R0 K1 R1 + 0x8C100704, // 0002 GETMET R4 R3 K4 + 0x5C180200, // 0003 MOVE R6 R1 + 0x581C0005, // 0004 LDCONST R7 K5 + 0x7C100600, // 0005 CALL R4 3 + 0x90020604, // 0006 SETMBR R0 K3 R4 + 0x90020C02, // 0007 SETMBR R0 K6 R2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mqtt_data +********************************************************************/ +be_local_closure(class_mqtt_listener_mqtt_data, /* name */ + be_nested_proto( + 17, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_mqtt_listener, /* shared constants */ + &be_const_str_mqtt_data, + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0xA4160400, // 0000 IMPORT R5 K2 + 0x8C180B04, // 0001 GETMET R6 R5 K4 + 0x5C200200, // 0002 MOVE R8 R1 + 0x58240005, // 0003 LDCONST R9 K5 + 0x7C180600, // 0004 CALL R6 3 + 0x601C000C, // 0005 GETGBL R7 G12 + 0x5C200C00, // 0006 MOVE R8 R6 + 0x7C1C0200, // 0007 CALL R7 1 + 0x88200103, // 0008 GETMBR R8 R0 K3 + 0x6024000C, // 0009 GETGBL R9 G12 + 0x5C281000, // 000A MOVE R10 R8 + 0x7C240200, // 000B CALL R9 1 + 0x58280007, // 000C LDCONST R10 K7 + 0x142C1409, // 000D LT R11 R10 R9 + 0x782E0013, // 000E JMPF R11 #0023 + 0x942C100A, // 000F GETIDX R11 R8 R10 + 0x1C301708, // 0010 EQ R12 R11 K8 + 0x78320001, // 0011 JMPF R12 #0014 + 0x7002000F, // 0012 JMP #0023 + 0x7002000C, // 0013 JMP #0021 + 0x28301407, // 0014 GE R12 R10 R7 + 0x78320002, // 0015 JMPF R12 #0019 + 0x50300000, // 0016 LDBOOL R12 0 0 + 0x80041800, // 0017 RET 1 R12 + 0x70020007, // 0018 JMP #0021 + 0x1C301709, // 0019 EQ R12 R11 K9 + 0x78320000, // 001A JMPF R12 #001C + 0x70020004, // 001B JMP #0021 + 0x94300C0A, // 001C GETIDX R12 R6 R10 + 0x2030160C, // 001D NE R12 R11 R12 + 0x78320001, // 001E JMPF R12 #0021 + 0x50300000, // 001F LDBOOL R12 0 0 + 0x80041800, // 0020 RET 1 R12 + 0x0028150A, // 0021 ADD R10 R10 K10 + 0x7001FFE9, // 0022 JMP #000D + 0x282C1409, // 0023 GE R11 R10 R9 + 0x782E0003, // 0024 JMPF R11 #0029 + 0x202C1207, // 0025 NE R11 R9 R7 + 0x782E0001, // 0026 JMPF R11 #0029 + 0x502C0000, // 0027 LDBOOL R11 0 0 + 0x80041600, // 0028 RET 1 R11 + 0x882C0106, // 0029 GETMBR R11 R0 K6 + 0x5C301600, // 002A MOVE R12 R11 + 0x5C340200, // 002B MOVE R13 R1 + 0x5C380400, // 002C MOVE R14 R2 + 0x5C3C0600, // 002D MOVE R15 R3 + 0x5C400800, // 002E MOVE R16 R4 + 0x7C300800, // 002F CALL R12 4 + 0x4C340000, // 0030 LDNIL R13 + 0x1C34180D, // 0031 EQ R13 R12 R13 + 0x78360000, // 0032 JMPF R13 #0034 + 0x50300200, // 0033 LDBOOL R12 1 0 + 0x80041800, // 0034 RET 1 R12 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: mqtt_listener +********************************************************************/ +be_local_class(mqtt_listener, + 3, + NULL, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(mqtt_data, -1), be_const_closure(class_mqtt_listener_mqtt_data_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_mqtt_listener_tostring_closure) }, + { be_const_key(topic, -1), be_const_var(0) }, + { be_const_key(init, -1), be_const_closure(class_mqtt_listener_init_closure) }, + { be_const_key(closure, 0), be_const_var(2) }, + { be_const_key(fulltopic, -1), be_const_var(1) }, + })), + (bstring*) &be_const_str_mqtt_listener +); +// compact class 'MQTT' ktab size: 23, total: 35 (saved 96 bytes) +static const bvalue be_ktab_class_MQTT[23] = { + /* K0 */ be_nested_str(topics), + /* K1 */ be_nested_str(closure), + /* K2 */ be_nested_str(mqtt_data), + /* K3 */ be_nested_str(stop_iteration), + /* K4 */ be_nested_str(tasmota), + /* K5 */ be_nested_str(add_driver), + /* K6 */ be_nested_str(add_rule), + /* K7 */ be_nested_str(Mqtt_X23Connected), + /* K8 */ be_const_int(0), + /* K9 */ be_nested_str(fulltopic), + /* K10 */ be_nested_str(_unsubscribe), + /* K11 */ be_nested_str(remove), + /* K12 */ be_const_int(1), + /* K13 */ be_nested_str(log), + /* K14 */ be_nested_str(BRY_X3A_X20mqtt_X20subscribe_X20all_X20registered_X20topics), + /* K15 */ be_const_int(3), + /* K16 */ be_nested_str(_subscribe), + /* K17 */ be_const_class(be_class_mqtt_listener), + /* K18 */ be_nested_str(lazy_init), + /* K19 */ be_nested_str(mqtt_listener_class), + /* K20 */ be_nested_str(function), + /* K21 */ be_nested_str(check_not_method), + /* K22 */ be_nested_str(push), +}; + + +extern const bclass be_class_MQTT; + +/******************************************************************** +** Solidified function: mqtt_data +********************************************************************/ +be_local_closure(class_MQTT_mqtt_data, /* name */ + be_nested_proto( + 14, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_mqtt_data, + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x88140100, // 0000 GETMBR R5 R0 K0 + 0x4C180000, // 0001 LDNIL R6 + 0x1C140A06, // 0002 EQ R5 R5 R6 + 0x78160000, // 0003 JMPF R5 #0005 + 0x80000A00, // 0004 RET 0 + 0x50140000, // 0005 LDBOOL R5 0 0 + 0x60180010, // 0006 GETGBL R6 G16 + 0x881C0100, // 0007 GETMBR R7 R0 K0 + 0x7C180200, // 0008 CALL R6 1 + 0xA8020010, // 0009 EXBLK 0 #001B + 0x5C1C0C00, // 000A MOVE R7 R6 + 0x7C1C0000, // 000B CALL R7 0 + 0x88200F01, // 000C GETMBR R8 R7 K1 + 0x4C240000, // 000D LDNIL R9 + 0x20201009, // 000E NE R8 R8 R9 + 0x78220009, // 000F JMPF R8 #001A + 0x8C200F02, // 0010 GETMET R8 R7 K2 + 0x5C280200, // 0011 MOVE R10 R1 + 0x5C2C0400, // 0012 MOVE R11 R2 + 0x5C300600, // 0013 MOVE R12 R3 + 0x5C340800, // 0014 MOVE R13 R4 + 0x7C200A00, // 0015 CALL R8 5 + 0x74160001, // 0016 JMPT R5 #0019 + 0x74220000, // 0017 JMPT R8 #0019 + 0x50140001, // 0018 LDBOOL R5 0 1 + 0x50140200, // 0019 LDBOOL R5 1 0 + 0x7001FFEE, // 001A JMP #000A + 0x58180003, // 001B LDCONST R6 K3 + 0xAC180200, // 001C CATCH R6 1 0 + 0xB0080000, // 001D RAISE 2 R0 R0 + 0x80040A00, // 001E RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: lazy_init +********************************************************************/ +be_local_closure(class_MQTT_lazy_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(mqtt_connect), + }), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_lazy_init, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x7806000B, // 0003 JMPF R1 #0010 + 0x60040012, // 0004 GETGBL R1 G18 + 0x7C040000, // 0005 CALL R1 0 + 0x90020001, // 0006 SETMBR R0 K0 R1 + 0xB8060800, // 0007 GETNGBL R1 K4 + 0x8C040305, // 0008 GETMET R1 R1 K5 + 0x5C0C0000, // 0009 MOVE R3 R0 + 0x7C040400, // 000A CALL R1 2 + 0xB8060800, // 000B GETNGBL R1 K4 + 0x8C040306, // 000C GETMET R1 R1 K6 + 0x580C0007, // 000D LDCONST R3 K7 + 0x84100000, // 000E CLOSURE R4 P0 + 0x7C040600, // 000F CALL R1 3 + 0xA0000000, // 0010 CLOSE R0 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: unsubscribe +********************************************************************/ +be_local_closure(class_MQTT_unsubscribe, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_unsubscribe, + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x80000400, // 0004 RET 0 + 0x58080008, // 0005 LDCONST R2 K8 + 0x600C000C, // 0006 GETGBL R3 G12 + 0x88100100, // 0007 GETMBR R4 R0 K0 + 0x7C0C0200, // 0008 CALL R3 1 + 0x140C0403, // 0009 LT R3 R2 R3 + 0x780E0016, // 000A JMPF R3 #0022 + 0x4C0C0000, // 000B LDNIL R3 + 0x1C0C0203, // 000C EQ R3 R1 R3 + 0x740E0004, // 000D JMPT R3 #0013 + 0x880C0100, // 000E GETMBR R3 R0 K0 + 0x940C0602, // 000F GETIDX R3 R3 R2 + 0x880C0709, // 0010 GETMBR R3 R3 K9 + 0x1C0C0601, // 0011 EQ R3 R3 R1 + 0x780E000C, // 0012 JMPF R3 #0020 + 0x4C0C0000, // 0013 LDNIL R3 + 0x1C0C0203, // 0014 EQ R3 R1 R3 + 0x780E0004, // 0015 JMPF R3 #001B + 0x8C0C010A, // 0016 GETMET R3 R0 K10 + 0x88140100, // 0017 GETMBR R5 R0 K0 + 0x94140A02, // 0018 GETIDX R5 R5 R2 + 0x88140B09, // 0019 GETMBR R5 R5 K9 + 0x7C0C0400, // 001A CALL R3 2 + 0x880C0100, // 001B GETMBR R3 R0 K0 + 0x8C0C070B, // 001C GETMET R3 R3 K11 + 0x5C140400, // 001D MOVE R5 R2 + 0x7C0C0400, // 001E CALL R3 2 + 0x70020000, // 001F JMP #0021 + 0x0008050C, // 0020 ADD R2 R2 K12 + 0x7001FFE3, // 0021 JMP #0006 + 0x4C0C0000, // 0022 LDNIL R3 + 0x200C0203, // 0023 NE R3 R1 R3 + 0x780E0002, // 0024 JMPF R3 #0028 + 0x8C0C010A, // 0025 GETMET R3 R0 K10 + 0x5C140200, // 0026 MOVE R5 R1 + 0x7C0C0400, // 0027 CALL R3 2 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mqtt_connect +********************************************************************/ +be_local_closure(class_MQTT_mqtt_connect, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_mqtt_connect, + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0xB8060800, // 0000 GETNGBL R1 K4 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x580C000E, // 0002 LDCONST R3 K14 + 0x5810000F, // 0003 LDCONST R4 K15 + 0x7C040600, // 0004 CALL R1 3 + 0x60040010, // 0005 GETGBL R1 G16 + 0x88080100, // 0006 GETMBR R2 R0 K0 + 0x7C040200, // 0007 CALL R1 1 + 0xA8020006, // 0008 EXBLK 0 #0010 + 0x5C080200, // 0009 MOVE R2 R1 + 0x7C080000, // 000A CALL R2 0 + 0x880C0509, // 000B GETMBR R3 R2 K9 + 0x8C100110, // 000C GETMET R4 R0 K16 + 0x5C180600, // 000D MOVE R6 R3 + 0x7C100400, // 000E CALL R4 2 + 0x7001FFF8, // 000F JMP #0009 + 0x58040003, // 0010 LDCONST R1 K3 + 0xAC040200, // 0011 CATCH R1 1 0 + 0xB0080000, // 0012 RAISE 2 R0 R0 + 0x50040000, // 0013 LDBOOL R1 0 0 + 0x80040200, // 0014 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: mqtt_listener_class +********************************************************************/ +be_local_closure(class_MQTT_mqtt_listener_class, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_mqtt_listener_class, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x58040011, // 0000 LDCONST R1 K17 + 0xB4000011, // 0001 CLASS K17 + 0x5C080200, // 0002 MOVE R2 R1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subscribe +********************************************************************/ +be_local_closure(class_MQTT_subscribe, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_MQTT, /* shared constants */ + &be_const_str_subscribe, + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0x8C0C0112, // 0000 GETMET R3 R0 K18 + 0x7C0C0200, // 0001 CALL R3 1 + 0x500C0000, // 0002 LDBOOL R3 0 0 + 0x60100010, // 0003 GETGBL R4 G16 + 0x88140100, // 0004 GETMBR R5 R0 K0 + 0x7C100200, // 0005 CALL R4 1 + 0xA802000A, // 0006 EXBLK 0 #0012 + 0x5C140800, // 0007 MOVE R5 R4 + 0x7C140000, // 0008 CALL R5 0 + 0x88180B09, // 0009 GETMBR R6 R5 K9 + 0x1C180C01, // 000A EQ R6 R6 R1 + 0x781A0004, // 000B JMPF R6 #0011 + 0x88180B01, // 000C GETMBR R6 R5 K1 + 0x1C180C02, // 000D EQ R6 R6 R2 + 0x781A0001, // 000E JMPF R6 #0011 + 0xA8040001, // 000F EXBLK 1 1 + 0x80000C00, // 0010 RET 0 + 0x7001FFF4, // 0011 JMP #0007 + 0x58100003, // 0012 LDCONST R4 K3 + 0xAC100200, // 0013 CATCH R4 1 0 + 0xB0080000, // 0014 RAISE 2 R0 R0 + 0x8C100113, // 0015 GETMET R4 R0 K19 + 0x7C100200, // 0016 CALL R4 1 + 0x60140004, // 0017 GETGBL R5 G4 + 0x5C180400, // 0018 MOVE R6 R2 + 0x7C140200, // 0019 CALL R5 1 + 0x1C140B14, // 001A EQ R5 R5 K20 + 0x7816000B, // 001B JMPF R5 #0028 + 0xB8160800, // 001C GETNGBL R5 K4 + 0x8C140B15, // 001D GETMET R5 R5 K21 + 0x5C1C0400, // 001E MOVE R7 R2 + 0x7C140400, // 001F CALL R5 2 + 0x88140100, // 0020 GETMBR R5 R0 K0 + 0x8C140B16, // 0021 GETMET R5 R5 K22 + 0x5C1C0800, // 0022 MOVE R7 R4 + 0x5C200200, // 0023 MOVE R8 R1 + 0x5C240400, // 0024 MOVE R9 R2 + 0x7C1C0400, // 0025 CALL R7 2 + 0x7C140400, // 0026 CALL R5 2 + 0x70020005, // 0027 JMP #002E + 0x88140100, // 0028 GETMBR R5 R0 K0 + 0x8C140B16, // 0029 GETMET R5 R5 K22 + 0x5C1C0800, // 002A MOVE R7 R4 + 0x5C200200, // 002B MOVE R8 R1 + 0x7C1C0200, // 002C CALL R7 1 + 0x7C140400, // 002D CALL R5 2 + 0x8C140110, // 002E GETMET R5 R0 K16 + 0x5C1C0200, // 002F MOVE R7 R1 + 0x7C140400, // 0030 CALL R5 2 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: MQTT +********************************************************************/ +extern const bclass be_class_MQTT_ntv; +be_local_class(MQTT, + 1, + &be_class_MQTT_ntv, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(mqtt_connect, -1), be_const_closure(class_MQTT_mqtt_connect_closure) }, + { be_const_key(mqtt_data, -1), be_const_closure(class_MQTT_mqtt_data_closure) }, + { be_const_key(lazy_init, -1), be_const_closure(class_MQTT_lazy_init_closure) }, + { be_const_key(unsubscribe, -1), be_const_closure(class_MQTT_unsubscribe_closure) }, + { be_const_key(topics, 0), be_const_var(0) }, + { be_const_key(mqtt_listener_class, -1), be_const_closure(class_MQTT_mqtt_listener_class_closure) }, + { be_const_key(subscribe, -1), be_const_closure(class_MQTT_subscribe_closure) }, + })), + (bstring*) &be_const_str_MQTT +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core.h new file mode 100644 index 000000000..a3fdf5e99 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core.h @@ -0,0 +1,2279 @@ +/* Solidification of partition_core.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Partition_otadata; +// compact class 'Partition_otadata' ktab size: 24, total: 52 (saved 224 bytes) +static const bvalue be_ktab_class_Partition_otadata[24] = { + /* K0 */ be_nested_str(flash), + /* K1 */ be_nested_str(seq0), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str(seq1), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str(offset), + /* K6 */ be_nested_str(add), + /* K7 */ be_nested_str(FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + /* K8 */ be_nested_str(crc32_ota_seq), + /* K9 */ be_nested_str(erase), + /* K10 */ be_nested_str(write), + /* K11 */ be_nested_str(_X3Cinstance_X3A_X20Partition_otadata_X28ota_active_X3A_X25s_X2C_X20ota_seq_X3D_X5B_X25d_X2C_X25d_X5D_X2C_X20ota_max_X3D_X25d_X29_X3E), + /* K12 */ be_nested_str(active_otadata), + /* K13 */ be_nested_str(ota_), + /* K14 */ be_nested_str(factory), + /* K15 */ be_nested_str(maxota), + /* K16 */ be_nested_str(has_factory), + /* K17 */ be_nested_str(read), + /* K18 */ be_nested_str(get), + /* K19 */ be_nested_str(_validate), + /* K20 */ be_const_class(be_class_Partition_otadata), + /* K21 */ be_nested_str(crc), + /* K22 */ be_nested_str(crc32), + /* K23 */ be_nested_str(load), +}; + + +extern const bclass be_class_Partition_otadata; + +/******************************************************************** +** Solidified function: save +********************************************************************/ +be_local_closure(class_Partition_otadata_save, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_save, + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x5409FFFE, // 0001 LDINT R2 -1 + 0x540DFFFE, // 0002 LDINT R3 -1 + 0x88100101, // 0003 GETMBR R4 R0 K1 + 0x4C140000, // 0004 LDNIL R5 + 0x20100805, // 0005 NE R4 R4 R5 + 0x78120001, // 0006 JMPF R4 #0009 + 0x880C0101, // 0007 GETMBR R3 R0 K1 + 0x58080002, // 0008 LDCONST R2 K2 + 0x88100103, // 0009 GETMBR R4 R0 K3 + 0x4C140000, // 000A LDNIL R5 + 0x20100805, // 000B NE R4 R4 R5 + 0x78120004, // 000C JMPF R4 #0012 + 0x88100103, // 000D GETMBR R4 R0 K3 + 0x24100803, // 000E GT R4 R4 R3 + 0x78120001, // 000F JMPF R4 #0012 + 0x880C0103, // 0010 GETMBR R3 R0 K3 + 0x58080004, // 0011 LDCONST R2 K4 + 0x14100502, // 0012 LT R4 R2 K2 + 0x78120000, // 0013 JMPF R4 #0015 + 0x58080002, // 0014 LDCONST R2 K2 + 0x14100702, // 0015 LT R4 R3 K2 + 0x78120000, // 0016 JMPF R4 #0018 + 0x580C0004, // 0017 LDCONST R3 K4 + 0x88100105, // 0018 GETMBR R4 R0 K5 + 0x54160FFF, // 0019 LDINT R5 4096 + 0x08140A02, // 001A MUL R5 R5 R2 + 0x00100805, // 001B ADD R4 R4 R5 + 0x60140015, // 001C GETGBL R5 G21 + 0x7C140000, // 001D CALL R5 0 + 0x8C180B06, // 001E GETMET R6 R5 K6 + 0x5C200600, // 001F MOVE R8 R3 + 0x54260003, // 0020 LDINT R9 4 + 0x7C180600, // 0021 CALL R6 3 + 0x60180015, // 0022 GETGBL R6 G21 + 0x581C0007, // 0023 LDCONST R7 K7 + 0x7C180200, // 0024 CALL R6 1 + 0x00140A06, // 0025 ADD R5 R5 R6 + 0x8C180B06, // 0026 GETMET R6 R5 K6 + 0x8C200108, // 0027 GETMET R8 R0 K8 + 0x5C280600, // 0028 MOVE R10 R3 + 0x7C200400, // 0029 CALL R8 2 + 0x54260003, // 002A LDINT R9 4 + 0x7C180600, // 002B CALL R6 3 + 0x8C180309, // 002C GETMET R6 R1 K9 + 0x5C200800, // 002D MOVE R8 R4 + 0x54260FFF, // 002E LDINT R9 4096 + 0x7C180600, // 002F CALL R6 3 + 0x8C18030A, // 0030 GETMET R6 R1 K10 + 0x5C200800, // 0031 MOVE R8 R4 + 0x5C240A00, // 0032 MOVE R9 R5 + 0x7C180600, // 0033 CALL R6 3 + 0x80000000, // 0034 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Partition_otadata_tostring, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60040018, // 0000 GETGBL R1 G24 + 0x5808000B, // 0001 LDCONST R2 K11 + 0x880C010C, // 0002 GETMBR R3 R0 K12 + 0x280C0702, // 0003 GE R3 R3 K2 + 0x780E0004, // 0004 JMPF R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x8810010C, // 0006 GETMBR R4 R0 K12 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E1A03, // 0008 ADD R3 K13 R3 + 0x70020000, // 0009 JMP #000B + 0x580C000E, // 000A LDCONST R3 K14 + 0x88100101, // 000B GETMBR R4 R0 K1 + 0x88140103, // 000C GETMBR R5 R0 K3 + 0x8818010F, // 000D GETMBR R6 R0 K15 + 0x7C040A00, // 000E CALL R1 5 + 0x80040200, // 000F RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _validate +********************************************************************/ +be_local_closure(class_Partition_otadata__validate, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str__validate, + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x88040110, // 0000 GETMBR R1 R0 K16 + 0x78060001, // 0001 JMPF R1 #0004 + 0x5405FFFE, // 0002 LDINT R1 -1 + 0x70020000, // 0003 JMP #0005 + 0x58040002, // 0004 LDCONST R1 K2 + 0x90021801, // 0005 SETMBR R0 K12 R1 + 0x88040101, // 0006 GETMBR R1 R0 K1 + 0x4C080000, // 0007 LDNIL R2 + 0x20040202, // 0008 NE R1 R1 R2 + 0x78060005, // 0009 JMPF R1 #0010 + 0x88040101, // 000A GETMBR R1 R0 K1 + 0x04040304, // 000B SUB R1 R1 K4 + 0x8808010F, // 000C GETMBR R2 R0 K15 + 0x00080504, // 000D ADD R2 R2 K4 + 0x10040202, // 000E MOD R1 R1 R2 + 0x90021801, // 000F SETMBR R0 K12 R1 + 0x88040103, // 0010 GETMBR R1 R0 K3 + 0x4C080000, // 0011 LDNIL R2 + 0x20040202, // 0012 NE R1 R1 R2 + 0x7806000D, // 0013 JMPF R1 #0022 + 0x88040101, // 0014 GETMBR R1 R0 K1 + 0x4C080000, // 0015 LDNIL R2 + 0x1C040202, // 0016 EQ R1 R1 R2 + 0x74060003, // 0017 JMPT R1 #001C + 0x88040103, // 0018 GETMBR R1 R0 K3 + 0x88080101, // 0019 GETMBR R2 R0 K1 + 0x24040202, // 001A GT R1 R1 R2 + 0x78060005, // 001B JMPF R1 #0022 + 0x88040103, // 001C GETMBR R1 R0 K3 + 0x04040304, // 001D SUB R1 R1 K4 + 0x8808010F, // 001E GETMBR R2 R0 K15 + 0x00080504, // 001F ADD R2 R2 K4 + 0x10040202, // 0020 MOD R1 R1 R2 + 0x90021801, // 0021 SETMBR R0 K12 R1 + 0x80000000, // 0022 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_ota_max +********************************************************************/ +be_local_closure(class_Partition_otadata_set_ota_max, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_set_ota_max, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90021E01, // 0000 SETMBR R0 K15 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load +********************************************************************/ +be_local_closure(class_Partition_otadata_load, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_load, + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080311, // 0001 GETMET R2 R1 K17 + 0x88100105, // 0002 GETMBR R4 R0 K5 + 0x5416001F, // 0003 LDINT R5 32 + 0x7C080600, // 0004 CALL R2 3 + 0x8C0C0311, // 0005 GETMET R3 R1 K17 + 0x88140105, // 0006 GETMBR R5 R0 K5 + 0x541A0FFF, // 0007 LDINT R6 4096 + 0x00140A06, // 0008 ADD R5 R5 R6 + 0x541A001F, // 0009 LDINT R6 32 + 0x7C0C0600, // 000A CALL R3 3 + 0x8C100512, // 000B GETMET R4 R2 K18 + 0x58180002, // 000C LDCONST R6 K2 + 0x541E0003, // 000D LDINT R7 4 + 0x7C100600, // 000E CALL R4 3 + 0x90020204, // 000F SETMBR R0 K1 R4 + 0x8C100712, // 0010 GETMET R4 R3 K18 + 0x58180002, // 0011 LDCONST R6 K2 + 0x541E0003, // 0012 LDINT R7 4 + 0x7C100600, // 0013 CALL R4 3 + 0x90020604, // 0014 SETMBR R0 K3 R4 + 0x8C100512, // 0015 GETMET R4 R2 K18 + 0x541A001B, // 0016 LDINT R6 28 + 0x541E0003, // 0017 LDINT R7 4 + 0x7C100600, // 0018 CALL R4 3 + 0x8C140108, // 0019 GETMET R5 R0 K8 + 0x881C0101, // 001A GETMBR R7 R0 K1 + 0x7C140400, // 001B CALL R5 2 + 0x1C100805, // 001C EQ R4 R4 R5 + 0x8C140712, // 001D GETMET R5 R3 K18 + 0x541E001B, // 001E LDINT R7 28 + 0x54220003, // 001F LDINT R8 4 + 0x7C140600, // 0020 CALL R5 3 + 0x8C180108, // 0021 GETMET R6 R0 K8 + 0x88200103, // 0022 GETMBR R8 R0 K3 + 0x7C180400, // 0023 CALL R6 2 + 0x1C140A06, // 0024 EQ R5 R5 R6 + 0x5C180800, // 0025 MOVE R6 R4 + 0x741A0001, // 0026 JMPT R6 #0029 + 0x4C180000, // 0027 LDNIL R6 + 0x90020206, // 0028 SETMBR R0 K1 R6 + 0x5C180A00, // 0029 MOVE R6 R5 + 0x741A0001, // 002A JMPT R6 #002D + 0x4C180000, // 002B LDNIL R6 + 0x90020606, // 002C SETMBR R0 K3 R6 + 0x8C180113, // 002D GETMET R6 R0 K19 + 0x7C180200, // 002E CALL R6 1 + 0x80000000, // 002F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: crc32_ota_seq +********************************************************************/ +be_local_closure(class_Partition_otadata_crc32_ota_seq, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_crc32_ota_seq, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x58040014, // 0000 LDCONST R1 K20 + 0xA40A2A00, // 0001 IMPORT R2 K21 + 0x8C0C0516, // 0002 GETMET R3 R2 K22 + 0x5415FFFE, // 0003 LDINT R5 -1 + 0x60180015, // 0004 GETGBL R6 G21 + 0x7C180000, // 0005 CALL R6 0 + 0x8C180D06, // 0006 GETMET R6 R6 K6 + 0x5C200000, // 0007 MOVE R8 R0 + 0x54260003, // 0008 LDINT R9 4 + 0x7C180600, // 0009 CALL R6 3 + 0x7C0C0600, // 000A CALL R3 3 + 0x80040600, // 000B RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_active +********************************************************************/ +be_local_closure(class_Partition_otadata_set_active, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_set_active, + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x58080002, // 0000 LDCONST R2 K2 + 0x580C0002, // 0001 LDCONST R3 K2 + 0x88100101, // 0002 GETMBR R4 R0 K1 + 0x4C140000, // 0003 LDNIL R5 + 0x20100805, // 0004 NE R4 R4 R5 + 0x78120001, // 0005 JMPF R4 #0008 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x580C0002, // 0007 LDCONST R3 K2 + 0x88100103, // 0008 GETMBR R4 R0 K3 + 0x4C140000, // 0009 LDNIL R5 + 0x20100805, // 000A NE R4 R4 R5 + 0x78120004, // 000B JMPF R4 #0011 + 0x88100103, // 000C GETMBR R4 R0 K3 + 0x24100802, // 000D GT R4 R4 R2 + 0x78120001, // 000E JMPF R4 #0011 + 0x88080103, // 000F GETMBR R2 R0 K3 + 0x580C0004, // 0010 LDCONST R3 K4 + 0x04100504, // 0011 SUB R4 R2 K4 + 0x8814010F, // 0012 GETMBR R5 R0 K15 + 0x00140B04, // 0013 ADD R5 R5 K4 + 0x10100805, // 0014 MOD R4 R4 R5 + 0x20140801, // 0015 NE R5 R4 R1 + 0x78160010, // 0016 JMPF R5 #0028 + 0x24140204, // 0017 GT R5 R1 R4 + 0x78160002, // 0018 JMPF R5 #001C + 0x04140204, // 0019 SUB R5 R1 R4 + 0x00080405, // 001A ADD R2 R2 R5 + 0x70020004, // 001B JMP #0021 + 0x8814010F, // 001C GETMBR R5 R0 K15 + 0x00140B04, // 001D ADD R5 R5 K4 + 0x04140A04, // 001E SUB R5 R5 R4 + 0x00140A01, // 001F ADD R5 R5 R1 + 0x00080405, // 0020 ADD R2 R2 R5 + 0x1C140704, // 0021 EQ R5 R3 K4 + 0x78160001, // 0022 JMPF R5 #0025 + 0x90020202, // 0023 SETMBR R0 K1 R2 + 0x70020000, // 0024 JMP #0026 + 0x90020602, // 0025 SETMBR R0 K3 R2 + 0x8C140113, // 0026 GETMET R5 R0 K19 + 0x7C140200, // 0027 CALL R5 1 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Partition_otadata_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_otadata, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x90021E01, // 0000 SETMBR R0 K15 R1 + 0x90022002, // 0001 SETMBR R0 K16 R2 + 0x8810010F, // 0002 GETMBR R4 R0 K15 + 0x4C140000, // 0003 LDNIL R5 + 0x1C100805, // 0004 EQ R4 R4 R5 + 0x78120000, // 0005 JMPF R4 #0007 + 0x90021F04, // 0006 SETMBR R0 K15 K4 + 0x90020A03, // 0007 SETMBR R0 K5 R3 + 0x88100105, // 0008 GETMBR R4 R0 K5 + 0x4C140000, // 0009 LDNIL R5 + 0x1C100805, // 000A EQ R4 R4 R5 + 0x78120001, // 000B JMPF R4 #000E + 0x5412DFFF, // 000C LDINT R4 57344 + 0x90020A04, // 000D SETMBR R0 K5 R4 + 0x5411FFFE, // 000E LDINT R4 -1 + 0x90021804, // 000F SETMBR R0 K12 R4 + 0x8C100117, // 0010 GETMET R4 R0 K23 + 0x7C100200, // 0011 CALL R4 1 + 0x80000000, // 0012 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Partition_otadata +********************************************************************/ +be_local_class(Partition_otadata, + 6, + NULL, + be_nested_map(14, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(class_Partition_otadata_init_closure) }, + { be_const_key(seq1, 13), be_const_var(5) }, + { be_const_key(save, -1), be_const_closure(class_Partition_otadata_save_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_otadata_tostring_closure) }, + { be_const_key(_validate, 6), be_const_closure(class_Partition_otadata__validate_closure) }, + { be_const_key(set_ota_max, 0), be_const_closure(class_Partition_otadata_set_ota_max_closure) }, + { be_const_key(has_factory, -1), be_const_var(1) }, + { be_const_key(load, 8), be_const_closure(class_Partition_otadata_load_closure) }, + { be_const_key(crc32_ota_seq, -1), be_const_static_closure(class_Partition_otadata_crc32_ota_seq_closure) }, + { be_const_key(active_otadata, 11), be_const_var(3) }, + { be_const_key(offset, 9), be_const_var(2) }, + { be_const_key(seq0, -1), be_const_var(4) }, + { be_const_key(set_active, -1), be_const_closure(class_Partition_otadata_set_active_closure) }, + { be_const_key(maxota, -1), be_const_var(0) }, + })), + (bstring*) &be_const_str_Partition_otadata +); +extern const bclass be_class_Partition; +// compact class 'Partition' ktab size: 71, total: 134 (saved 504 bytes) +static const bvalue be_ktab_class_Partition[71] = { + /* K0 */ be_nested_str(flash), + /* K1 */ be_nested_str(tobytes), + /* K2 */ be_nested_str(erase), + /* K3 */ be_nested_str(write), + /* K4 */ be_nested_str(otadata), + /* K5 */ be_nested_str(save), + /* K6 */ be_nested_str(raw), + /* K7 */ be_nested_str(read), + /* K8 */ be_nested_str(active_otadata), + /* K9 */ be_nested_str(slots), + /* K10 */ be_nested_str(load), + /* K11 */ be_nested_str(parse), + /* K12 */ be_nested_str(load_otadata), + /* K13 */ be_const_int(0), + /* K14 */ be_const_int(1), + /* K15 */ be_nested_str(get), + /* K16 */ be_const_int(2), + /* K17 */ be_nested_str(partition_core), + /* K18 */ be_nested_str(Partition_info), + /* K19 */ be_nested_str(push), + /* K20 */ be_nested_str(md5), + /* K21 */ be_nested_str(stop_iteration), + /* K22 */ be_nested_str(tasmota), + /* K23 */ be_nested_str(memory), + /* K24 */ be_nested_str(find), + /* K25 */ be_nested_str(flash_real), + /* K26 */ be_nested_str(get_flash_definition_sector), + /* K27 */ be_const_int(3), + /* K28 */ be_nested_str(log), + /* K29 */ be_nested_str(UPL_X3A_X20changing_X20flash_X20definition_X20from_X200x02X_X20to_X200x_X2502X), + /* K30 */ be_nested_str(wrong_X20flash_X20size_X20), + /* K31 */ be_nested_str(internal_error), + /* K32 */ be_const_class(be_class_Partition), + /* K33 */ be_nested_str(E9), + /* K34 */ be_nested_str(get_unallocated_k), + /* K35 */ be_nested_str(BRY_X3A_X20Trying_X20to_X20expand_X20FS_X20by_X20_X25i_X20kB), + /* K36 */ be_nested_str(resize_max_flash_size_k), + /* K37 */ be_nested_str(sz), + /* K38 */ be_nested_str(global), + /* K39 */ be_nested_str(restart_flag), + /* K40 */ be_nested_str(BRY_X3A_X20Successfully_X20resized_X20FS_X2C_X20restarting), + /* K41 */ be_nested_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K42 */ be_nested_str(factory), + /* K43 */ be_nested_str(ota_max), + /* K44 */ be_nested_str(type), + /* K45 */ be_nested_str(subtype), + /* K46 */ be_nested_str(start), + /* K47 */ be_nested_str(Partition_otadata), + /* K48 */ be_nested_str(has_factory), + /* K49 */ be_nested_str(_X3Cinstance_X3A_X20Partition_X28_X5B_X0A), + /* K50 */ be_nested_str(_X20_X20), + /* K51 */ be_nested_str(tostring), + /* K52 */ be_nested_str(_X0A), + /* K53 */ be_nested_str(_X5D_X2C_X0A_X20_X20), + /* K54 */ be_nested_str(_X0A_X29_X3E), + /* K55 */ be_nested_str(get_factory_slot), + /* K56 */ be_nested_str(value_error), + /* K57 */ be_nested_str(Too_X20many_X20partiition_X20slots), + /* K58 */ be_nested_str(MD5), + /* K59 */ be_nested_str(update), + /* K60 */ be_nested_str(EBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + /* K61 */ be_nested_str(finish), + /* K62 */ be_nested_str(is_spiffs), + /* K63 */ be_nested_str(No_X20FS_X20partition_X20found), + /* K64 */ be_nested_str(00), + /* K65 */ be_nested_str(is_factory), + /* K66 */ be_nested_str(Invalid_X20ota_X20partition_X20number), + /* K67 */ be_nested_str(set_ota_max), + /* K68 */ be_nested_str(set_active), + /* K69 */ be_nested_str(get_max_flash_size_k), + /* K70 */ be_nested_str(is_ota), +}; + + +extern const bclass be_class_Partition; + +/******************************************************************** +** Solidified function: save +********************************************************************/ +be_local_closure(class_Partition_save, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_save, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080101, // 0001 GETMET R2 R0 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0302, // 0003 GETMET R3 R1 K2 + 0x54167FFF, // 0004 LDINT R5 32768 + 0x541A0FFF, // 0005 LDINT R6 4096 + 0x7C0C0600, // 0006 CALL R3 3 + 0x8C0C0303, // 0007 GETMET R3 R1 K3 + 0x54167FFF, // 0008 LDINT R5 32768 + 0x5C180400, // 0009 MOVE R6 R2 + 0x7C0C0600, // 000A CALL R3 3 + 0x880C0104, // 000B GETMBR R3 R0 K4 + 0x8C0C0705, // 000C GETMET R3 R3 K5 + 0x7C0C0200, // 000D CALL R3 1 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load +********************************************************************/ +be_local_closure(class_Partition_load, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_load, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080307, // 0001 GETMET R2 R1 K7 + 0x54127FFF, // 0002 LDINT R4 32768 + 0x54160FFF, // 0003 LDINT R5 4096 + 0x7C080600, // 0004 CALL R2 3 + 0x90020C02, // 0005 SETMBR R0 K6 R2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_active +********************************************************************/ +be_local_closure(class_Partition_get_active, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_active, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x88040308, // 0001 GETMBR R1 R1 K8 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Partition_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x60040012, // 0000 GETGBL R1 G18 + 0x7C040000, // 0001 CALL R1 0 + 0x90021201, // 0002 SETMBR R0 K9 R1 + 0x8C04010A, // 0003 GETMET R1 R0 K10 + 0x7C040200, // 0004 CALL R1 1 + 0x8C04010B, // 0005 GETMET R1 R0 K11 + 0x7C040200, // 0006 CALL R1 1 + 0x8C04010C, // 0007 GETMET R1 R0 K12 + 0x7C040200, // 0008 CALL R1 1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Partition_parse, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_parse, + &be_const_str_solidified, + ( &(const binstruction[57]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x540A005D, // 0001 LDINT R2 94 + 0x400A1A02, // 0002 CONNECT R2 K13 R2 + 0x7C040200, // 0003 CALL R1 1 + 0xA802002F, // 0004 EXBLK 0 #0035 + 0x5C080200, // 0005 MOVE R2 R1 + 0x7C080000, // 0006 CALL R2 0 + 0x540E001F, // 0007 LDINT R3 32 + 0x080C0403, // 0008 MUL R3 R2 R3 + 0x0010050E, // 0009 ADD R4 R2 K14 + 0x5416001F, // 000A LDINT R5 32 + 0x08100805, // 000B MUL R4 R4 R5 + 0x0410090E, // 000C SUB R4 R4 K14 + 0x400C0604, // 000D CONNECT R3 R3 R4 + 0x88100106, // 000E GETMBR R4 R0 K6 + 0x940C0803, // 000F GETIDX R3 R4 R3 + 0x8C14070F, // 0010 GETMET R5 R3 K15 + 0x581C000D, // 0011 LDCONST R7 K13 + 0x58200010, // 0012 LDCONST R8 K16 + 0x7C140600, // 0013 CALL R5 3 + 0x5C100A00, // 0014 MOVE R4 R5 + 0x541650A9, // 0015 LDINT R5 20650 + 0x1C140805, // 0016 EQ R5 R4 R5 + 0x78160008, // 0017 JMPF R5 #0021 + 0xB8162200, // 0018 GETNGBL R5 K17 + 0x8C140B12, // 0019 GETMET R5 R5 K18 + 0x5C1C0600, // 001A MOVE R7 R3 + 0x7C140400, // 001B CALL R5 2 + 0x88180109, // 001C GETMBR R6 R0 K9 + 0x8C180D13, // 001D GETMET R6 R6 K19 + 0x5C200A00, // 001E MOVE R8 R5 + 0x7C180400, // 001F CALL R6 2 + 0x70020010, // 0020 JMP #0032 + 0x5416EBEA, // 0021 LDINT R5 60395 + 0x1C140805, // 0022 EQ R5 R4 R5 + 0x7816000C, // 0023 JMPF R5 #0031 + 0x5416001F, // 0024 LDINT R5 32 + 0x08140405, // 0025 MUL R5 R2 R5 + 0x541A000F, // 0026 LDINT R6 16 + 0x00140A06, // 0027 ADD R5 R5 R6 + 0x541A0020, // 0028 LDINT R6 33 + 0x08180406, // 0029 MUL R6 R2 R6 + 0x04180D0E, // 002A SUB R6 R6 K14 + 0x40140A06, // 002B CONNECT R5 R5 R6 + 0x88180106, // 002C GETMBR R6 R0 K6 + 0x94140C05, // 002D GETIDX R5 R6 R5 + 0x90022805, // 002E SETMBR R0 K20 R5 + 0x70020002, // 002F JMP #0033 + 0x70020000, // 0030 JMP #0032 + 0x70020000, // 0031 JMP #0033 + 0x7001FFD1, // 0032 JMP #0005 + 0xA8040001, // 0033 EXBLK 1 1 + 0x70020002, // 0034 JMP #0038 + 0x58040015, // 0035 LDCONST R1 K21 + 0xAC040200, // 0036 CATCH R1 1 0 + 0xB0080000, // 0037 RAISE 2 R0 R0 + 0x80000000, // 0038 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_max_flash_size_k +********************************************************************/ +be_local_closure(class_Partition_get_max_flash_size_k, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_max_flash_size_k, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB8062C00, // 0000 GETNGBL R1 K22 + 0x8C040317, // 0001 GETMET R1 R1 K23 + 0x7C040200, // 0002 CALL R1 1 + 0x94040300, // 0003 GETIDX R1 R1 K0 + 0xB80A2C00, // 0004 GETNGBL R2 K22 + 0x8C080517, // 0005 GETMET R2 R2 K23 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080518, // 0007 GETMET R2 R2 K24 + 0x58100019, // 0008 LDCONST R4 K25 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C080600, // 000A CALL R2 3 + 0x200C0202, // 000B NE R3 R1 R2 + 0x780E0005, // 000C JMPF R3 #0013 + 0x8C0C011A, // 000D GETMET R3 R0 K26 + 0x7C0C0200, // 000E CALL R3 1 + 0x4C100000, // 000F LDNIL R4 + 0x200C0604, // 0010 NE R3 R3 R4 + 0x780E0000, // 0011 JMPF R3 #0013 + 0x5C040400, // 0012 MOVE R1 R2 + 0x80040200, // 0013 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: resize_max_flash_size_k +********************************************************************/ +be_local_closure(class_Partition_resize_max_flash_size_k, /* name */ + be_nested_proto( + 16, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_resize_max_flash_size_k, + &be_const_str_solidified, + ( &(const binstruction[94]) { /* code */ + 0xB8062C00, // 0000 GETNGBL R1 K22 + 0x8C040317, // 0001 GETMET R1 R1 K23 + 0x7C040200, // 0002 CALL R1 1 + 0x94040300, // 0003 GETIDX R1 R1 K0 + 0xB80A2C00, // 0004 GETNGBL R2 K22 + 0x8C080517, // 0005 GETMET R2 R2 K23 + 0x7C080200, // 0006 CALL R2 1 + 0x8C080518, // 0007 GETMET R2 R2 K24 + 0x58100019, // 0008 LDCONST R4 K25 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C080600, // 000A CALL R2 3 + 0x8C0C011A, // 000B GETMET R3 R0 K26 + 0x7C0C0200, // 000C CALL R3 1 + 0x20100202, // 000D NE R4 R1 R2 + 0x7812004D, // 000E JMPF R4 #005D + 0x4C100000, // 000F LDNIL R4 + 0x20100604, // 0010 NE R4 R3 R4 + 0x7812004A, // 0011 JMPF R4 #005D + 0xA4120000, // 0012 IMPORT R4 K0 + 0x5C040400, // 0013 MOVE R1 R2 + 0x8C140907, // 0014 GETMET R5 R4 K7 + 0x5C1C0600, // 0015 MOVE R7 R3 + 0x54220003, // 0016 LDINT R8 4 + 0x7C140600, // 0017 CALL R5 3 + 0x94180B1B, // 0018 GETIDX R6 R5 K27 + 0x4C1C0000, // 0019 LDNIL R7 + 0x542203FF, // 001A LDINT R8 1024 + 0x0C200408, // 001B DIV R8 R2 R8 + 0x1C24110E, // 001C EQ R9 R8 K14 + 0x78260001, // 001D JMPF R9 #0020 + 0x581C000D, // 001E LDCONST R7 K13 + 0x70020020, // 001F JMP #0041 + 0x1C241110, // 0020 EQ R9 R8 K16 + 0x78260001, // 0021 JMPF R9 #0024 + 0x541E000F, // 0022 LDINT R7 16 + 0x7002001C, // 0023 JMP #0041 + 0x54260003, // 0024 LDINT R9 4 + 0x1C241009, // 0025 EQ R9 R8 R9 + 0x78260001, // 0026 JMPF R9 #0029 + 0x541E001F, // 0027 LDINT R7 32 + 0x70020017, // 0028 JMP #0041 + 0x54260007, // 0029 LDINT R9 8 + 0x1C241009, // 002A EQ R9 R8 R9 + 0x78260001, // 002B JMPF R9 #002E + 0x541E002F, // 002C LDINT R7 48 + 0x70020012, // 002D JMP #0041 + 0x5426000F, // 002E LDINT R9 16 + 0x1C241009, // 002F EQ R9 R8 R9 + 0x78260001, // 0030 JMPF R9 #0033 + 0x541E003F, // 0031 LDINT R7 64 + 0x7002000D, // 0032 JMP #0041 + 0x5426001F, // 0033 LDINT R9 32 + 0x1C241009, // 0034 EQ R9 R8 R9 + 0x78260001, // 0035 JMPF R9 #0038 + 0x541E004F, // 0036 LDINT R7 80 + 0x70020008, // 0037 JMP #0041 + 0x5426003F, // 0038 LDINT R9 64 + 0x1C241009, // 0039 EQ R9 R8 R9 + 0x78260001, // 003A JMPF R9 #003D + 0x541E005F, // 003B LDINT R7 96 + 0x70020003, // 003C JMP #0041 + 0x5426007F, // 003D LDINT R9 128 + 0x1C241009, // 003E EQ R9 R8 R9 + 0x78260000, // 003F JMPF R9 #0041 + 0x541E006F, // 0040 LDINT R7 112 + 0x4C240000, // 0041 LDNIL R9 + 0x20240E09, // 0042 NE R9 R7 R9 + 0x78260013, // 0043 JMPF R9 #0058 + 0x94240B1B, // 0044 GETIDX R9 R5 K27 + 0x94280B1B, // 0045 GETIDX R10 R5 K27 + 0x542E000E, // 0046 LDINT R11 15 + 0x2C28140B, // 0047 AND R10 R10 R11 + 0x30281407, // 0048 OR R10 R10 R7 + 0x9816360A, // 0049 SETIDX R5 K27 R10 + 0x8C280903, // 004A GETMET R10 R4 K3 + 0x5C300600, // 004B MOVE R12 R3 + 0x5C340A00, // 004C MOVE R13 R5 + 0x7C280600, // 004D CALL R10 3 + 0xB82A2C00, // 004E GETNGBL R10 K22 + 0x8C28151C, // 004F GETMET R10 R10 K28 + 0x60300018, // 0050 GETGBL R12 G24 + 0x5834001D, // 0051 LDCONST R13 K29 + 0x5C381200, // 0052 MOVE R14 R9 + 0x943C0B1B, // 0053 GETIDX R15 R5 K27 + 0x7C300600, // 0054 CALL R12 3 + 0x5834001B, // 0055 LDCONST R13 K27 + 0x7C280600, // 0056 CALL R10 3 + 0x70020004, // 0057 JMP #005D + 0x60240008, // 0058 GETGBL R9 G8 + 0x5C281000, // 0059 MOVE R10 R8 + 0x7C240200, // 005A CALL R9 1 + 0x00263C09, // 005B ADD R9 K30 R9 + 0xB0063E09, // 005C RAISE 1 K31 R9 + 0x80000000, // 005D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_flash_definition_sector +********************************************************************/ +be_local_closure(class_Partition_get_flash_definition_sector, /* name */ + be_nested_proto( + 9, /* nstack */ + 0, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_flash_definition_sector, + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x58000020, // 0000 LDCONST R0 K32 + 0xA4060000, // 0001 IMPORT R1 K0 + 0x60080010, // 0002 GETGBL R2 G16 + 0x400E1B0E, // 0003 CONNECT R3 K13 K14 + 0x7C080200, // 0004 CALL R2 1 + 0xA802000F, // 0005 EXBLK 0 #0016 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x7C0C0000, // 0007 CALL R3 0 + 0x54120FFF, // 0008 LDINT R4 4096 + 0x08100604, // 0009 MUL R4 R3 R4 + 0x8C140307, // 000A GETMET R5 R1 K7 + 0x5C1C0800, // 000B MOVE R7 R4 + 0x5820000E, // 000C LDCONST R8 K14 + 0x7C140600, // 000D CALL R5 3 + 0x60180015, // 000E GETGBL R6 G21 + 0x581C0021, // 000F LDCONST R7 K33 + 0x7C180200, // 0010 CALL R6 1 + 0x1C140A06, // 0011 EQ R5 R5 R6 + 0x78160001, // 0012 JMPF R5 #0015 + 0xA8040001, // 0013 EXBLK 1 1 + 0x80040800, // 0014 RET 1 R4 + 0x7001FFEF, // 0015 JMP #0006 + 0x58080015, // 0016 LDCONST R2 K21 + 0xAC080200, // 0017 CATCH R2 1 0 + 0xB0080000, // 0018 RAISE 2 R0 R0 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: resize_fs_to_max +********************************************************************/ +be_local_closure(class_Partition_resize_fs_to_max, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_resize_fs_to_max, + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0xA8020024, // 0000 EXBLK 0 #0026 + 0x8C040122, // 0001 GETMET R1 R0 K34 + 0x7C040200, // 0002 CALL R1 1 + 0x1808030D, // 0003 LE R2 R1 K13 + 0x780A0002, // 0004 JMPF R2 #0008 + 0x4C080000, // 0005 LDNIL R2 + 0xA8040001, // 0006 EXBLK 1 1 + 0x80040400, // 0007 RET 1 R2 + 0xB80A2C00, // 0008 GETNGBL R2 K22 + 0x8C08051C, // 0009 GETMET R2 R2 K28 + 0x60100018, // 000A GETGBL R4 G24 + 0x58140023, // 000B LDCONST R5 K35 + 0x5C180200, // 000C MOVE R6 R1 + 0x7C100400, // 000D CALL R4 2 + 0x58140010, // 000E LDCONST R5 K16 + 0x7C080600, // 000F CALL R2 3 + 0x8C080124, // 0010 GETMET R2 R0 K36 + 0x7C080200, // 0011 CALL R2 1 + 0x88080109, // 0012 GETMBR R2 R0 K9 + 0x540DFFFE, // 0013 LDINT R3 -1 + 0x94080403, // 0014 GETIDX R2 R2 R3 + 0x541203FF, // 0015 LDINT R4 1024 + 0x08100204, // 0016 MUL R4 R1 R4 + 0x880C0525, // 0017 GETMBR R3 R2 K37 + 0x000C0604, // 0018 ADD R3 R3 R4 + 0x900A4A03, // 0019 SETMBR R2 K37 R3 + 0x8C0C0105, // 001A GETMET R3 R0 K5 + 0x7C0C0200, // 001B CALL R3 1 + 0xB80E2C00, // 001C GETNGBL R3 K22 + 0x880C0726, // 001D GETMBR R3 R3 K38 + 0x900E4F10, // 001E SETMBR R3 K39 K16 + 0xB80E2C00, // 001F GETNGBL R3 K22 + 0x8C0C071C, // 0020 GETMET R3 R3 K28 + 0x58140028, // 0021 LDCONST R5 K40 + 0x58180010, // 0022 LDCONST R6 K16 + 0x7C0C0600, // 0023 CALL R3 3 + 0xA8040001, // 0024 EXBLK 1 1 + 0x7002000C, // 0025 JMP #0033 + 0xAC040002, // 0026 CATCH R1 0 2 + 0x70020009, // 0027 JMP #0032 + 0xB80E2C00, // 0028 GETNGBL R3 K22 + 0x8C0C071C, // 0029 GETMET R3 R3 K28 + 0x60140018, // 002A GETGBL R5 G24 + 0x58180029, // 002B LDCONST R6 K41 + 0x5C1C0200, // 002C MOVE R7 R1 + 0x5C200400, // 002D MOVE R8 R2 + 0x7C140600, // 002E CALL R5 3 + 0x58180010, // 002F LDCONST R6 K16 + 0x7C0C0600, // 0030 CALL R3 3 + 0x70020000, // 0031 JMP #0033 + 0xB0080000, // 0032 RAISE 2 R0 R0 + 0x80000000, // 0033 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: switch_factory +********************************************************************/ +be_local_closure(class_Partition_switch_factory, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_switch_factory, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x8C0C052A, // 0001 GETMET R3 R2 K42 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load_otadata +********************************************************************/ +be_local_closure(class_Partition_load_otadata, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_load_otadata, + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x5406DFFF, // 0000 LDINT R1 57344 + 0x8C08012B, // 0001 GETMET R2 R0 K43 + 0x7C080200, // 0002 CALL R2 1 + 0x600C0010, // 0003 GETGBL R3 G16 + 0x88100109, // 0004 GETMBR R4 R0 K9 + 0x7C0C0200, // 0005 CALL R3 1 + 0xA8020009, // 0006 EXBLK 0 #0011 + 0x5C100600, // 0007 MOVE R4 R3 + 0x7C100000, // 0008 CALL R4 0 + 0x8814092C, // 0009 GETMBR R5 R4 K44 + 0x1C140B0E, // 000A EQ R5 R5 K14 + 0x78160003, // 000B JMPF R5 #0010 + 0x8814092D, // 000C GETMBR R5 R4 K45 + 0x1C140B0D, // 000D EQ R5 R5 K13 + 0x78160000, // 000E JMPF R5 #0010 + 0x8804092E, // 000F GETMBR R1 R4 K46 + 0x7001FFF5, // 0010 JMP #0007 + 0x580C0015, // 0011 LDCONST R3 K21 + 0xAC0C0200, // 0012 CATCH R3 1 0 + 0xB0080000, // 0013 RAISE 2 R0 R0 + 0xB80E2200, // 0014 GETNGBL R3 K17 + 0x8C0C072F, // 0015 GETMET R3 R3 K47 + 0x5C140400, // 0016 MOVE R5 R2 + 0x8C180130, // 0017 GETMET R6 R0 K48 + 0x7C180200, // 0018 CALL R6 1 + 0x5C1C0200, // 0019 MOVE R7 R1 + 0x7C0C0800, // 001A CALL R3 4 + 0x90020803, // 001B SETMBR R0 K4 R3 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Partition_tostring, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x58040031, // 0000 LDCONST R1 K49 + 0x60080010, // 0001 GETGBL R2 G16 + 0x880C0109, // 0002 GETMBR R3 R0 K9 + 0x7C080200, // 0003 CALL R2 1 + 0xA8020007, // 0004 EXBLK 0 #000D + 0x5C0C0400, // 0005 MOVE R3 R2 + 0x7C0C0000, // 0006 CALL R3 0 + 0x00040332, // 0007 ADD R1 R1 K50 + 0x8C100733, // 0008 GETMET R4 R3 K51 + 0x7C100200, // 0009 CALL R4 1 + 0x00040204, // 000A ADD R1 R1 R4 + 0x00040334, // 000B ADD R1 R1 K52 + 0x7001FFF7, // 000C JMP #0005 + 0x58080015, // 000D LDCONST R2 K21 + 0xAC080200, // 000E CATCH R2 1 0 + 0xB0080000, // 000F RAISE 2 R0 R0 + 0x00040335, // 0010 ADD R1 R1 K53 + 0x88080104, // 0011 GETMBR R2 R0 K4 + 0x8C080533, // 0012 GETMET R2 R2 K51 + 0x7C080200, // 0013 CALL R2 1 + 0x00040202, // 0014 ADD R1 R1 R2 + 0x00040336, // 0015 ADD R1 R1 K54 + 0x80040200, // 0016 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: has_factory +********************************************************************/ +be_local_closure(class_Partition_has_factory, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_has_factory, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C040137, // 0000 GETMET R1 R0 K55 + 0x7C040200, // 0001 CALL R1 1 + 0x4C080000, // 0002 LDNIL R2 + 0x20040202, // 0003 NE R1 R1 R2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tobytes +********************************************************************/ +be_local_closure(class_Partition_tobytes, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_tobytes, + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0x6004000C, // 0000 GETGBL R1 G12 + 0x88080109, // 0001 GETMBR R2 R0 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x540A005E, // 0003 LDINT R2 95 + 0x24040202, // 0004 GT R1 R1 R2 + 0x78060000, // 0005 JMPF R1 #0007 + 0xB0067139, // 0006 RAISE 1 K56 K57 + 0x60040015, // 0007 GETGBL R1 G21 + 0x7C040000, // 0008 CALL R1 0 + 0x60080010, // 0009 GETGBL R2 G16 + 0x880C0109, // 000A GETMBR R3 R0 K9 + 0x7C080200, // 000B CALL R2 1 + 0xA8020005, // 000C EXBLK 0 #0013 + 0x5C0C0400, // 000D MOVE R3 R2 + 0x7C0C0000, // 000E CALL R3 0 + 0x8C100701, // 000F GETMET R4 R3 K1 + 0x7C100200, // 0010 CALL R4 1 + 0x00040204, // 0011 ADD R1 R1 R4 + 0x7001FFF9, // 0012 JMP #000D + 0x58080015, // 0013 LDCONST R2 K21 + 0xAC080200, // 0014 CATCH R2 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0xB80A7400, // 0016 GETNGBL R2 K58 + 0x7C080000, // 0017 CALL R2 0 + 0x8C0C053B, // 0018 GETMET R3 R2 K59 + 0x5C140200, // 0019 MOVE R5 R1 + 0x7C0C0400, // 001A CALL R3 2 + 0x600C0015, // 001B GETGBL R3 G21 + 0x5810003C, // 001C LDCONST R4 K60 + 0x7C0C0200, // 001D CALL R3 1 + 0x00040203, // 001E ADD R1 R1 R3 + 0x8C0C053D, // 001F GETMET R3 R2 K61 + 0x7C0C0200, // 0020 CALL R3 1 + 0x00040203, // 0021 ADD R1 R1 R3 + 0x80040200, // 0022 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: ota_max +********************************************************************/ +be_local_closure(class_Partition_ota_max, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_ota_max, + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x60080010, // 0001 GETGBL R2 G16 + 0x880C0109, // 0002 GETMBR R3 R0 K9 + 0x7C080200, // 0003 CALL R2 1 + 0xA8020016, // 0004 EXBLK 0 #001C + 0x5C0C0400, // 0005 MOVE R3 R2 + 0x7C0C0000, // 0006 CALL R3 0 + 0x8810072C, // 0007 GETMBR R4 R3 K44 + 0x1C10090D, // 0008 EQ R4 R4 K13 + 0x78120010, // 0009 JMPF R4 #001B + 0x8810072D, // 000A GETMBR R4 R3 K45 + 0x5416000F, // 000B LDINT R5 16 + 0x28100805, // 000C GE R4 R4 R5 + 0x7812000C, // 000D JMPF R4 #001B + 0x8810072D, // 000E GETMBR R4 R3 K45 + 0x5416001F, // 000F LDINT R5 32 + 0x14100805, // 0010 LT R4 R4 R5 + 0x78120008, // 0011 JMPF R4 #001B + 0x8810072D, // 0012 GETMBR R4 R3 K45 + 0x5416000F, // 0013 LDINT R5 16 + 0x04100805, // 0014 SUB R4 R4 R5 + 0x4C140000, // 0015 LDNIL R5 + 0x1C140205, // 0016 EQ R5 R1 R5 + 0x74160001, // 0017 JMPT R5 #001A + 0x24140801, // 0018 GT R5 R4 R1 + 0x78160000, // 0019 JMPF R5 #001B + 0x5C040800, // 001A MOVE R1 R4 + 0x7001FFE8, // 001B JMP #0005 + 0x58080015, // 001C LDCONST R2 K21 + 0xAC080200, // 001D CATCH R2 1 0 + 0xB0080000, // 001E RAISE 2 R0 R0 + 0x80040200, // 001F RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: invalidate_spiffs +********************************************************************/ +be_local_closure(class_Partition_invalidate_spiffs, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_invalidate_spiffs, + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080109, // 0001 GETMBR R2 R0 K9 + 0x540DFFFE, // 0002 LDINT R3 -1 + 0x94080403, // 0003 GETIDX R2 R2 R3 + 0x8C0C053E, // 0004 GETMET R3 R2 K62 + 0x7C0C0200, // 0005 CALL R3 1 + 0x740E0000, // 0006 JMPT R3 #0008 + 0xB006713F, // 0007 RAISE 1 K56 K63 + 0x600C0015, // 0008 GETGBL R3 G21 + 0x58100040, // 0009 LDCONST R4 K64 + 0x7C0C0200, // 000A CALL R3 1 + 0x8C100303, // 000B GETMET R4 R1 K3 + 0x8818052E, // 000C GETMBR R6 R2 K46 + 0x5C1C0600, // 000D MOVE R7 R3 + 0x7C100600, // 000E CALL R4 3 + 0x8C100303, // 000F GETMET R4 R1 K3 + 0x8818052E, // 0010 GETMBR R6 R2 K46 + 0x541E0FFF, // 0011 LDINT R7 4096 + 0x00180C07, // 0012 ADD R6 R6 R7 + 0x5C1C0600, // 0013 MOVE R7 R3 + 0x7C100600, // 0014 CALL R4 3 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_factory_slot +********************************************************************/ +be_local_closure(class_Partition_get_factory_slot, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_factory_slot, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60040010, // 0000 GETGBL R1 G16 + 0x88080109, // 0001 GETMBR R2 R0 K9 + 0x7C040200, // 0002 CALL R1 1 + 0xA8020007, // 0003 EXBLK 0 #000C + 0x5C080200, // 0004 MOVE R2 R1 + 0x7C080000, // 0005 CALL R2 0 + 0x8C0C0541, // 0006 GETMET R3 R2 K65 + 0x7C0C0200, // 0007 CALL R3 1 + 0x780E0001, // 0008 JMPF R3 #000B + 0xA8040001, // 0009 EXBLK 1 1 + 0x80040400, // 000A RET 1 R2 + 0x7001FFF7, // 000B JMP #0004 + 0x58040015, // 000C LDCONST R1 K21 + 0xAC040200, // 000D CATCH R1 1 0 + 0xB0080000, // 000E RAISE 2 R0 R0 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_active +********************************************************************/ +be_local_closure(class_Partition_set_active, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_set_active, + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x1408030D, // 0000 LT R2 R1 K13 + 0x740A0003, // 0001 JMPT R2 #0006 + 0x8C08012B, // 0002 GETMET R2 R0 K43 + 0x7C080200, // 0003 CALL R2 1 + 0x24080202, // 0004 GT R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0xB0067142, // 0006 RAISE 1 K56 K66 + 0x88080104, // 0007 GETMBR R2 R0 K4 + 0x8C080543, // 0008 GETMET R2 R2 K67 + 0x8C10012B, // 0009 GETMET R4 R0 K43 + 0x7C100200, // 000A CALL R4 1 + 0x7C080400, // 000B CALL R2 2 + 0x88080104, // 000C GETMBR R2 R0 K4 + 0x8C080544, // 000D GETMET R2 R2 K68 + 0x5C100200, // 000E MOVE R4 R1 + 0x7C080400, // 000F CALL R2 2 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_unallocated_k +********************************************************************/ +be_local_closure(class_Partition_get_unallocated_k, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_unallocated_k, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88040109, // 0000 GETMBR R1 R0 K9 + 0x5409FFFE, // 0001 LDINT R2 -1 + 0x94040202, // 0002 GETIDX R1 R1 R2 + 0x8C08033E, // 0003 GETMET R2 R1 K62 + 0x7C080200, // 0004 CALL R2 1 + 0x780A000A, // 0005 JMPF R2 #0011 + 0x8C080145, // 0006 GETMET R2 R0 K69 + 0x7C080200, // 0007 CALL R2 1 + 0x880C032E, // 0008 GETMBR R3 R1 K46 + 0x88100325, // 0009 GETMBR R4 R1 K37 + 0x000C0604, // 000A ADD R3 R3 R4 + 0x541203FF, // 000B LDINT R4 1024 + 0x0C0C0604, // 000C DIV R3 R3 R4 + 0x14100602, // 000D LT R4 R3 R2 + 0x78120001, // 000E JMPF R4 #0011 + 0x04100403, // 000F SUB R4 R2 R3 + 0x80040800, // 0010 RET 1 R4 + 0x80061A00, // 0011 RET 1 K13 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_ota_slot +********************************************************************/ +be_local_closure(class_Partition_get_ota_slot, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition, /* shared constants */ + &be_const_str_get_ota_slot, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60080010, // 0000 GETGBL R2 G16 + 0x880C0109, // 0001 GETMBR R3 R0 K9 + 0x7C080200, // 0002 CALL R2 1 + 0xA8020008, // 0003 EXBLK 0 #000D + 0x5C0C0400, // 0004 MOVE R3 R2 + 0x7C0C0000, // 0005 CALL R3 0 + 0x8C100746, // 0006 GETMET R4 R3 K70 + 0x7C100200, // 0007 CALL R4 1 + 0x1C100801, // 0008 EQ R4 R4 R1 + 0x78120001, // 0009 JMPF R4 #000C + 0xA8040001, // 000A EXBLK 1 1 + 0x80040600, // 000B RET 1 R3 + 0x7001FFF6, // 000C JMP #0004 + 0x58080015, // 000D LDCONST R2 K21 + 0xAC080200, // 000E CATCH R2 1 0 + 0xB0080000, // 000F RAISE 2 R0 R0 + 0x4C080000, // 0010 LDNIL R2 + 0x80040400, // 0011 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Partition +********************************************************************/ +be_local_class(Partition, + 4, + NULL, + be_nested_map(24, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(save, -1), be_const_closure(class_Partition_save_closure) }, + { be_const_key(load, 8), be_const_closure(class_Partition_load_closure) }, + { be_const_key(get_active, -1), be_const_closure(class_Partition_get_active_closure) }, + { be_const_key(init, -1), be_const_closure(class_Partition_init_closure) }, + { be_const_key(parse, 21), be_const_closure(class_Partition_parse_closure) }, + { be_const_key(otadata, -1), be_const_var(3) }, + { be_const_key(slots, 11), be_const_var(2) }, + { be_const_key(get_ota_slot, -1), be_const_closure(class_Partition_get_ota_slot_closure) }, + { be_const_key(resize_max_flash_size_k, -1), be_const_closure(class_Partition_resize_max_flash_size_k_closure) }, + { be_const_key(get_flash_definition_sector, -1), be_const_static_closure(class_Partition_get_flash_definition_sector_closure) }, + { be_const_key(resize_fs_to_max, -1), be_const_closure(class_Partition_resize_fs_to_max_closure) }, + { be_const_key(set_active, -1), be_const_closure(class_Partition_set_active_closure) }, + { be_const_key(get_factory_slot, -1), be_const_closure(class_Partition_get_factory_slot_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_tostring_closure) }, + { be_const_key(invalidate_spiffs, -1), be_const_closure(class_Partition_invalidate_spiffs_closure) }, + { be_const_key(tobytes, 12), be_const_closure(class_Partition_tobytes_closure) }, + { be_const_key(load_otadata, 20), be_const_closure(class_Partition_load_otadata_closure) }, + { be_const_key(raw, -1), be_const_var(0) }, + { be_const_key(has_factory, 14), be_const_closure(class_Partition_has_factory_closure) }, + { be_const_key(md5, -1), be_const_var(1) }, + { be_const_key(ota_max, -1), be_const_closure(class_Partition_ota_max_closure) }, + { be_const_key(switch_factory, -1), be_const_closure(class_Partition_switch_factory_closure) }, + { be_const_key(get_unallocated_k, -1), be_const_closure(class_Partition_get_unallocated_k_closure) }, + { be_const_key(get_max_flash_size_k, 7), be_const_closure(class_Partition_get_max_flash_size_k_closure) }, + })), + (bstring*) &be_const_str_Partition +); +extern const bclass be_class_Partition_info; +// compact class 'Partition_info' ktab size: 49, total: 92 (saved 344 bytes) +static const bvalue be_ktab_class_Partition_info[49] = { + /* K0 */ be_nested_str(type), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(subtype), + /* K3 */ be_nested_str(app), + /* K4 */ be_const_int(1), + /* K5 */ be_nested_str(data), + /* K6 */ be_nested_str(0x_X2502X), + /* K7 */ be_nested_str(start), + /* K8 */ be_nested_str(sz), + /* K9 */ be_nested_str(label), + /* K10 */ be_nested_str(), + /* K11 */ be_nested_str(flags), + /* K12 */ be_nested_str(get), + /* K13 */ be_const_int(2), + /* K14 */ be_const_int(3), + /* K15 */ be_nested_str(remove_trailing_zeroes), + /* K16 */ be_nested_str(asstring), + /* K17 */ be_nested_str(invalid_X20magic_X20number_X20_X2502X), + /* K18 */ be_nested_str(internal_error), + /* K19 */ be_nested_str(factory), + /* K20 */ be_nested_str(ota_), + /* K21 */ be_nested_str(test), + /* K22 */ be_nested_str(otadata), + /* K23 */ be_nested_str(phy), + /* K24 */ be_nested_str(nvs), + /* K25 */ be_nested_str(coredump), + /* K26 */ be_nested_str(nvskeys), + /* K27 */ be_nested_str(efuse_em), + /* K28 */ be_nested_str(esphttpd), + /* K29 */ be_nested_str(fat), + /* K30 */ be_nested_str(spiffs), + /* K31 */ be_nested_str(type_to_string), + /* K32 */ be_nested_str(subtype_to_string), + /* K33 */ be_nested_str(_X20_X28), + /* K34 */ be_nested_str(_X29), + /* K35 */ be_nested_str(_X3Cinstance_X3A_X20Partition_info_X28_X25d_X25s_X2C_X25d_X25s_X2C0x_X2508X_X2C0x_X2508X_X2C_X27_X25s_X27_X2C0x_X25X_X29_X3E), + /* K36 */ be_nested_str(AA50), + /* K37 */ be_nested_str(resize), + /* K38 */ be_nested_str(add), + /* K39 */ be_nested_str(fromstring), + /* K40 */ be_const_class(be_class_Partition_info), + /* K41 */ be_nested_str(flash), + /* K42 */ be_nested_str(is_ota), + /* K43 */ be_nested_str(is_factory), + /* K44 */ be_nested_str(read), + /* K45 */ be_nested_str(tasmota), + /* K46 */ be_nested_str(log), + /* K47 */ be_nested_str(BRY_X3A_X20Exception_X3E_X20_X27), + /* K48 */ be_nested_str(_X27_X20_X2D_X20), +}; + + +extern const bclass be_class_Partition_info; + +/******************************************************************** +** Solidified function: is_factory +********************************************************************/ +be_local_closure(class_Partition_info_is_factory, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_is_factory, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x1C040301, // 0001 EQ R1 R1 K1 + 0x78060002, // 0002 JMPF R1 #0006 + 0x88040102, // 0003 GETMBR R1 R0 K2 + 0x1C040301, // 0004 EQ R1 R1 K1 + 0x74060000, // 0005 JMPT R1 #0007 + 0x50040001, // 0006 LDBOOL R1 0 1 + 0x50040200, // 0007 LDBOOL R1 1 0 + 0x80040200, // 0008 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: type_to_string +********************************************************************/ +be_local_closure(class_Partition_info_type_to_string, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_type_to_string, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x1C040301, // 0001 EQ R1 R1 K1 + 0x78060001, // 0002 JMPF R1 #0005 + 0x80060600, // 0003 RET 1 K3 + 0x70020003, // 0004 JMP #0009 + 0x88040100, // 0005 GETMBR R1 R0 K0 + 0x1C040304, // 0006 EQ R1 R1 K4 + 0x78060000, // 0007 JMPF R1 #0009 + 0x80060A00, // 0008 RET 1 K5 + 0x60040018, // 0009 GETGBL R1 G24 + 0x58080006, // 000A LDCONST R2 K6 + 0x880C0100, // 000B GETMBR R3 R0 K0 + 0x7C040400, // 000C CALL R1 2 + 0x80040200, // 000D RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Partition_info_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[60]) { /* code */ + 0x90020101, // 0000 SETMBR R0 K0 K1 + 0x90020501, // 0001 SETMBR R0 K2 K1 + 0x90020F01, // 0002 SETMBR R0 K7 K1 + 0x90021101, // 0003 SETMBR R0 K8 K1 + 0x9002130A, // 0004 SETMBR R0 K9 K10 + 0x90021701, // 0005 SETMBR R0 K11 K1 + 0x6008000E, // 0006 GETGBL R2 G14 + 0x600C0015, // 0007 GETGBL R3 G21 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C080400, // 0009 CALL R2 2 + 0x740A0000, // 000A JMPT R2 #000C + 0x80000400, // 000B RET 0 + 0x8C08030C, // 000C GETMET R2 R1 K12 + 0x58100001, // 000D LDCONST R4 K1 + 0x5814000D, // 000E LDCONST R5 K13 + 0x7C080600, // 000F CALL R2 3 + 0x540E50A9, // 0010 LDINT R3 20650 + 0x1C0C0403, // 0011 EQ R3 R2 R3 + 0x780E0022, // 0012 JMPF R3 #0036 + 0x8C0C030C, // 0013 GETMET R3 R1 K12 + 0x5814000D, // 0014 LDCONST R5 K13 + 0x58180004, // 0015 LDCONST R6 K4 + 0x7C0C0600, // 0016 CALL R3 3 + 0x90020003, // 0017 SETMBR R0 K0 R3 + 0x8C0C030C, // 0018 GETMET R3 R1 K12 + 0x5814000E, // 0019 LDCONST R5 K14 + 0x58180004, // 001A LDCONST R6 K4 + 0x7C0C0600, // 001B CALL R3 3 + 0x90020403, // 001C SETMBR R0 K2 R3 + 0x8C0C030C, // 001D GETMET R3 R1 K12 + 0x54160003, // 001E LDINT R5 4 + 0x541A0003, // 001F LDINT R6 4 + 0x7C0C0600, // 0020 CALL R3 3 + 0x90020E03, // 0021 SETMBR R0 K7 R3 + 0x8C0C030C, // 0022 GETMET R3 R1 K12 + 0x54160007, // 0023 LDINT R5 8 + 0x541A0003, // 0024 LDINT R6 4 + 0x7C0C0600, // 0025 CALL R3 3 + 0x90021003, // 0026 SETMBR R0 K8 R3 + 0x8C0C010F, // 0027 GETMET R3 R0 K15 + 0x5416000B, // 0028 LDINT R5 12 + 0x541A001A, // 0029 LDINT R6 27 + 0x40140A06, // 002A CONNECT R5 R5 R6 + 0x94140205, // 002B GETIDX R5 R1 R5 + 0x7C0C0400, // 002C CALL R3 2 + 0x8C0C0710, // 002D GETMET R3 R3 K16 + 0x7C0C0200, // 002E CALL R3 1 + 0x90021203, // 002F SETMBR R0 K9 R3 + 0x8C0C030C, // 0030 GETMET R3 R1 K12 + 0x5416001B, // 0031 LDINT R5 28 + 0x541A0003, // 0032 LDINT R6 4 + 0x7C0C0600, // 0033 CALL R3 3 + 0x90021603, // 0034 SETMBR R0 K11 R3 + 0x70020004, // 0035 JMP #003B + 0x600C0018, // 0036 GETGBL R3 G24 + 0x58100011, // 0037 LDCONST R4 K17 + 0x5C140400, // 0038 MOVE R5 R2 + 0x7C0C0400, // 0039 CALL R3 2 + 0xB0062403, // 003A RAISE 1 K18 R3 + 0x80000000, // 003B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subtype_to_string +********************************************************************/ +be_local_closure(class_Partition_info_subtype_to_string, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_subtype_to_string, + &be_const_str_solidified, + ( &(const binstruction[87]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x1C040301, // 0001 EQ R1 R1 K1 + 0x7806001A, // 0002 JMPF R1 #001E + 0x88040102, // 0003 GETMBR R1 R0 K2 + 0x1C040301, // 0004 EQ R1 R1 K1 + 0x78060001, // 0005 JMPF R1 #0008 + 0x80062600, // 0006 RET 1 K19 + 0x70020014, // 0007 JMP #001D + 0x88040102, // 0008 GETMBR R1 R0 K2 + 0x540A000F, // 0009 LDINT R2 16 + 0x28040202, // 000A GE R1 R1 R2 + 0x7806000B, // 000B JMPF R1 #0018 + 0x88040102, // 000C GETMBR R1 R0 K2 + 0x540A001F, // 000D LDINT R2 32 + 0x14040202, // 000E LT R1 R1 R2 + 0x78060007, // 000F JMPF R1 #0018 + 0x60040008, // 0010 GETGBL R1 G8 + 0x88080102, // 0011 GETMBR R2 R0 K2 + 0x540E000F, // 0012 LDINT R3 16 + 0x04080403, // 0013 SUB R2 R2 R3 + 0x7C040200, // 0014 CALL R1 1 + 0x00062801, // 0015 ADD R1 K20 R1 + 0x80040200, // 0016 RET 1 R1 + 0x70020004, // 0017 JMP #001D + 0x88040102, // 0018 GETMBR R1 R0 K2 + 0x540A001F, // 0019 LDINT R2 32 + 0x1C040202, // 001A EQ R1 R1 R2 + 0x78060000, // 001B JMPF R1 #001D + 0x80062A00, // 001C RET 1 K21 + 0x70020033, // 001D JMP #0052 + 0x88040100, // 001E GETMBR R1 R0 K0 + 0x1C040304, // 001F EQ R1 R1 K4 + 0x78060030, // 0020 JMPF R1 #0052 + 0x88040102, // 0021 GETMBR R1 R0 K2 + 0x1C040301, // 0022 EQ R1 R1 K1 + 0x78060001, // 0023 JMPF R1 #0026 + 0x80062C00, // 0024 RET 1 K22 + 0x7002002B, // 0025 JMP #0052 + 0x88040102, // 0026 GETMBR R1 R0 K2 + 0x1C040304, // 0027 EQ R1 R1 K4 + 0x78060001, // 0028 JMPF R1 #002B + 0x80062E00, // 0029 RET 1 K23 + 0x70020026, // 002A JMP #0052 + 0x88040102, // 002B GETMBR R1 R0 K2 + 0x1C04030D, // 002C EQ R1 R1 K13 + 0x78060001, // 002D JMPF R1 #0030 + 0x80063000, // 002E RET 1 K24 + 0x70020021, // 002F JMP #0052 + 0x88040102, // 0030 GETMBR R1 R0 K2 + 0x1C04030E, // 0031 EQ R1 R1 K14 + 0x78060001, // 0032 JMPF R1 #0035 + 0x80063200, // 0033 RET 1 K25 + 0x7002001C, // 0034 JMP #0052 + 0x88040102, // 0035 GETMBR R1 R0 K2 + 0x540A0003, // 0036 LDINT R2 4 + 0x1C040202, // 0037 EQ R1 R1 R2 + 0x78060001, // 0038 JMPF R1 #003B + 0x80063400, // 0039 RET 1 K26 + 0x70020016, // 003A JMP #0052 + 0x88040102, // 003B GETMBR R1 R0 K2 + 0x540A0004, // 003C LDINT R2 5 + 0x1C040202, // 003D EQ R1 R1 R2 + 0x78060001, // 003E JMPF R1 #0041 + 0x80063600, // 003F RET 1 K27 + 0x70020010, // 0040 JMP #0052 + 0x88040102, // 0041 GETMBR R1 R0 K2 + 0x540A007F, // 0042 LDINT R2 128 + 0x1C040202, // 0043 EQ R1 R1 R2 + 0x78060001, // 0044 JMPF R1 #0047 + 0x80063800, // 0045 RET 1 K28 + 0x7002000A, // 0046 JMP #0052 + 0x88040102, // 0047 GETMBR R1 R0 K2 + 0x540A0080, // 0048 LDINT R2 129 + 0x1C040202, // 0049 EQ R1 R1 R2 + 0x78060001, // 004A JMPF R1 #004D + 0x80063A00, // 004B RET 1 K29 + 0x70020004, // 004C JMP #0052 + 0x88040102, // 004D GETMBR R1 R0 K2 + 0x540A0081, // 004E LDINT R2 130 + 0x1C040202, // 004F EQ R1 R1 R2 + 0x78060000, // 0050 JMPF R1 #0052 + 0x80063C00, // 0051 RET 1 K30 + 0x60040018, // 0052 GETGBL R1 G24 + 0x58080006, // 0053 LDCONST R2 K6 + 0x880C0102, // 0054 GETMBR R3 R0 K2 + 0x7C040400, // 0055 CALL R1 2 + 0x80040200, // 0056 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Partition_info_tostring, /* name */ + be_nested_proto( + 13, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x8C04011F, // 0000 GETMET R1 R0 K31 + 0x7C040200, // 0001 CALL R1 1 + 0x8C080120, // 0002 GETMET R2 R0 K32 + 0x7C080200, // 0003 CALL R2 1 + 0x200C030A, // 0004 NE R3 R1 K10 + 0x780E0002, // 0005 JMPF R3 #0009 + 0x000E4201, // 0006 ADD R3 K33 R1 + 0x000C0722, // 0007 ADD R3 R3 K34 + 0x5C040600, // 0008 MOVE R1 R3 + 0x200C050A, // 0009 NE R3 R2 K10 + 0x780E0002, // 000A JMPF R3 #000E + 0x000E4202, // 000B ADD R3 K33 R2 + 0x000C0722, // 000C ADD R3 R3 K34 + 0x5C080600, // 000D MOVE R2 R3 + 0x600C0018, // 000E GETGBL R3 G24 + 0x58100023, // 000F LDCONST R4 K35 + 0x88140100, // 0010 GETMBR R5 R0 K0 + 0x5C180200, // 0011 MOVE R6 R1 + 0x881C0102, // 0012 GETMBR R7 R0 K2 + 0x5C200400, // 0013 MOVE R8 R2 + 0x88240107, // 0014 GETMBR R9 R0 K7 + 0x88280108, // 0015 GETMBR R10 R0 K8 + 0x882C0109, // 0016 GETMBR R11 R0 K9 + 0x8830010B, // 0017 GETMBR R12 R0 K11 + 0x7C0C1200, // 0018 CALL R3 9 + 0x80040600, // 0019 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_ota +********************************************************************/ +be_local_closure(class_Partition_info_is_ota, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_is_ota, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x1C080501, // 0002 EQ R2 R2 K1 + 0x780A0008, // 0003 JMPF R2 #000D + 0x540A000F, // 0004 LDINT R2 16 + 0x28080202, // 0005 GE R2 R1 R2 + 0x780A0005, // 0006 JMPF R2 #000D + 0x540A001F, // 0007 LDINT R2 32 + 0x14080202, // 0008 LT R2 R1 R2 + 0x780A0002, // 0009 JMPF R2 #000D + 0x540A000F, // 000A LDINT R2 16 + 0x04080202, // 000B SUB R2 R1 R2 + 0x80040400, // 000C RET 1 R2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tobytes +********************************************************************/ +be_local_closure(class_Partition_info_tobytes, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_tobytes, + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0x60040015, // 0000 GETGBL R1 G21 + 0x58080024, // 0001 LDCONST R2 K36 + 0x7C040200, // 0002 CALL R1 1 + 0x8C080325, // 0003 GETMET R2 R1 K37 + 0x5412001F, // 0004 LDINT R4 32 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080525, // 0006 GETMET R2 R2 K37 + 0x5810000D, // 0007 LDCONST R4 K13 + 0x7C080400, // 0008 CALL R2 2 + 0x8C080326, // 0009 GETMET R2 R1 K38 + 0x88100100, // 000A GETMBR R4 R0 K0 + 0x58140004, // 000B LDCONST R5 K4 + 0x7C080600, // 000C CALL R2 3 + 0x8C080326, // 000D GETMET R2 R1 K38 + 0x88100102, // 000E GETMBR R4 R0 K2 + 0x58140004, // 000F LDCONST R5 K4 + 0x7C080600, // 0010 CALL R2 3 + 0x8C080326, // 0011 GETMET R2 R1 K38 + 0x88100107, // 0012 GETMBR R4 R0 K7 + 0x54160003, // 0013 LDINT R5 4 + 0x7C080600, // 0014 CALL R2 3 + 0x8C080326, // 0015 GETMET R2 R1 K38 + 0x88100108, // 0016 GETMBR R4 R0 K8 + 0x54160003, // 0017 LDINT R5 4 + 0x7C080600, // 0018 CALL R2 3 + 0x60080015, // 0019 GETGBL R2 G21 + 0x7C080000, // 001A CALL R2 0 + 0x8C080527, // 001B GETMET R2 R2 K39 + 0x88100109, // 001C GETMBR R4 R0 K9 + 0x7C080400, // 001D CALL R2 2 + 0x8C0C0525, // 001E GETMET R3 R2 K37 + 0x5416000F, // 001F LDINT R5 16 + 0x7C0C0400, // 0020 CALL R3 2 + 0x00040202, // 0021 ADD R1 R1 R2 + 0x8C0C0326, // 0022 GETMET R3 R1 K38 + 0x8814010B, // 0023 GETMBR R5 R0 K11 + 0x541A0003, // 0024 LDINT R6 4 + 0x7C0C0600, // 0025 CALL R3 3 + 0x80040200, // 0026 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_trailing_zeroes +********************************************************************/ +be_local_closure(class_Partition_info_remove_trailing_zeroes, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_remove_trailing_zeroes, + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58040028, // 0000 LDCONST R1 K40 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x580C0001, // 0004 LDCONST R3 K1 + 0x14100602, // 0005 LT R4 R3 R2 + 0x78120007, // 0006 JMPF R4 #000F + 0x5411FFFE, // 0007 LDINT R4 -1 + 0x04100803, // 0008 SUB R4 R4 R3 + 0x94100004, // 0009 GETIDX R4 R0 R4 + 0x20100901, // 000A NE R4 R4 K1 + 0x78120000, // 000B JMPF R4 #000D + 0x70020001, // 000C JMP #000F + 0x000C0704, // 000D ADD R3 R3 K4 + 0x7001FFF5, // 000E JMP #0005 + 0x24100701, // 000F GT R4 R3 K1 + 0x78120005, // 0010 JMPF R4 #0017 + 0x8C100125, // 0011 GETMET R4 R0 K37 + 0x6018000C, // 0012 GETGBL R6 G12 + 0x5C1C0000, // 0013 MOVE R7 R0 + 0x7C180200, // 0014 CALL R6 1 + 0x04180C03, // 0015 SUB R6 R6 R3 + 0x7C100400, // 0016 CALL R4 2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_spiffs +********************************************************************/ +be_local_closure(class_Partition_info_is_spiffs, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_is_spiffs, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x1C040304, // 0001 EQ R1 R1 K4 + 0x78060003, // 0002 JMPF R1 #0007 + 0x88040102, // 0003 GETMBR R1 R0 K2 + 0x540A0081, // 0004 LDINT R2 130 + 0x1C040202, // 0005 EQ R1 R1 R2 + 0x74060000, // 0006 JMPT R1 #0008 + 0x50040001, // 0007 LDBOOL R1 0 1 + 0x50040200, // 0008 LDBOOL R1 1 0 + 0x80040200, // 0009 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_image_size +********************************************************************/ +be_local_closure(class_Partition_info_get_image_size, /* name */ + be_nested_proto( + 14, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Partition_info, /* shared constants */ + &be_const_str_get_image_size, + &be_const_str_solidified, + ( &(const binstruction[85]) { /* code */ + 0xA4065200, // 0000 IMPORT R1 K41 + 0x8C08012A, // 0001 GETMET R2 R0 K42 + 0x7C080200, // 0002 CALL R2 1 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C080403, // 0004 EQ R2 R2 R3 + 0x780A0004, // 0005 JMPF R2 #000B + 0x8C08012B, // 0006 GETMET R2 R0 K43 + 0x7C080200, // 0007 CALL R2 1 + 0x740A0001, // 0008 JMPT R2 #000B + 0x5409FFFE, // 0009 LDINT R2 -1 + 0x80040400, // 000A RET 1 R2 + 0xA802003A, // 000B EXBLK 0 #0047 + 0x88080107, // 000C GETMBR R2 R0 K7 + 0x880C0108, // 000D GETMBR R3 R0 K8 + 0x8C10032C, // 000E GETMET R4 R1 K44 + 0x5C180400, // 000F MOVE R6 R2 + 0x581C0004, // 0010 LDCONST R7 K4 + 0x7C100600, // 0011 CALL R4 3 + 0x8C10090C, // 0012 GETMET R4 R4 K12 + 0x58180001, // 0013 LDCONST R6 K1 + 0x581C0004, // 0014 LDCONST R7 K4 + 0x7C100600, // 0015 CALL R4 3 + 0x541600E8, // 0016 LDINT R5 233 + 0x20140805, // 0017 NE R5 R4 R5 + 0x78160002, // 0018 JMPF R5 #001C + 0x5415FFFE, // 0019 LDINT R5 -1 + 0xA8040001, // 001A EXBLK 1 1 + 0x80040A00, // 001B RET 1 R5 + 0x8C14032C, // 001C GETMET R5 R1 K44 + 0x001C0504, // 001D ADD R7 R2 K4 + 0x58200004, // 001E LDCONST R8 K4 + 0x7C140600, // 001F CALL R5 3 + 0x8C140B0C, // 0020 GETMET R5 R5 K12 + 0x581C0001, // 0021 LDCONST R7 K1 + 0x58200004, // 0022 LDCONST R8 K4 + 0x7C140600, // 0023 CALL R5 3 + 0x541A001F, // 0024 LDINT R6 32 + 0x00180406, // 0025 ADD R6 R2 R6 + 0x581C0001, // 0026 LDCONST R7 K1 + 0x14200E05, // 0027 LT R8 R7 R5 + 0x78220017, // 0028 JMPF R8 #0041 + 0x8C20032C, // 0029 GETMET R8 R1 K44 + 0x542A0007, // 002A LDINT R10 8 + 0x04280C0A, // 002B SUB R10 R6 R10 + 0x542E0007, // 002C LDINT R11 8 + 0x7C200600, // 002D CALL R8 3 + 0x8C24110C, // 002E GETMET R9 R8 K12 + 0x582C0001, // 002F LDCONST R11 K1 + 0x54320003, // 0030 LDINT R12 4 + 0x7C240600, // 0031 CALL R9 3 + 0x8C28110C, // 0032 GETMET R10 R8 K12 + 0x54320003, // 0033 LDINT R12 4 + 0x54360003, // 0034 LDINT R13 4 + 0x7C280600, // 0035 CALL R10 3 + 0x542E0007, // 0036 LDINT R11 8 + 0x002C140B, // 0037 ADD R11 R10 R11 + 0x00180C0B, // 0038 ADD R6 R6 R11 + 0x002C0403, // 0039 ADD R11 R2 R3 + 0x282C0C0B, // 003A GE R11 R6 R11 + 0x782E0002, // 003B JMPF R11 #003F + 0x542DFFFE, // 003C LDINT R11 -1 + 0xA8040001, // 003D EXBLK 1 1 + 0x80041600, // 003E RET 1 R11 + 0x001C0F04, // 003F ADD R7 R7 K4 + 0x7001FFE5, // 0040 JMP #0027 + 0x04200C02, // 0041 SUB R8 R6 R2 + 0x00201104, // 0042 ADD R8 R8 K4 + 0xA8040001, // 0043 EXBLK 1 1 + 0x80041000, // 0044 RET 1 R8 + 0xA8040001, // 0045 EXBLK 1 1 + 0x7002000C, // 0046 JMP #0054 + 0xAC080002, // 0047 CATCH R2 0 2 + 0x70020009, // 0048 JMP #0053 + 0xB8125A00, // 0049 GETNGBL R4 K45 + 0x8C10092E, // 004A GETMET R4 R4 K46 + 0x001A5E02, // 004B ADD R6 K47 R2 + 0x00180D30, // 004C ADD R6 R6 K48 + 0x00180C03, // 004D ADD R6 R6 R3 + 0x581C000D, // 004E LDCONST R7 K13 + 0x7C100600, // 004F CALL R4 3 + 0x5411FFFE, // 0050 LDINT R4 -1 + 0x80040800, // 0051 RET 1 R4 + 0x70020000, // 0052 JMP #0054 + 0xB0080000, // 0053 RAISE 2 R0 R0 + 0x80000000, // 0054 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Partition_info +********************************************************************/ +be_local_class(Partition_info, + 6, + NULL, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(is_factory, -1), be_const_closure(class_Partition_info_is_factory_closure) }, + { be_const_key(get_image_size, -1), be_const_closure(class_Partition_info_get_image_size_closure) }, + { be_const_key(is_spiffs, -1), be_const_closure(class_Partition_info_is_spiffs_closure) }, + { be_const_key(init, -1), be_const_closure(class_Partition_info_init_closure) }, + { be_const_key(type, 10), be_const_var(0) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_info_tostring_closure) }, + { be_const_key(flags, -1), be_const_var(5) }, + { be_const_key(tobytes, -1), be_const_closure(class_Partition_info_tobytes_closure) }, + { be_const_key(sz, -1), be_const_var(3) }, + { be_const_key(remove_trailing_zeroes, 2), be_const_static_closure(class_Partition_info_remove_trailing_zeroes_closure) }, + { be_const_key(label, 11), be_const_var(4) }, + { be_const_key(subtype, 14), be_const_var(1) }, + { be_const_key(is_ota, 6), be_const_closure(class_Partition_info_is_ota_closure) }, + { be_const_key(type_to_string, 4), be_const_closure(class_Partition_info_type_to_string_closure) }, + { be_const_key(subtype_to_string, -1), be_const_closure(class_Partition_info_subtype_to_string_closure) }, + { be_const_key(start, 1), be_const_var(2) }, + })), + (bstring*) &be_const_str_Partition_info +); + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(init, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(partition_core), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x90060200, // 0001 SETMBR R1 K1 R0 + 0x80040000, // 0002 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: partition_core +********************************************************************/ +be_local_module(partition_core, + "partition_core", + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(Partition_otadata, -1), be_const_class(be_class_Partition_otadata) }, + { be_const_key(Partition, -1), be_const_class(be_class_Partition) }, + { be_const_key(Partition_info, -1), be_const_class(be_class_Partition_info) }, + { be_const_key(init, -1), be_const_closure(init_closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(partition_core); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core_shelly.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core_shelly.h new file mode 100644 index 000000000..ba79c01a3 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_partition_core_shelly.h @@ -0,0 +1,7 @@ +/* Solidification of partition_core_shelly.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_persist.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_persist.h new file mode 100644 index 000000000..fcdbef8d3 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_persist.h @@ -0,0 +1,721 @@ +/* Solidification of persist.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(Persist), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + +// compact class 'Persist' ktab size: 35, total: 66 (saved 248 bytes) +static const bvalue be_ktab_class_Persist[35] = { + /* K0 */ be_nested_str(_dirty), + /* K1 */ be_nested_str(_filename), + /* K2 */ be_nested_str(w), + /* K3 */ be_nested_str(json_fdump), + /* K4 */ be_nested_str(close), + /* K5 */ be_nested_str(write), + /* K6 */ be_nested_str(_X7B_X7D), + /* K7 */ be_nested_str(_p), + /* K8 */ be_nested_str(load), + /* K9 */ be_nested_str(remove), + /* K10 */ be_nested_str(contains), + /* K11 */ be_nested_str(json), + /* K12 */ be_nested_str(json_fdump_map), + /* K13 */ be_nested_str(internal_error), + /* K14 */ be_nested_str(persist_X2E_p_X20is_X20not_X20a_X20map), + /* K15 */ be_nested_str(_X7B), + /* K16 */ be_nested_str(keys), + /* K17 */ be_nested_str(dump), + /* K18 */ be_nested_str(_X3A), + /* K19 */ be_nested_str(json_fdump_any), + /* K20 */ be_nested_str(_X2C), + /* K21 */ be_nested_str(stop_iteration), + /* K22 */ be_nested_str(_X7D), + /* K23 */ be_nested_str(find), + /* K24 */ be_nested_str(_X5B), + /* K25 */ be_const_int(0), + /* K26 */ be_const_int(1), + /* K27 */ be_nested_str(_X5D), + /* K28 */ be_nested_str(path), + /* K29 */ be_nested_str(exists), + /* K30 */ be_nested_str(r), + /* K31 */ be_nested_str(read), + /* K32 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson), + /* K33 */ be_nested_str(save), + /* K34 */ be_nested_str(json_fdump_list), +}; + + +extern const bclass be_class_Persist; + +/******************************************************************** +** Solidified function: save +********************************************************************/ +be_local_closure(class_Persist_save, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_save, + &be_const_str_solidified, + ( &(const binstruction[51]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x740A0000, // 0001 JMPT R2 #0003 + 0x7806002E, // 0002 JMPF R1 #0032 + 0x4C080000, // 0003 LDNIL R2 + 0xA802000B, // 0004 EXBLK 0 #0011 + 0x600C0011, // 0005 GETGBL R3 G17 + 0x88100101, // 0006 GETMBR R4 R0 K1 + 0x58140002, // 0007 LDCONST R5 K2 + 0x7C0C0400, // 0008 CALL R3 2 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C0103, // 000A GETMET R3 R0 K3 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x8C0C0504, // 000D GETMET R3 R2 K4 + 0x7C0C0200, // 000E CALL R3 1 + 0xA8040001, // 000F EXBLK 1 1 + 0x7002001E, // 0010 JMP #0030 + 0xAC0C0002, // 0011 CATCH R3 0 2 + 0x7002001B, // 0012 JMP #002F + 0x4C140000, // 0013 LDNIL R5 + 0x20140405, // 0014 NE R5 R2 R5 + 0x78160001, // 0015 JMPF R5 #0018 + 0x8C140504, // 0016 GETMET R5 R2 K4 + 0x7C140200, // 0017 CALL R5 1 + 0x4C080000, // 0018 LDNIL R2 + 0xA8020009, // 0019 EXBLK 0 #0024 + 0x60140011, // 001A GETGBL R5 G17 + 0x88180101, // 001B GETMBR R6 R0 K1 + 0x581C0002, // 001C LDCONST R7 K2 + 0x7C140400, // 001D CALL R5 2 + 0x5C080A00, // 001E MOVE R2 R5 + 0x8C140505, // 001F GETMET R5 R2 K5 + 0x581C0006, // 0020 LDCONST R7 K6 + 0x7C140400, // 0021 CALL R5 2 + 0xA8040001, // 0022 EXBLK 1 1 + 0x70020003, // 0023 JMP #0028 + 0xAC140000, // 0024 CATCH R5 0 0 + 0x70020000, // 0025 JMP #0027 + 0x70020000, // 0026 JMP #0028 + 0xB0080000, // 0027 RAISE 2 R0 R0 + 0x4C140000, // 0028 LDNIL R5 + 0x20140405, // 0029 NE R5 R2 R5 + 0x78160001, // 002A JMPF R5 #002D + 0x8C140504, // 002B GETMET R5 R2 K4 + 0x7C140200, // 002C CALL R5 1 + 0xB0040604, // 002D RAISE 1 R3 R4 + 0x70020000, // 002E JMP #0030 + 0xB0080000, // 002F RAISE 2 R0 R0 + 0x500C0000, // 0030 LDBOOL R3 0 0 + 0x90020003, // 0031 SETMBR R0 K0 R3 + 0x80000000, // 0032 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_Persist_setmember, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_setmember, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x880C0107, // 0000 GETMBR R3 R0 K7 + 0x980C0202, // 0001 SETIDX R3 R1 R2 + 0x500C0200, // 0002 LDBOOL R3 1 0 + 0x90020003, // 0003 SETMBR R0 K0 R3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Persist_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60040013, // 0000 GETGBL R1 G19 + 0x7C040000, // 0001 CALL R1 0 + 0x90020E01, // 0002 SETMBR R0 K7 R1 + 0x50040000, // 0003 LDBOOL R1 0 0 + 0x90020001, // 0004 SETMBR R0 K0 R1 + 0x8C040108, // 0005 GETMET R1 R0 K8 + 0x7C040200, // 0006 CALL R1 1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove +********************************************************************/ +be_local_closure(class_Persist_remove, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_remove, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C080509, // 0001 GETMET R2 R2 K9 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x50080200, // 0004 LDBOOL R2 1 0 + 0x90020002, // 0005 SETMBR R0 K0 R2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: contains +********************************************************************/ +be_local_closure(class_Persist_contains, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_contains, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dirty +********************************************************************/ +be_local_closure(class_Persist_dirty, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_dirty, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x50040200, // 0000 LDBOOL R1 1 0 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: json_fdump +********************************************************************/ +be_local_closure(class_Persist_json_fdump, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_json_fdump, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA40A1600, // 0000 IMPORT R2 K11 + 0x600C000F, // 0001 GETGBL R3 G15 + 0x88100107, // 0002 GETMBR R4 R0 K7 + 0x60140013, // 0003 GETGBL R5 G19 + 0x7C0C0400, // 0004 CALL R3 2 + 0x780E0004, // 0005 JMPF R3 #000B + 0x8C0C010C, // 0006 GETMET R3 R0 K12 + 0x5C140200, // 0007 MOVE R5 R1 + 0x88180107, // 0008 GETMBR R6 R0 K7 + 0x7C0C0600, // 0009 CALL R3 3 + 0x70020000, // 000A JMP #000C + 0xB0061B0E, // 000B RAISE 1 K13 K14 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: has +********************************************************************/ +be_local_closure(class_Persist_has, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_has, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: json_fdump_map +********************************************************************/ +be_local_closure(class_Persist_json_fdump_map, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_json_fdump_map, + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0xA40E1600, // 0000 IMPORT R3 K11 + 0x8C100305, // 0001 GETMET R4 R1 K5 + 0x5818000F, // 0002 LDCONST R6 K15 + 0x7C100400, // 0003 CALL R4 2 + 0x4C100000, // 0004 LDNIL R4 + 0x60140010, // 0005 GETGBL R5 G16 + 0x8C180510, // 0006 GETMET R6 R2 K16 + 0x7C180200, // 0007 CALL R6 1 + 0x7C140200, // 0008 CALL R5 1 + 0xA8020017, // 0009 EXBLK 0 #0022 + 0x5C180A00, // 000A MOVE R6 R5 + 0x7C180000, // 000B CALL R6 0 + 0x4C1C0000, // 000C LDNIL R7 + 0x201C0807, // 000D NE R7 R4 R7 + 0x781E0002, // 000E JMPF R7 #0012 + 0x8C1C0305, // 000F GETMET R7 R1 K5 + 0x5C240800, // 0010 MOVE R9 R4 + 0x7C1C0400, // 0011 CALL R7 2 + 0x8C1C0305, // 0012 GETMET R7 R1 K5 + 0x8C240711, // 0013 GETMET R9 R3 K17 + 0x602C0008, // 0014 GETGBL R11 G8 + 0x5C300C00, // 0015 MOVE R12 R6 + 0x7C2C0200, // 0016 CALL R11 1 + 0x7C240400, // 0017 CALL R9 2 + 0x7C1C0400, // 0018 CALL R7 2 + 0x8C1C0305, // 0019 GETMET R7 R1 K5 + 0x58240012, // 001A LDCONST R9 K18 + 0x7C1C0400, // 001B CALL R7 2 + 0x8C1C0113, // 001C GETMET R7 R0 K19 + 0x5C240200, // 001D MOVE R9 R1 + 0x94280406, // 001E GETIDX R10 R2 R6 + 0x7C1C0600, // 001F CALL R7 3 + 0x58100014, // 0020 LDCONST R4 K20 + 0x7001FFE7, // 0021 JMP #000A + 0x58140015, // 0022 LDCONST R5 K21 + 0xAC140200, // 0023 CATCH R5 1 0 + 0xB0080000, // 0024 RAISE 2 R0 R0 + 0x8C140305, // 0025 GETMET R5 R1 K5 + 0x581C0016, // 0026 LDCONST R7 K22 + 0x7C140400, // 0027 CALL R5 2 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_Persist_member, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_member, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C080517, // 0001 GETMET R2 R2 K23 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: zero +********************************************************************/ +be_local_closure(class_Persist_zero, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_zero, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60040013, // 0000 GETGBL R1 G19 + 0x7C040000, // 0001 CALL R1 0 + 0x90020E01, // 0002 SETMBR R0 K7 R1 + 0x50040200, // 0003 LDBOOL R1 1 0 + 0x90020001, // 0004 SETMBR R0 K0 R1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: json_fdump_list +********************************************************************/ +be_local_closure(class_Persist_json_fdump_list, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_json_fdump_list, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xA40E1600, // 0000 IMPORT R3 K11 + 0x8C100305, // 0001 GETMET R4 R1 K5 + 0x58180018, // 0002 LDCONST R6 K24 + 0x7C100400, // 0003 CALL R4 2 + 0x58100019, // 0004 LDCONST R4 K25 + 0x6014000C, // 0005 GETGBL R5 G12 + 0x5C180400, // 0006 MOVE R6 R2 + 0x7C140200, // 0007 CALL R5 1 + 0x14140805, // 0008 LT R5 R4 R5 + 0x7816000A, // 0009 JMPF R5 #0015 + 0x24140919, // 000A GT R5 R4 K25 + 0x78160002, // 000B JMPF R5 #000F + 0x8C140305, // 000C GETMET R5 R1 K5 + 0x581C0014, // 000D LDCONST R7 K20 + 0x7C140400, // 000E CALL R5 2 + 0x8C140113, // 000F GETMET R5 R0 K19 + 0x5C1C0200, // 0010 MOVE R7 R1 + 0x94200404, // 0011 GETIDX R8 R2 R4 + 0x7C140600, // 0012 CALL R5 3 + 0x0010091A, // 0013 ADD R4 R4 K26 + 0x7001FFEF, // 0014 JMP #0005 + 0x8C140305, // 0015 GETMET R5 R1 K5 + 0x581C001B, // 0016 LDCONST R7 K27 + 0x7C140400, // 0017 CALL R5 2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load +********************************************************************/ +be_local_closure(class_Persist_load, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_load, + &be_const_str_solidified, + ( &(const binstruction[49]) { /* code */ + 0xA4061600, // 0000 IMPORT R1 K11 + 0xA40A3800, // 0001 IMPORT R2 K28 + 0x4C0C0000, // 0002 LDNIL R3 + 0x4C100000, // 0003 LDNIL R4 + 0x8C14051D, // 0004 GETMET R5 R2 K29 + 0x881C0101, // 0005 GETMBR R7 R0 K1 + 0x7C140400, // 0006 CALL R5 2 + 0x78160025, // 0007 JMPF R5 #002E + 0xA802000D, // 0008 EXBLK 0 #0017 + 0x60140011, // 0009 GETGBL R5 G17 + 0x88180101, // 000A GETMBR R6 R0 K1 + 0x581C001E, // 000B LDCONST R7 K30 + 0x7C140400, // 000C CALL R5 2 + 0x5C0C0A00, // 000D MOVE R3 R5 + 0x8C140308, // 000E GETMET R5 R1 K8 + 0x8C1C071F, // 000F GETMET R7 R3 K31 + 0x7C1C0200, // 0010 CALL R7 1 + 0x7C140400, // 0011 CALL R5 2 + 0x5C100A00, // 0012 MOVE R4 R5 + 0x8C140704, // 0013 GETMET R5 R3 K4 + 0x7C140200, // 0014 CALL R5 1 + 0xA8040001, // 0015 EXBLK 1 1 + 0x70020009, // 0016 JMP #0021 + 0xAC140002, // 0017 CATCH R5 0 2 + 0x70020006, // 0018 JMP #0020 + 0x4C1C0000, // 0019 LDNIL R7 + 0x201C0607, // 001A NE R7 R3 R7 + 0x781E0001, // 001B JMPF R7 #001E + 0x8C1C0704, // 001C GETMET R7 R3 K4 + 0x7C1C0200, // 001D CALL R7 1 + 0xB0040A06, // 001E RAISE 1 R5 R6 + 0x70020000, // 001F JMP #0021 + 0xB0080000, // 0020 RAISE 2 R0 R0 + 0x6014000F, // 0021 GETGBL R5 G15 + 0x5C180800, // 0022 MOVE R6 R4 + 0x601C0013, // 0023 GETGBL R7 G19 + 0x7C140400, // 0024 CALL R5 2 + 0x78160001, // 0025 JMPF R5 #0028 + 0x90020E04, // 0026 SETMBR R0 K7 R4 + 0x70020002, // 0027 JMP #002B + 0x60140001, // 0028 GETGBL R5 G1 + 0x58180020, // 0029 LDCONST R6 K32 + 0x7C140200, // 002A CALL R5 1 + 0x50140000, // 002B LDBOOL R5 0 0 + 0x90020005, // 002C SETMBR R0 K0 R5 + 0x70020001, // 002D JMP #0030 + 0x8C140121, // 002E GETMET R5 R0 K33 + 0x7C140200, // 002F CALL R5 1 + 0x80000000, // 0030 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: json_fdump_any +********************************************************************/ +be_local_closure(class_Persist_json_fdump_any, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_json_fdump_any, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0xA40E1600, // 0000 IMPORT R3 K11 + 0x6010000F, // 0001 GETGBL R4 G15 + 0x5C140400, // 0002 MOVE R5 R2 + 0x60180013, // 0003 GETGBL R6 G19 + 0x7C100400, // 0004 CALL R4 2 + 0x78120004, // 0005 JMPF R4 #000B + 0x8C10010C, // 0006 GETMET R4 R0 K12 + 0x5C180200, // 0007 MOVE R6 R1 + 0x5C1C0400, // 0008 MOVE R7 R2 + 0x7C100600, // 0009 CALL R4 3 + 0x7002000E, // 000A JMP #001A + 0x6010000F, // 000B GETGBL R4 G15 + 0x5C140400, // 000C MOVE R5 R2 + 0x60180012, // 000D GETGBL R6 G18 + 0x7C100400, // 000E CALL R4 2 + 0x78120004, // 000F JMPF R4 #0015 + 0x8C100122, // 0010 GETMET R4 R0 K34 + 0x5C180200, // 0011 MOVE R6 R1 + 0x5C1C0400, // 0012 MOVE R7 R2 + 0x7C100600, // 0013 CALL R4 3 + 0x70020004, // 0014 JMP #001A + 0x8C100305, // 0015 GETMET R4 R1 K5 + 0x8C180711, // 0016 GETMET R6 R3 K17 + 0x5C200400, // 0017 MOVE R8 R2 + 0x7C180400, // 0018 CALL R6 2 + 0x7C100400, // 0019 CALL R4 2 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find +********************************************************************/ +be_local_closure(class_Persist_find, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Persist, /* shared constants */ + &be_const_str_find, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x880C0107, // 0000 GETMBR R3 R0 K7 + 0x8C0C0717, // 0001 GETMET R3 R3 K23 + 0x5C140200, // 0002 MOVE R5 R1 + 0x5C180400, // 0003 MOVE R6 R2 + 0x7C0C0600, // 0004 CALL R3 3 + 0x80040600, // 0005 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Persist +********************************************************************/ +be_local_class(Persist, + 2, + NULL, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(save, -1), be_const_closure(class_Persist_save_closure) }, + { be_const_key(setmember, 12), be_const_closure(class_Persist_setmember_closure) }, + { be_const_key(dirty, -1), be_const_closure(class_Persist_dirty_closure) }, + { be_const_key(remove, -1), be_const_closure(class_Persist_remove_closure) }, + { be_const_key(contains, -1), be_const_closure(class_Persist_contains_closure) }, + { be_const_key(json_fdump_map, 2), be_const_closure(class_Persist_json_fdump_map_closure) }, + { be_const_key(json_fdump, -1), be_const_closure(class_Persist_json_fdump_closure) }, + { be_const_key(has, -1), be_const_closure(class_Persist_has_closure) }, + { be_const_key(_p, -1), be_const_var(0) }, + { be_const_key(json_fdump_any, -1), be_const_closure(class_Persist_json_fdump_any_closure) }, + { be_const_key(zero, -1), be_const_closure(class_Persist_zero_closure) }, + { be_const_key(load, 10), be_const_closure(class_Persist_load_closure) }, + { be_const_key(json_fdump_list, 5), be_const_closure(class_Persist_json_fdump_list_closure) }, + { be_const_key(member, 11), be_const_closure(class_Persist_member_closure) }, + { be_const_key(_dirty, -1), be_const_var(1) }, + { be_const_key(init, 9), be_const_closure(class_Persist_init_closure) }, + { be_const_key(find, -1), be_const_closure(class_Persist_find_closure) }, + { be_const_key(_filename, -1), be_nested_str(_persist_X2Ejson) }, + })), + (bstring*) &be_const_str_Persist +); + +/******************************************************************** +** Solidified module: persist +********************************************************************/ +be_local_module(persist, + "persist", + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(Persist, -1), be_const_class(be_class_Persist) }, + { be_const_key(init, 0), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(persist); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_python_compat.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_python_compat.h new file mode 100644 index 000000000..01d239710 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_python_compat.h @@ -0,0 +1,59 @@ +/* Solidification of python_compat.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(True), + /* K2 */ be_nested_str(False), + /* K3 */ be_nested_str(None), + /* K4 */ be_nested_str(b), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x90060202, // 0002 SETMBR R1 K1 R2 + 0x50080000, // 0003 LDBOOL R2 0 0 + 0x90060402, // 0004 SETMBR R1 K2 R2 + 0x4C080000, // 0005 LDNIL R2 + 0x90060602, // 0006 SETMBR R1 K3 R2 + 0x60080015, // 0007 GETGBL R2 G21 + 0x90060802, // 0008 SETMBR R1 K4 R2 + 0x80040000, // 0009 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: python_compat +********************************************************************/ +be_local_module(python_compat, + "python_compat", + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(python_compat); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_rule_matcher.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_rule_matcher.h new file mode 100644 index 000000000..66322afb7 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_rule_matcher.h @@ -0,0 +1,1483 @@ +/* Solidification of rule_matcher.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Rule_Matcher_Key; +// compact class 'Rule_Matcher_Key' ktab size: 9, total: 11 (saved 16 bytes) +static const bvalue be_ktab_class_Rule_Matcher_Key[9] = { + /* K0 */ be_nested_str(_X3CMatcher_X20key_X3D_X27), + /* K1 */ be_nested_str(name), + /* K2 */ be_nested_str(_X27_X3E), + /* K3 */ be_const_class(be_class_Rule_Matcher_Key), + /* K4 */ be_nested_str(string), + /* K5 */ be_nested_str(toupper), + /* K6 */ be_nested_str(keys), + /* K7 */ be_nested_str(stop_iteration), + /* K8 */ be_nested_str(find_key_i), +}; + + +extern const bclass be_class_Rule_Matcher_Key; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_Key_tostring, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Key, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x00060001, // 0003 ADD R1 K0 R1 + 0x00040302, // 0004 ADD R1 R1 K2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_key_i +********************************************************************/ +be_local_closure(class_Rule_Matcher_Key_find_key_i, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Key, /* shared constants */ + &be_const_str_find_key_i, + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x58080003, // 0000 LDCONST R2 K3 + 0xA40E0800, // 0001 IMPORT R3 K4 + 0x8C100705, // 0002 GETMET R4 R3 K5 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x6014000F, // 0005 GETGBL R5 G15 + 0x5C180000, // 0006 MOVE R6 R0 + 0x601C0013, // 0007 GETGBL R7 G19 + 0x7C140400, // 0008 CALL R5 2 + 0x78160013, // 0009 JMPF R5 #001E + 0x60140010, // 000A GETGBL R5 G16 + 0x8C180106, // 000B GETMET R6 R0 K6 + 0x7C180200, // 000C CALL R6 1 + 0x7C140200, // 000D CALL R5 1 + 0xA802000B, // 000E EXBLK 0 #001B + 0x5C180A00, // 000F MOVE R6 R5 + 0x7C180000, // 0010 CALL R6 0 + 0x8C1C0705, // 0011 GETMET R7 R3 K5 + 0x60240008, // 0012 GETGBL R9 G8 + 0x5C280C00, // 0013 MOVE R10 R6 + 0x7C240200, // 0014 CALL R9 1 + 0x7C1C0400, // 0015 CALL R7 2 + 0x1C1C0E04, // 0016 EQ R7 R7 R4 + 0x781E0001, // 0017 JMPF R7 #001A + 0xA8040001, // 0018 EXBLK 1 1 + 0x80040C00, // 0019 RET 1 R6 + 0x7001FFF3, // 001A JMP #000F + 0x58140007, // 001B LDCONST R5 K7 + 0xAC140200, // 001C CATCH R5 1 0 + 0xB0080000, // 001D RAISE 2 R0 R0 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_Key_match, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Key, /* shared constants */ + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x6008000F, // 0005 GETGBL R2 G15 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x60100013, // 0007 GETGBL R4 G19 + 0x7C080400, // 0008 CALL R2 2 + 0x740A0001, // 0009 JMPT R2 #000C + 0x4C080000, // 000A LDNIL R2 + 0x80040400, // 000B RET 1 R2 + 0x8C080108, // 000C GETMET R2 R0 K8 + 0x5C100200, // 000D MOVE R4 R1 + 0x88140101, // 000E GETMBR R5 R0 K1 + 0x7C080600, // 000F CALL R2 3 + 0x4C0C0000, // 0010 LDNIL R3 + 0x1C0C0403, // 0011 EQ R3 R2 R3 + 0x780E0001, // 0012 JMPF R3 #0015 + 0x4C0C0000, // 0013 LDNIL R3 + 0x80040600, // 0014 RET 1 R3 + 0x940C0202, // 0015 GETIDX R3 R1 R2 + 0x80040600, // 0016 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Rule_Matcher_Key_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Key, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020201, // 0000 SETMBR R0 K1 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher_Key +********************************************************************/ +be_local_class(Rule_Matcher_Key, + 1, + NULL, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(tostring, 3), be_const_closure(class_Rule_Matcher_Key_tostring_closure) }, + { be_const_key(find_key_i, -1), be_const_static_closure(class_Rule_Matcher_Key_find_key_i_closure) }, + { be_const_key(name, -1), be_const_var(0) }, + { be_const_key(init, 4), be_const_closure(class_Rule_Matcher_Key_init_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Key_match_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher_Key +); + +extern const bclass be_class_Rule_Matcher_Wildcard; + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_Wildcard_match, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str(iter), + }), + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x6008000F, // 0005 GETGBL R2 G15 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x60100013, // 0007 GETGBL R4 G19 + 0x7C080400, // 0008 CALL R2 2 + 0x740A0001, // 0009 JMPT R2 #000C + 0x4C080000, // 000A LDNIL R2 + 0x80040400, // 000B RET 1 R2 + 0x6008000C, // 000C GETGBL R2 G12 + 0x5C0C0200, // 000D MOVE R3 R1 + 0x7C080200, // 000E CALL R2 1 + 0x1C080500, // 000F EQ R2 R2 K0 + 0x780A0001, // 0010 JMPF R2 #0013 + 0x4C080000, // 0011 LDNIL R2 + 0x80040400, // 0012 RET 1 R2 + 0x8C080301, // 0013 GETMET R2 R1 K1 + 0x7C080200, // 0014 CALL R2 1 + 0x7C080000, // 0015 CALL R2 0 + 0x80040400, // 0016 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_Wildcard_tostring, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(_X3CMatcher_X20any_X3E), + }), + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060000, // 0000 RET 1 K0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher_Wildcard +********************************************************************/ +be_local_class(Rule_Matcher_Wildcard, + 0, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Wildcard_match_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Wildcard_tostring_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher_Wildcard +); +// compact class 'Rule_Matcher_Operator' ktab size: 29, total: 37 (saved 64 bytes) +static const bvalue be_ktab_class_Rule_Matcher_Operator[29] = { + /* K0 */ be_nested_str(int), + /* K1 */ be_nested_str(real), + /* K2 */ be_nested_str(string), + /* K3 */ be_nested_str(op_func), + /* K4 */ be_nested_str(op_value), + /* K5 */ be_nested_str(op_str), + /* K6 */ be_nested_str(_X3D), + /* K7 */ be_nested_str(_X21_X3D_X3D), + /* K8 */ be_nested_str(_X24_X21), + /* K9 */ be_nested_str(_X24_X3C), + /* K10 */ be_nested_str(_X24_X3E), + /* K11 */ be_nested_str(_X24_X7C), + /* K12 */ be_nested_str(_X24_X5E), + /* K13 */ be_nested_str(_X3D_X3D), + /* K14 */ be_nested_str(_X21_X3D), + /* K15 */ be_nested_str(_X3E), + /* K16 */ be_nested_str(_X3E_X3D), + /* K17 */ be_nested_str(_X3C), + /* K18 */ be_nested_str(_X3C_X3D), + /* K19 */ be_nested_str(_X7C), + /* K20 */ be_nested_str(json), + /* K21 */ be_nested_str(load), + /* K22 */ be_nested_str(value_error), + /* K23 */ be_nested_str(value_X20needs_X20to_X20be_X20a_X20number), + /* K24 */ be_nested_str(_X3CMatcher_X20op_X20_X27), + /* K25 */ be_nested_str(_X27_X20val_X3D_X27), + /* K26 */ be_nested_str(_X27_X3E), + /* K27 */ be_nested_str(_X27_X20val_X3D), + /* K28 */ be_nested_str(op_parse), +}; + + +extern const bclass be_class_Rule_Matcher_Operator; + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_Operator_match, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Operator, /* shared constants */ + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x200C0500, // 0003 NE R3 R2 K0 + 0x780E0005, // 0004 JMPF R3 #000B + 0x200C0501, // 0005 NE R3 R2 K1 + 0x780E0003, // 0006 JMPF R3 #000B + 0x200C0502, // 0007 NE R3 R2 K2 + 0x780E0001, // 0008 JMPF R3 #000B + 0x4C0C0000, // 0009 LDNIL R3 + 0x80040600, // 000A RET 1 R3 + 0x8C0C0103, // 000B GETMET R3 R0 K3 + 0x5C140200, // 000C MOVE R5 R1 + 0x88180104, // 000D GETMBR R6 R0 K4 + 0x7C0C0600, // 000E CALL R3 3 + 0x780E0001, // 000F JMPF R3 #0012 + 0x5C0C0200, // 0010 MOVE R3 R1 + 0x70020000, // 0011 JMP #0013 + 0x4C0C0000, // 0012 LDNIL R3 + 0x80040600, // 0013 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: op_parse +********************************************************************/ +be_local_closure(class_Rule_Matcher_Operator_op_parse, /* name */ + be_nested_proto( + 22, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[13]) { + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + /* K2 */ be_const_int(1), + }), + &be_const_str_op_eq_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x58100002, // 0002 LDCONST R4 K2 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + /* K2 */ be_const_int(2), + }), + &be_const_str_op_neq_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x58100002, // 0002 LDCONST R4 K2 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + /* K2 */ be_const_int(3), + }), + &be_const_str_op_start_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x58100002, // 0002 LDCONST R4 K2 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + }), + &be_const_str_op_end_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x54120003, // 0002 LDINT R4 4 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + }), + &be_const_str_op_sub_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x54120004, // 0002 LDINT R4 5 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(_apply_str_op), + }), + &be_const_str_op_notsub_str, + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x54120005, // 0002 LDINT R4 6 + 0x60140008, // 0003 GETGBL R5 G8 + 0x5C180000, // 0004 MOVE R6 R0 + 0x7C140200, // 0005 CALL R5 1 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C080800, // 0007 CALL R2 4 + 0x80040400, // 0008 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_eq, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080401, // 0003 EQ R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_neq, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x20080401, // 0003 NE R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_gt, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x24080401, // 0003 GT R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_gte, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x28080401, // 0003 GE R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_lt, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x14080401, // 0003 LT R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + &be_const_str_op_lte, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080007, // 0000 GETGBL R2 G7 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x18080401, // 0003 LE R2 R2 R1 + 0x80040400, // 0004 RET 1 R2 + }) + ), + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_int(0), + }), + &be_const_str_op_mod, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x10080401, // 0003 MOD R2 R2 R1 + 0x1C080500, // 0004 EQ R2 R2 K0 + 0x80040400, // 0005 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Operator, /* shared constants */ + &be_const_str_op_parse, + &be_const_str_solidified, + ( &(const binstruction[97]) { /* code */ + 0x90020A01, // 0000 SETMBR R0 K5 R1 + 0x840C0000, // 0001 CLOSURE R3 P0 + 0x84100001, // 0002 CLOSURE R4 P1 + 0x84140002, // 0003 CLOSURE R5 P2 + 0x84180003, // 0004 CLOSURE R6 P3 + 0x841C0004, // 0005 CLOSURE R7 P4 + 0x84200005, // 0006 CLOSURE R8 P5 + 0x84240006, // 0007 CLOSURE R9 P6 + 0x84280007, // 0008 CLOSURE R10 P7 + 0x842C0008, // 0009 CLOSURE R11 P8 + 0x84300009, // 000A CLOSURE R12 P9 + 0x8434000A, // 000B CLOSURE R13 P10 + 0x8438000B, // 000C CLOSURE R14 P11 + 0x843C000C, // 000D CLOSURE R15 P12 + 0x50400000, // 000E LDBOOL R16 0 0 + 0x4C440000, // 000F LDNIL R17 + 0x1C480306, // 0010 EQ R18 R1 K6 + 0x784A0001, // 0011 JMPF R18 #0014 + 0x5C440600, // 0012 MOVE R17 R3 + 0x70020033, // 0013 JMP #0048 + 0x1C480307, // 0014 EQ R18 R1 K7 + 0x784A0001, // 0015 JMPF R18 #0018 + 0x5C440800, // 0016 MOVE R17 R4 + 0x7002002F, // 0017 JMP #0048 + 0x1C480308, // 0018 EQ R18 R1 K8 + 0x784A0001, // 0019 JMPF R18 #001C + 0x5C440800, // 001A MOVE R17 R4 + 0x7002002B, // 001B JMP #0048 + 0x1C480309, // 001C EQ R18 R1 K9 + 0x784A0001, // 001D JMPF R18 #0020 + 0x5C440A00, // 001E MOVE R17 R5 + 0x70020027, // 001F JMP #0048 + 0x1C48030A, // 0020 EQ R18 R1 K10 + 0x784A0001, // 0021 JMPF R18 #0024 + 0x5C440C00, // 0022 MOVE R17 R6 + 0x70020023, // 0023 JMP #0048 + 0x1C48030B, // 0024 EQ R18 R1 K11 + 0x784A0001, // 0025 JMPF R18 #0028 + 0x5C440E00, // 0026 MOVE R17 R7 + 0x7002001F, // 0027 JMP #0048 + 0x1C48030C, // 0028 EQ R18 R1 K12 + 0x784A0001, // 0029 JMPF R18 #002C + 0x5C441000, // 002A MOVE R17 R8 + 0x7002001B, // 002B JMP #0048 + 0x50400200, // 002C LDBOOL R16 1 0 + 0x1C48030D, // 002D EQ R18 R1 K13 + 0x784A0001, // 002E JMPF R18 #0031 + 0x5C441200, // 002F MOVE R17 R9 + 0x70020016, // 0030 JMP #0048 + 0x1C48030E, // 0031 EQ R18 R1 K14 + 0x784A0001, // 0032 JMPF R18 #0035 + 0x5C441400, // 0033 MOVE R17 R10 + 0x70020012, // 0034 JMP #0048 + 0x1C48030F, // 0035 EQ R18 R1 K15 + 0x784A0001, // 0036 JMPF R18 #0039 + 0x5C441600, // 0037 MOVE R17 R11 + 0x7002000E, // 0038 JMP #0048 + 0x1C480310, // 0039 EQ R18 R1 K16 + 0x784A0001, // 003A JMPF R18 #003D + 0x5C441800, // 003B MOVE R17 R12 + 0x7002000A, // 003C JMP #0048 + 0x1C480311, // 003D EQ R18 R1 K17 + 0x784A0001, // 003E JMPF R18 #0041 + 0x5C441A00, // 003F MOVE R17 R13 + 0x70020006, // 0040 JMP #0048 + 0x1C480312, // 0041 EQ R18 R1 K18 + 0x784A0001, // 0042 JMPF R18 #0045 + 0x5C441C00, // 0043 MOVE R17 R14 + 0x70020002, // 0044 JMP #0048 + 0x1C480313, // 0045 EQ R18 R1 K19 + 0x784A0000, // 0046 JMPF R18 #0048 + 0x5C441E00, // 0047 MOVE R17 R15 + 0x90020611, // 0048 SETMBR R0 K3 R17 + 0x78420011, // 0049 JMPF R16 #005C + 0xA44A2800, // 004A IMPORT R18 K20 + 0x8C4C2515, // 004B GETMET R19 R18 K21 + 0x5C540400, // 004C MOVE R21 R2 + 0x7C4C0400, // 004D CALL R19 2 + 0x60500004, // 004E GETGBL R20 G4 + 0x5C542600, // 004F MOVE R21 R19 + 0x7C500200, // 0050 CALL R20 1 + 0x20502900, // 0051 NE R20 R20 K0 + 0x78520006, // 0052 JMPF R20 #005A + 0x60500004, // 0053 GETGBL R20 G4 + 0x5C542600, // 0054 MOVE R21 R19 + 0x7C500200, // 0055 CALL R20 1 + 0x20502901, // 0056 NE R20 R20 K1 + 0x78520001, // 0057 JMPF R20 #005A + 0xB0062D17, // 0058 RAISE 1 K22 K23 + 0x70020000, // 0059 JMP #005B + 0x90020813, // 005A SETMBR R0 K4 R19 + 0x70020003, // 005B JMP #0060 + 0x60480008, // 005C GETGBL R18 G8 + 0x5C4C0400, // 005D MOVE R19 R2 + 0x7C480200, // 005E CALL R18 1 + 0x90020812, // 005F SETMBR R0 K4 R18 + 0x80000000, // 0060 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_Operator_tostring, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Operator, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x60040004, // 0000 GETGBL R1 G4 + 0x88080104, // 0001 GETMBR R2 R0 K4 + 0x7C040200, // 0002 CALL R1 1 + 0x1C040302, // 0003 EQ R1 R1 K2 + 0x78060009, // 0004 JMPF R1 #000F + 0x88040105, // 0005 GETMBR R1 R0 K5 + 0x00063001, // 0006 ADD R1 K24 R1 + 0x00040319, // 0007 ADD R1 R1 K25 + 0x60080008, // 0008 GETGBL R2 G8 + 0x880C0104, // 0009 GETMBR R3 R0 K4 + 0x7C080200, // 000A CALL R2 1 + 0x00040202, // 000B ADD R1 R1 R2 + 0x0004031A, // 000C ADD R1 R1 K26 + 0x80040200, // 000D RET 1 R1 + 0x70020008, // 000E JMP #0018 + 0x88040105, // 000F GETMBR R1 R0 K5 + 0x00063001, // 0010 ADD R1 K24 R1 + 0x0004031B, // 0011 ADD R1 R1 K27 + 0x60080008, // 0012 GETGBL R2 G8 + 0x880C0104, // 0013 GETMBR R3 R0 K4 + 0x7C080200, // 0014 CALL R2 1 + 0x00040202, // 0015 ADD R1 R1 R2 + 0x0004030F, // 0016 ADD R1 R1 K15 + 0x80040200, // 0017 RET 1 R1 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Rule_Matcher_Operator_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Operator, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C0C011C, // 0000 GETMET R3 R0 K28 + 0x5C140200, // 0001 MOVE R5 R1 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C0C0600, // 0003 CALL R3 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher_Operator +********************************************************************/ +be_local_class(Rule_Matcher_Operator, + 3, + NULL, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(op_value, 6), be_const_var(2) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Operator_tostring_closure) }, + { be_const_key(op_func, 0), be_const_var(0) }, + { be_const_key(match, 1), be_const_closure(class_Rule_Matcher_Operator_match_closure) }, + { be_const_key(op_str, -1), be_const_var(1) }, + { be_const_key(init, -1), be_const_closure(class_Rule_Matcher_Operator_init_closure) }, + { be_const_key(op_parse, -1), be_const_closure(class_Rule_Matcher_Operator_op_parse_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher_Operator +); +// compact class 'Rule_Matcher_Array' ktab size: 5, total: 7 (saved 16 bytes) +static const bvalue be_ktab_class_Rule_Matcher_Array[5] = { + /* K0 */ be_nested_str(index), + /* K1 */ be_nested_str(_X3CMatcher_X20_X5B), + /* K2 */ be_nested_str(_X5D_X3E), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(1), +}; + + +extern const bclass be_class_Rule_Matcher_Array; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Rule_Matcher_Array_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Array, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_Array_tostring, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Array, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x7C040200, // 0002 CALL R1 1 + 0x00060201, // 0003 ADD R1 K1 R1 + 0x00040302, // 0004 ADD R1 R1 K2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_Array_match, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_Array, /* shared constants */ + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0001, // 0002 JMPF R2 #0005 + 0x4C080000, // 0003 LDNIL R2 + 0x80040400, // 0004 RET 1 R2 + 0x6008000F, // 0005 GETGBL R2 G15 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C080400, // 0008 CALL R2 2 + 0x740A0000, // 0009 JMPT R2 #000B + 0x80040200, // 000A RET 1 R1 + 0x88080100, // 000B GETMBR R2 R0 K0 + 0x18080503, // 000C LE R2 R2 K3 + 0x780A0001, // 000D JMPF R2 #0010 + 0x4C080000, // 000E LDNIL R2 + 0x80040400, // 000F RET 1 R2 + 0x88080100, // 0010 GETMBR R2 R0 K0 + 0x600C000C, // 0011 GETGBL R3 G12 + 0x5C100200, // 0012 MOVE R4 R1 + 0x7C0C0200, // 0013 CALL R3 1 + 0x24080403, // 0014 GT R2 R2 R3 + 0x780A0001, // 0015 JMPF R2 #0018 + 0x4C080000, // 0016 LDNIL R2 + 0x80040400, // 0017 RET 1 R2 + 0x88080100, // 0018 GETMBR R2 R0 K0 + 0x04080504, // 0019 SUB R2 R2 K4 + 0x94080202, // 001A GETIDX R2 R1 R2 + 0x80040400, // 001B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher_Array +********************************************************************/ +be_local_class(Rule_Matcher_Array, + 1, + NULL, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(index, -1), be_const_var(0) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Array_tostring_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Array_match_closure) }, + { be_const_key(init, 0), be_const_closure(class_Rule_Matcher_Array_init_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher_Array +); +// compact class 'Rule_Matcher_AND_List' ktab size: 7, total: 9 (saved 16 bytes) +static const bvalue be_ktab_class_Rule_Matcher_AND_List[7] = { + /* K0 */ be_nested_str(and_list), + /* K1 */ be_nested_str(_X3CMatcher_AND_List_X20), + /* K2 */ be_nested_str(_X3E), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str(match), + /* K5 */ be_nested_str(push), + /* K6 */ be_const_int(1), +}; + + +extern const bclass be_class_Rule_Matcher_AND_List; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Rule_Matcher_AND_List_init, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_AND_List, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_AND_List_tostring, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_AND_List, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x7C040200, // 0002 CALL R1 1 + 0x00060201, // 0003 ADD R1 K1 R1 + 0x00040302, // 0004 ADD R1 R1 K2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_AND_List_match, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher_AND_List, /* shared constants */ + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58080003, // 0000 LDCONST R2 K3 + 0x600C0012, // 0001 GETGBL R3 G18 + 0x7C0C0000, // 0002 CALL R3 0 + 0x6010000C, // 0003 GETGBL R4 G12 + 0x88140100, // 0004 GETMBR R5 R0 K0 + 0x7C100200, // 0005 CALL R4 1 + 0x14100404, // 0006 LT R4 R2 R4 + 0x7812000E, // 0007 JMPF R4 #0017 + 0x88100100, // 0008 GETMBR R4 R0 K0 + 0x94100802, // 0009 GETIDX R4 R4 R2 + 0x8C140904, // 000A GETMET R5 R4 K4 + 0x5C1C0200, // 000B MOVE R7 R1 + 0x7C140400, // 000C CALL R5 2 + 0x4C180000, // 000D LDNIL R6 + 0x1C180A06, // 000E EQ R6 R5 R6 + 0x781A0001, // 000F JMPF R6 #0012 + 0x4C180000, // 0010 LDNIL R6 + 0x80040C00, // 0011 RET 1 R6 + 0x8C180705, // 0012 GETMET R6 R3 K5 + 0x5C200A00, // 0013 MOVE R8 R5 + 0x7C180400, // 0014 CALL R6 2 + 0x00080506, // 0015 ADD R2 R2 K6 + 0x7001FFEB, // 0016 JMP #0003 + 0x80040600, // 0017 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher_AND_List +********************************************************************/ +be_local_class(Rule_Matcher_AND_List, + 1, + NULL, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(and_list, -1), be_const_var(0) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_AND_List_tostring_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_AND_List_match_closure) }, + { be_const_key(init, 0), be_const_closure(class_Rule_Matcher_AND_List_init_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher_AND_List +); +extern const bclass be_class_Rule_Matcher; +// compact class 'Rule_Matcher' ktab size: 29, total: 34 (saved 40 bytes) +static const bvalue be_ktab_class_Rule_Matcher[29] = { + /* K0 */ be_nested_str(matchers), + /* K1 */ be_nested_str(rule), + /* K2 */ be_nested_str(trigger), + /* K3 */ be_const_class(be_class_Rule_Matcher), + /* K4 */ be_nested_str(string), + /* K5 */ be_nested_str(parse), + /* K6 */ be_nested_str(push), + /* K7 */ be_nested_str(stop_iteration), + /* K8 */ be_nested_str(Rule_Matcher_AND_List), + /* K9 */ be_nested_str(tasmota), + /* K10 */ be_nested_str(find_op), + /* K11 */ be_const_int(0), + /* K12 */ be_const_int(1), + /* K13 */ be_const_int(2), + /* K14 */ be_nested_str(find), + /* K15 */ be_nested_str(_X23), + /* K16 */ be_nested_str(pattern_error), + /* K17 */ be_nested_str(empty_X20pattern_X20not_X20allowed), + /* K18 */ be_const_int(2147483647), + /* K19 */ be_nested_str(_X5B), + /* K20 */ be_nested_str(_X5D), + /* K21 */ be_nested_str(value_error), + /* K22 */ be_nested_str(missing_X20_X27_X5D_X27_X20in_X20rule_X20pattern), + /* K23 */ be_nested_str(_X3F), + /* K24 */ be_nested_str(Rule_Matcher_Wildcard), + /* K25 */ be_nested_str(Rule_Matcher_Key), + /* K26 */ be_nested_str(Rule_Matcher_Array), + /* K27 */ be_nested_str(Rule_Matcher_Operator), + /* K28 */ be_nested_str(match), +}; + + +extern const bclass be_class_Rule_Matcher; + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Rule_Matcher_tostring, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040008, // 0000 GETGBL R1 G8 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Rule_Matcher_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x90020201, // 0000 SETMBR R0 K1 R1 + 0x90020402, // 0001 SETMBR R0 K2 R2 + 0x90020003, // 0002 SETMBR R0 K0 R3 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_Rule_Matcher_parse, /* name */ + be_nested_proto( + 20, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher, /* shared constants */ + &be_const_str_parse, + &be_const_str_solidified, + ( &(const binstruction[147]) { /* code */ + 0x58040003, // 0000 LDCONST R1 K3 + 0xA40A0800, // 0001 IMPORT R2 K4 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C0C0003, // 0003 EQ R3 R0 R3 + 0x780E0001, // 0004 JMPF R3 #0007 + 0x4C0C0000, // 0005 LDNIL R3 + 0x80040600, // 0006 RET 1 R3 + 0x600C000F, // 0007 GETGBL R3 G15 + 0x5C100000, // 0008 MOVE R4 R0 + 0x60140012, // 0009 GETGBL R5 G18 + 0x7C0C0400, // 000A CALL R3 2 + 0x780E0021, // 000B JMPF R3 #002E + 0x600C0012, // 000C GETGBL R3 G18 + 0x7C0C0000, // 000D CALL R3 0 + 0x60100012, // 000E GETGBL R4 G18 + 0x7C100000, // 000F CALL R4 0 + 0x60140010, // 0010 GETGBL R5 G16 + 0x5C180000, // 0011 MOVE R6 R0 + 0x7C140200, // 0012 CALL R5 1 + 0xA802000B, // 0013 EXBLK 0 #0020 + 0x5C180A00, // 0014 MOVE R6 R5 + 0x7C180000, // 0015 CALL R6 0 + 0x8C1C0305, // 0016 GETMET R7 R1 K5 + 0x5C240C00, // 0017 MOVE R9 R6 + 0x7C1C0400, // 0018 CALL R7 2 + 0x8C200706, // 0019 GETMET R8 R3 K6 + 0x5C280E00, // 001A MOVE R10 R7 + 0x7C200400, // 001B CALL R8 2 + 0x8C200906, // 001C GETMET R8 R4 K6 + 0x88280F02, // 001D GETMBR R10 R7 K2 + 0x7C200400, // 001E CALL R8 2 + 0x7001FFF3, // 001F JMP #0014 + 0x58140007, // 0020 LDCONST R5 K7 + 0xAC140200, // 0021 CATCH R5 1 0 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x5C140200, // 0023 MOVE R5 R1 + 0x5C180000, // 0024 MOVE R6 R0 + 0x5C1C0800, // 0025 MOVE R7 R4 + 0x60200012, // 0026 GETGBL R8 G18 + 0x7C200000, // 0027 CALL R8 0 + 0x8C240308, // 0028 GETMET R9 R1 K8 + 0x5C2C0600, // 0029 MOVE R11 R3 + 0x7C240400, // 002A CALL R9 2 + 0x40241009, // 002B CONNECT R9 R8 R9 + 0x7C140600, // 002C CALL R5 3 + 0x80040A00, // 002D RET 1 R5 + 0x600C0012, // 002E GETGBL R3 G18 + 0x7C0C0000, // 002F CALL R3 0 + 0xB8121200, // 0030 GETNGBL R4 K9 + 0x8C10090A, // 0031 GETMET R4 R4 K10 + 0x5C180000, // 0032 MOVE R6 R0 + 0x7C100400, // 0033 CALL R4 2 + 0x9414090B, // 0034 GETIDX R5 R4 K11 + 0x9418090C, // 0035 GETIDX R6 R4 K12 + 0x941C090D, // 0036 GETIDX R7 R4 K13 + 0x6020000C, // 0037 GETGBL R8 G12 + 0x5C240A00, // 0038 MOVE R9 R5 + 0x7C200200, // 0039 CALL R8 1 + 0x5824000B, // 003A LDCONST R9 K11 + 0x5429FFFE, // 003B LDINT R10 -1 + 0x142C1208, // 003C LT R11 R9 R8 + 0x782E0042, // 003D JMPF R11 #0081 + 0x8C2C050E, // 003E GETMET R11 R2 K14 + 0x5C340A00, // 003F MOVE R13 R5 + 0x5838000F, // 0040 LDCONST R14 K15 + 0x5C3C1200, // 0041 MOVE R15 R9 + 0x7C2C0800, // 0042 CALL R11 4 + 0x4C300000, // 0043 LDNIL R12 + 0x2834170B, // 0044 GE R13 R11 K11 + 0x78360008, // 0045 JMPF R13 #004F + 0x1C341609, // 0046 EQ R13 R11 R9 + 0x78360000, // 0047 JMPF R13 #0049 + 0xB0062111, // 0048 RAISE 1 K16 K17 + 0x0434170C, // 0049 SUB R13 R11 K12 + 0x4034120D, // 004A CONNECT R13 R9 R13 + 0x94300A0D, // 004B GETIDX R12 R5 R13 + 0x0034170C, // 004C ADD R13 R11 K12 + 0x5C241A00, // 004D MOVE R9 R13 + 0x70020002, // 004E JMP #0052 + 0x40341312, // 004F CONNECT R13 R9 K18 + 0x94300A0D, // 0050 GETIDX R12 R5 R13 + 0x5C241000, // 0051 MOVE R9 R8 + 0x8C34050E, // 0052 GETMET R13 R2 K14 + 0x5C3C1800, // 0053 MOVE R15 R12 + 0x58400013, // 0054 LDCONST R16 K19 + 0x7C340600, // 0055 CALL R13 3 + 0x4C380000, // 0056 LDNIL R14 + 0x283C1B0B, // 0057 GE R15 R13 K11 + 0x783E0012, // 0058 JMPF R15 #006C + 0x8C3C050E, // 0059 GETMET R15 R2 K14 + 0x5C441800, // 005A MOVE R17 R12 + 0x58480014, // 005B LDCONST R18 K20 + 0x5C4C1A00, // 005C MOVE R19 R13 + 0x7C3C0800, // 005D CALL R15 4 + 0x14401F0B, // 005E LT R16 R15 K11 + 0x78420000, // 005F JMPF R16 #0061 + 0xB0062B16, // 0060 RAISE 1 K21 K22 + 0x00401B0C, // 0061 ADD R16 R13 K12 + 0x04441F0C, // 0062 SUB R17 R15 K12 + 0x40402011, // 0063 CONNECT R16 R16 R17 + 0x94401810, // 0064 GETIDX R16 R12 R16 + 0x04441B0C, // 0065 SUB R17 R13 K12 + 0x40461611, // 0066 CONNECT R17 K11 R17 + 0x94301811, // 0067 GETIDX R12 R12 R17 + 0x60440009, // 0068 GETGBL R17 G9 + 0x5C482000, // 0069 MOVE R18 R16 + 0x7C440200, // 006A CALL R17 1 + 0x5C382200, // 006B MOVE R14 R17 + 0x1C3C1917, // 006C EQ R15 R12 K23 + 0x783E0004, // 006D JMPF R15 #0073 + 0x8C3C0706, // 006E GETMET R15 R3 K6 + 0x8C440318, // 006F GETMET R17 R1 K24 + 0x7C440200, // 0070 CALL R17 1 + 0x7C3C0400, // 0071 CALL R15 2 + 0x70020004, // 0072 JMP #0078 + 0x8C3C0706, // 0073 GETMET R15 R3 K6 + 0x8C440319, // 0074 GETMET R17 R1 K25 + 0x5C4C1800, // 0075 MOVE R19 R12 + 0x7C440400, // 0076 CALL R17 2 + 0x7C3C0400, // 0077 CALL R15 2 + 0x4C3C0000, // 0078 LDNIL R15 + 0x203C1C0F, // 0079 NE R15 R14 R15 + 0x783E0004, // 007A JMPF R15 #0080 + 0x8C3C0706, // 007B GETMET R15 R3 K6 + 0x8C44031A, // 007C GETMET R17 R1 K26 + 0x5C4C1C00, // 007D MOVE R19 R14 + 0x7C440400, // 007E CALL R17 2 + 0x7C3C0400, // 007F CALL R15 2 + 0x7001FFBA, // 0080 JMP #003C + 0x4C2C0000, // 0081 LDNIL R11 + 0x202C0C0B, // 0082 NE R11 R6 R11 + 0x782E0008, // 0083 JMPF R11 #008D + 0x4C2C0000, // 0084 LDNIL R11 + 0x202C0E0B, // 0085 NE R11 R7 R11 + 0x782E0005, // 0086 JMPF R11 #008D + 0x8C2C0706, // 0087 GETMET R11 R3 K6 + 0x8C34031B, // 0088 GETMET R13 R1 K27 + 0x5C3C0C00, // 0089 MOVE R15 R6 + 0x5C400E00, // 008A MOVE R16 R7 + 0x7C340600, // 008B CALL R13 3 + 0x7C2C0400, // 008C CALL R11 2 + 0x5C2C0200, // 008D MOVE R11 R1 + 0x5C300000, // 008E MOVE R12 R0 + 0x5C340A00, // 008F MOVE R13 R5 + 0x5C380600, // 0090 MOVE R14 R3 + 0x7C2C0600, // 0091 CALL R11 3 + 0x80041600, // 0092 RET 1 R11 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: match +********************************************************************/ +be_local_closure(class_Rule_Matcher_match, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Rule_Matcher, /* shared constants */ + &be_const_str_match, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0001, // 0003 JMPF R2 #0006 + 0x4C080000, // 0004 LDNIL R2 + 0x80040400, // 0005 RET 1 R2 + 0x5C080200, // 0006 MOVE R2 R1 + 0x580C000B, // 0007 LDCONST R3 K11 + 0x6010000C, // 0008 GETGBL R4 G12 + 0x88140100, // 0009 GETMBR R5 R0 K0 + 0x7C100200, // 000A CALL R4 1 + 0x14100604, // 000B LT R4 R3 R4 + 0x7812000C, // 000C JMPF R4 #001A + 0x88100100, // 000D GETMBR R4 R0 K0 + 0x94100803, // 000E GETIDX R4 R4 R3 + 0x8C10091C, // 000F GETMET R4 R4 K28 + 0x5C180400, // 0010 MOVE R6 R2 + 0x7C100400, // 0011 CALL R4 2 + 0x5C080800, // 0012 MOVE R2 R4 + 0x4C100000, // 0013 LDNIL R4 + 0x1C100404, // 0014 EQ R4 R2 R4 + 0x78120001, // 0015 JMPF R4 #0018 + 0x4C100000, // 0016 LDNIL R4 + 0x80040800, // 0017 RET 1 R4 + 0x000C070C, // 0018 ADD R3 R3 K12 + 0x7001FFED, // 0019 JMP #0008 + 0x80040400, // 001A RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Rule_Matcher +********************************************************************/ +be_local_class(Rule_Matcher, + 3, + NULL, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(Rule_Matcher_AND_List, -1), be_const_class(be_class_Rule_Matcher_AND_List) }, + { be_const_key(tostring, 0), be_const_closure(class_Rule_Matcher_tostring_closure) }, + { be_const_key(match, 6), be_const_closure(class_Rule_Matcher_match_closure) }, + { be_const_key(init, 5), be_const_closure(class_Rule_Matcher_init_closure) }, + { be_const_key(Rule_Matcher_Array, 11), be_const_class(be_class_Rule_Matcher_Array) }, + { be_const_key(rule, -1), be_const_var(0) }, + { be_const_key(Rule_Matcher_Key, -1), be_const_class(be_class_Rule_Matcher_Key) }, + { be_const_key(Rule_Matcher_Operator, 8), be_const_class(be_class_Rule_Matcher_Operator) }, + { be_const_key(trigger, -1), be_const_var(1) }, + { be_const_key(Rule_Matcher_Wildcard, -1), be_const_class(be_class_Rule_Matcher_Wildcard) }, + { be_const_key(matchers, 2), be_const_var(2) }, + { be_const_key(parse, -1), be_const_static_closure(class_Rule_Matcher_parse_closure) }, + })), + (bstring*) &be_const_str_Rule_Matcher +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tapp.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tapp.h new file mode 100644 index 000000000..56da5bbc5 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tapp.h @@ -0,0 +1,170 @@ +/* Solidification of tapp.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Tapp' ktab size: 15, total: 16 (saved 8 bytes) +static const bvalue be_ktab_class_Tapp[15] = { + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(add_driver), + /* K2 */ be_nested_str(path), + /* K3 */ be_nested_str(string), + /* K4 */ be_nested_str(listdir), + /* K5 */ be_nested_str(_X2F), + /* K6 */ be_nested_str(find), + /* K7 */ be_nested_str(_X2Etapp), + /* K8 */ be_const_int(0), + /* K9 */ be_nested_str(log), + /* K10 */ be_nested_str(TAP_X3A_X20Loaded_X20Tasmota_X20App_X20_X27_X25s_X27), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str(load), + /* K13 */ be_nested_str(_X23autoexec_X2Ebe), + /* K14 */ be_nested_str(stop_iteration), +}; + + +extern const bclass be_class_Tapp; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Tapp_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tapp, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoexec +********************************************************************/ +be_local_closure(class_Tapp_autoexec, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tapp, /* shared constants */ + &be_const_str_autoexec, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xA4060400, // 0000 IMPORT R1 K2 + 0xA40A0600, // 0001 IMPORT R2 K3 + 0x8C0C0304, // 0002 GETMET R3 R1 K4 + 0x58140005, // 0003 LDCONST R5 K5 + 0x7C0C0400, // 0004 CALL R3 2 + 0x60100010, // 0005 GETGBL R4 G16 + 0x5C140600, // 0006 MOVE R5 R3 + 0x7C100200, // 0007 CALL R4 1 + 0xA8020014, // 0008 EXBLK 0 #001E + 0x5C140800, // 0009 MOVE R5 R4 + 0x7C140000, // 000A CALL R5 0 + 0x8C180506, // 000B GETMET R6 R2 K6 + 0x5C200A00, // 000C MOVE R8 R5 + 0x58240007, // 000D LDCONST R9 K7 + 0x7C180600, // 000E CALL R6 3 + 0x24180D08, // 000F GT R6 R6 K8 + 0x781A000B, // 0010 JMPF R6 #001D + 0xB81A0000, // 0011 GETNGBL R6 K0 + 0x8C180D09, // 0012 GETMET R6 R6 K9 + 0x60200018, // 0013 GETGBL R8 G24 + 0x5824000A, // 0014 LDCONST R9 K10 + 0x5C280A00, // 0015 MOVE R10 R5 + 0x7C200400, // 0016 CALL R8 2 + 0x5824000B, // 0017 LDCONST R9 K11 + 0x7C180600, // 0018 CALL R6 3 + 0xB81A0000, // 0019 GETNGBL R6 K0 + 0x8C180D0C, // 001A GETMET R6 R6 K12 + 0x00200B0D, // 001B ADD R8 R5 K13 + 0x7C180400, // 001C CALL R6 2 + 0x7001FFEA, // 001D JMP #0009 + 0x5810000E, // 001E LDCONST R4 K14 + 0xAC100200, // 001F CATCH R4 1 0 + 0xB0080000, // 0020 RAISE 2 R0 R0 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Tapp +********************************************************************/ +be_local_class(Tapp, + 0, + NULL, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(autoexec, -1), be_const_closure(class_Tapp_autoexec_closure) }, + { be_const_key(init, 0), be_const_closure(class_Tapp_init_closure) }, + })), + (bstring*) &be_const_str_Tapp +); + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_class(be_class_Tapp), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0xB4000000, // 0001 CLASS K0 + 0x5C080200, // 0002 MOVE R2 R1 + 0x7C080000, // 0003 CALL R2 0 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: tapp +********************************************************************/ +be_local_module(tapp, + "tapp", + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(tapp); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tasmota_class.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tasmota_class.h new file mode 100644 index 000000000..9d991f410 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_tasmota_class.h @@ -0,0 +1,2738 @@ +/* Solidification of tasmota_class.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_Tasmota; +// compact class 'Tasmota' ktab size: 155, total: 290 (saved 1080 bytes) +static const bvalue be_ktab_class_Tasmota[155] = { + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(function), + /* K2 */ be_nested_str(type_error), + /* K3 */ be_nested_str(BRY_X3A_X20argument_X20must_X20be_X20a_X20function), + /* K4 */ be_nested_str(ismethod), + /* K5 */ be_nested_str(BRY_X3A_X20method_X20not_X20allowed_X2C_X20use_X20a_X20closure_X20like_X20_X27_X2F_X20args_X20_X2D_X3E_X20obj_X2Efunc_X28args_X29_X27), + /* K6 */ be_const_class(be_class_Tasmota), + /* K7 */ be_nested_str(string), + /* K8 */ be_nested_str(split), + /* K9 */ be_nested_str(_X2F), + /* K10 */ be_nested_str(pop), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str(index_X2Ehtml), + /* K13 */ be_nested_str(webclient), + /* K14 */ be_nested_str(set_follow_redirects), + /* K15 */ be_nested_str(begin), + /* K16 */ be_nested_str(GET), + /* K17 */ be_nested_str(status_X3A_X20), + /* K18 */ be_nested_str(connection_error), + /* K19 */ be_nested_str(write_file), + /* K20 */ be_nested_str(close), + /* K21 */ be_nested_str(log), + /* K22 */ be_nested_str(BRY_X3A_X20Fetched_X20), + /* K23 */ be_const_int(3), + /* K24 */ be_nested_str(endswith), + /* K25 */ be_nested_str(_X2Ebe), + /* K26 */ be_nested_str(BRY_X3A_X20file_X20_X27_X25s_X27_X20does_X20not_X20have_X20_X27_X2Ebe_X27_X20extension), + /* K27 */ be_nested_str(find), + /* K28 */ be_nested_str(_X23), + /* K29 */ be_nested_str(BRY_X3A_X20cannot_X20compile_X20file_X20in_X20read_X2Donly_X20archive), + /* K30 */ be_nested_str(file), + /* K31 */ be_nested_str(BRY_X3A_X20empty_X20compiled_X20file), + /* K32 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_X27_X25s_X27_X20_X28_X25s_X20_X2D_X20_X25s_X29), + /* K33 */ be_nested_str(c), + /* K34 */ be_nested_str(save), + /* K35 */ be_nested_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29), + /* K36 */ be_nested_str(_ccmd), + /* K37 */ be_nested_str(remove), + /* K38 */ be_nested_str(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29), + /* K39 */ be_nested_str(light), + /* K40 */ be_nested_str(set), + /* K41 */ be_nested_str(_crons), + /* K42 */ be_nested_str(ccronexpr), + /* K43 */ be_nested_str(now), + /* K44 */ be_nested_str(size), + /* K45 */ be_nested_str(trig), + /* K46 */ be_nested_str(next), + /* K47 */ be_nested_str(time_reached), + /* K48 */ be_nested_str(f), + /* K49 */ be_const_int(1), + /* K50 */ be_nested_str(id), + /* K51 */ be_nested_str(_timers), + /* K52 */ be_nested_str(check_not_method), + /* K53 */ be_nested_str(push), + /* K54 */ be_nested_str(Trigger), + /* K55 */ be_nested_str(millis), + /* K56 */ be_nested_str(value_error), + /* K57 */ be_nested_str(the_X20second_X20argument_X20is_X20not_X20a_X20function), + /* K58 */ be_nested_str(tasmota), + /* K59 */ be_nested_str(scale_uint), + /* K60 */ be_const_int(2), + /* K61 */ be_nested_str(_fl), + /* K62 */ be_nested_str(argument_X20must_X20be_X20a_X20function), + /* K63 */ be_nested_str(global), + /* K64 */ be_nested_str(fast_loop_enabled), + /* K65 */ be_nested_str(every_50ms), + /* K66 */ be_nested_str(run_deferred), + /* K67 */ be_nested_str(every_250ms), + /* K68 */ be_nested_str(run_cron), + /* K69 */ be_nested_str(mqtt_data), + /* K70 */ be_nested_str(cmd), + /* K71 */ be_nested_str(exec_cmd), + /* K72 */ be_nested_str(tele), + /* K73 */ be_nested_str(exec_tele), + /* K74 */ be_nested_str(rule), + /* K75 */ be_nested_str(exec_rules), + /* K76 */ be_nested_str(gc), + /* K77 */ be_nested_str(_drivers), + /* K78 */ be_nested_str(get), + /* K79 */ be_nested_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K80 */ be_nested_str(_debug_present), + /* K81 */ be_nested_str(debug), + /* K82 */ be_nested_str(traceback), + /* K83 */ be_nested_str(save_before_restart), + /* K84 */ be_nested_str(persist), + /* K85 */ be_nested_str(path), + /* K86 */ be_nested_str(startswith), + /* K87 */ be_const_int(2147483647), + /* K88 */ be_nested_str(_X2E), + /* K89 */ be_nested_str(_X2Ebec), + /* K90 */ be_nested_str(BRY_X3A_X20file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20nor_X20_X27_X2Ebec_X27), + /* K91 */ be_nested_str(exists), + /* K92 */ be_nested_str(wd), + /* K93 */ be_nested_str(), + /* K94 */ be_nested_str(BRY_X3A_X20corrupt_X20bytecode_X20_X27_X25s_X27), + /* K95 */ be_nested_str(BRY_X3A_X20bytecode_X20has_X20wrong_X20version_X20_X27_X25s_X27_X20_X28_X25s_X29), + /* K96 */ be_nested_str(json), + /* K97 */ be_nested_str(load), + /* K98 */ be_nested_str(find_key_i), + /* K99 */ be_nested_str(resolvecmnd), + /* K100 */ be_nested_str(match), + /* K101 */ be_nested_str(trigger), + /* K102 */ be_nested_str(_rules), + /* K103 */ be_nested_str(cb), + /* K104 */ be_nested_str(gen_cb), + /* K105 */ be_nested_str(add_rule), + /* K106 */ be_nested_str(ctypes_bytes_dyn), + /* K107 */ be_nested_str(_global_addr), + /* K108 */ be_nested_str(_global_def), + /* K109 */ be_nested_str(_settings_ptr), + /* K110 */ be_nested_str(settings), + /* K111 */ be_nested_str(toptr), + /* K112 */ be_nested_str(_settings_def), + /* K113 */ be_nested_str(contains), + /* K114 */ be_nested_str(add_cmd), + /* K115 */ be_nested_str(UrlFetch), + /* K116 */ be_nested_str(toupper), + /* K117 */ be_nested_str(keys), + /* K118 */ be_nested_str(_X3F), + /* K119 */ be_nested_str(stop_iteration), + /* K120 */ be_nested_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20), + /* K121 */ be_nested_str(Tele), + /* K122 */ be_nested_str(try_rule), + /* K123 */ be_nested_str(instance), + /* K124 */ be_nested_str(instance_X20required), + /* K125 */ be_nested_str(remove_rule), + /* K126 */ be_nested_str(Rule_Matcher), + /* K127 */ be_nested_str(parse), + /* K128 */ be_nested_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29), + /* K129 */ be_nested_str(cmd_res), + /* K130 */ be_nested_str(maxlog_level), + /* K131 */ be_nested_str(_cmd), + /* K132 */ be_nested_str(i2c_enabled), + /* K133 */ be_nested_str(wire1), + /* K134 */ be_nested_str(enabled), + /* K135 */ be_nested_str(detect), + /* K136 */ be_nested_str(wire2), + /* K137 */ be_nested_str(time_dump), + /* K138 */ be_nested_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d), + /* K139 */ be_nested_str(year), + /* K140 */ be_nested_str(month), + /* K141 */ be_nested_str(day), + /* K142 */ be_nested_str(hour), + /* K143 */ be_nested_str(min), + /* K144 */ be_nested_str(sec), + /* K145 */ be_nested_str(o), + /* K146 */ be_nested_str(_find_op), + /* K147 */ be_nested_str(collect), + /* K148 */ be_nested_str(allocated), + /* K149 */ be_nested_str(http), + /* K150 */ be_nested_str(resp_cmnd_str), + /* K151 */ be_nested_str(URL_X20must_X20start_X20with_X20_X27http_X28s_X29_X27), + /* K152 */ be_nested_str(urlfetch), + /* K153 */ be_nested_str(resp_cmnd_failed), + /* K154 */ be_nested_str(resp_cmnd_done), +}; + + +extern const bclass be_class_Tasmota; + +/******************************************************************** +** Solidified function: check_not_method +********************************************************************/ +be_local_closure(class_Tasmota_check_not_method, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_check_not_method, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x600C0004, // 0001 GETGBL R3 G4 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x200C0701, // 0004 NE R3 R3 K1 + 0x780E0000, // 0005 JMPF R3 #0007 + 0xB0060503, // 0006 RAISE 1 K2 K3 + 0x8C0C0504, // 0007 GETMET R3 R2 K4 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C0C0400, // 0009 CALL R3 2 + 0x50100200, // 000A LDBOOL R4 1 0 + 0x1C0C0604, // 000B EQ R3 R3 R4 + 0x780E0000, // 000C JMPF R3 #000E + 0xB0060505, // 000D RAISE 1 K2 K5 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: int +********************************************************************/ +be_local_closure(class_Tasmota_int, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_int, + &be_const_str_solidified, + ( &(const binstruction[46]) { /* code */ + 0x580C0006, // 0000 LDCONST R3 K6 + 0x60100009, // 0001 GETGBL R4 G9 + 0x5C140000, // 0002 MOVE R5 R0 + 0x7C100200, // 0003 CALL R4 1 + 0x5C000800, // 0004 MOVE R0 R4 + 0x4C100000, // 0005 LDNIL R4 + 0x1C100204, // 0006 EQ R4 R1 R4 + 0x78120003, // 0007 JMPF R4 #000C + 0x4C100000, // 0008 LDNIL R4 + 0x1C100404, // 0009 EQ R4 R2 R4 + 0x78120000, // 000A JMPF R4 #000C + 0x80040000, // 000B RET 1 R0 + 0x60100009, // 000C GETGBL R4 G9 + 0x5C140200, // 000D MOVE R5 R1 + 0x7C100200, // 000E CALL R4 1 + 0x5C040800, // 000F MOVE R1 R4 + 0x60100009, // 0010 GETGBL R4 G9 + 0x5C140400, // 0011 MOVE R5 R2 + 0x7C100200, // 0012 CALL R4 1 + 0x5C080800, // 0013 MOVE R2 R4 + 0x4C100000, // 0014 LDNIL R4 + 0x20100204, // 0015 NE R4 R1 R4 + 0x78120006, // 0016 JMPF R4 #001E + 0x4C100000, // 0017 LDNIL R4 + 0x20100404, // 0018 NE R4 R2 R4 + 0x78120003, // 0019 JMPF R4 #001E + 0x4C100000, // 001A LDNIL R4 + 0x1C100004, // 001B EQ R4 R0 R4 + 0x78120000, // 001C JMPF R4 #001E + 0x80040200, // 001D RET 1 R1 + 0x4C100000, // 001E LDNIL R4 + 0x20100004, // 001F NE R4 R0 R4 + 0x7812000B, // 0020 JMPF R4 #002D + 0x4C100000, // 0021 LDNIL R4 + 0x20100204, // 0022 NE R4 R1 R4 + 0x78120002, // 0023 JMPF R4 #0027 + 0x14100001, // 0024 LT R4 R0 R1 + 0x78120000, // 0025 JMPF R4 #0027 + 0x80040200, // 0026 RET 1 R1 + 0x4C100000, // 0027 LDNIL R4 + 0x20100404, // 0028 NE R4 R2 R4 + 0x78120002, // 0029 JMPF R4 #002D + 0x24100002, // 002A GT R4 R0 R2 + 0x78120000, // 002B JMPF R4 #002D + 0x80040400, // 002C RET 1 R2 + 0x80040000, // 002D RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: urlfetch +********************************************************************/ +be_local_closure(class_Tasmota_urlfetch, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_urlfetch, + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E000D, // 0002 JMPF R3 #0011 + 0xA40E0E00, // 0003 IMPORT R3 K7 + 0x8C100708, // 0004 GETMET R4 R3 K8 + 0x5C180200, // 0005 MOVE R6 R1 + 0x581C0009, // 0006 LDCONST R7 K9 + 0x7C100600, // 0007 CALL R4 3 + 0x8C10090A, // 0008 GETMET R4 R4 K10 + 0x7C100200, // 0009 CALL R4 1 + 0x5C080800, // 000A MOVE R2 R4 + 0x6010000C, // 000B GETGBL R4 G12 + 0x5C140400, // 000C MOVE R5 R2 + 0x7C100200, // 000D CALL R4 1 + 0x1C10090B, // 000E EQ R4 R4 K11 + 0x78120000, // 000F JMPF R4 #0011 + 0x5808000C, // 0010 LDCONST R2 K12 + 0xB80E1A00, // 0011 GETNGBL R3 K13 + 0x7C0C0000, // 0012 CALL R3 0 + 0x8C10070E, // 0013 GETMET R4 R3 K14 + 0x50180200, // 0014 LDBOOL R6 1 0 + 0x7C100400, // 0015 CALL R4 2 + 0x8C10070F, // 0016 GETMET R4 R3 K15 + 0x5C180200, // 0017 MOVE R6 R1 + 0x7C100400, // 0018 CALL R4 2 + 0x8C100710, // 0019 GETMET R4 R3 K16 + 0x7C100200, // 001A CALL R4 1 + 0x541600C7, // 001B LDINT R5 200 + 0x20140805, // 001C NE R5 R4 R5 + 0x78160004, // 001D JMPF R5 #0023 + 0x60140008, // 001E GETGBL R5 G8 + 0x5C180800, // 001F MOVE R6 R4 + 0x7C140200, // 0020 CALL R5 1 + 0x00162205, // 0021 ADD R5 K17 R5 + 0xB0062405, // 0022 RAISE 1 K18 R5 + 0x8C140713, // 0023 GETMET R5 R3 K19 + 0x5C1C0400, // 0024 MOVE R7 R2 + 0x7C140400, // 0025 CALL R5 2 + 0x8C180714, // 0026 GETMET R6 R3 K20 + 0x7C180200, // 0027 CALL R6 1 + 0x8C180115, // 0028 GETMET R6 R0 K21 + 0x60200008, // 0029 GETGBL R8 G8 + 0x5C240A00, // 002A MOVE R9 R5 + 0x7C200200, // 002B CALL R8 1 + 0x00222C08, // 002C ADD R8 K22 R8 + 0x58240017, // 002D LDCONST R9 K23 + 0x7C180600, // 002E CALL R6 3 + 0x80040800, // 002F RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compile +********************************************************************/ +be_local_closure(class_Tasmota_compile, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_compile, + &be_const_str_solidified, + ( &(const binstruction[84]) { /* code */ + 0xA40A0E00, // 0000 IMPORT R2 K7 + 0x8C0C0518, // 0001 GETMET R3 R2 K24 + 0x5C140200, // 0002 MOVE R5 R1 + 0x58180019, // 0003 LDCONST R6 K25 + 0x7C0C0600, // 0004 CALL R3 3 + 0x740E0007, // 0005 JMPT R3 #000E + 0x600C0001, // 0006 GETGBL R3 G1 + 0x60100018, // 0007 GETGBL R4 G24 + 0x5814001A, // 0008 LDCONST R5 K26 + 0x5C180200, // 0009 MOVE R6 R1 + 0x7C100400, // 000A CALL R4 2 + 0x7C0C0200, // 000B CALL R3 1 + 0x500C0000, // 000C LDBOOL R3 0 0 + 0x80040600, // 000D RET 1 R3 + 0x8C0C051B, // 000E GETMET R3 R2 K27 + 0x5C140200, // 000F MOVE R5 R1 + 0x5818001C, // 0010 LDCONST R6 K28 + 0x7C0C0600, // 0011 CALL R3 3 + 0x240C070B, // 0012 GT R3 R3 K11 + 0x780E0006, // 0013 JMPF R3 #001B + 0x600C0001, // 0014 GETGBL R3 G1 + 0x60100018, // 0015 GETGBL R4 G24 + 0x5814001D, // 0016 LDCONST R5 K29 + 0x7C100200, // 0017 CALL R4 1 + 0x7C0C0200, // 0018 CALL R3 1 + 0x500C0000, // 0019 LDBOOL R3 0 0 + 0x80040600, // 001A RET 1 R3 + 0x4C0C0000, // 001B LDNIL R3 + 0xA8020011, // 001C EXBLK 0 #002F + 0x6010000D, // 001D GETGBL R4 G13 + 0x5C140200, // 001E MOVE R5 R1 + 0x5818001E, // 001F LDCONST R6 K30 + 0x7C100400, // 0020 CALL R4 2 + 0x5C0C0800, // 0021 MOVE R3 R4 + 0x4C100000, // 0022 LDNIL R4 + 0x1C100604, // 0023 EQ R4 R3 R4 + 0x78120007, // 0024 JMPF R4 #002D + 0x60100001, // 0025 GETGBL R4 G1 + 0x60140018, // 0026 GETGBL R5 G24 + 0x5818001F, // 0027 LDCONST R6 K31 + 0x7C140200, // 0028 CALL R5 1 + 0x7C100200, // 0029 CALL R4 1 + 0x50100000, // 002A LDBOOL R4 0 0 + 0xA8040001, // 002B EXBLK 1 1 + 0x80040800, // 002C RET 1 R4 + 0xA8040001, // 002D EXBLK 1 1 + 0x7002000D, // 002E JMP #003D + 0xAC100002, // 002F CATCH R4 0 2 + 0x7002000A, // 0030 JMP #003C + 0x60180001, // 0031 GETGBL R6 G1 + 0x601C0018, // 0032 GETGBL R7 G24 + 0x58200020, // 0033 LDCONST R8 K32 + 0x5C240200, // 0034 MOVE R9 R1 + 0x5C280800, // 0035 MOVE R10 R4 + 0x5C2C0A00, // 0036 MOVE R11 R5 + 0x7C1C0800, // 0037 CALL R7 4 + 0x7C180200, // 0038 CALL R6 1 + 0x50180000, // 0039 LDBOOL R6 0 0 + 0x80040C00, // 003A RET 1 R6 + 0x70020000, // 003B JMP #003D + 0xB0080000, // 003C RAISE 2 R0 R0 + 0x00100321, // 003D ADD R4 R1 K33 + 0xA8020005, // 003E EXBLK 0 #0045 + 0x8C140122, // 003F GETMET R5 R0 K34 + 0x5C1C0800, // 0040 MOVE R7 R4 + 0x5C200600, // 0041 MOVE R8 R3 + 0x7C140600, // 0042 CALL R5 3 + 0xA8040001, // 0043 EXBLK 1 1 + 0x7002000C, // 0044 JMP #0052 + 0xAC140001, // 0045 CATCH R5 0 1 + 0x70020009, // 0046 JMP #0051 + 0x60180001, // 0047 GETGBL R6 G1 + 0x601C0018, // 0048 GETGBL R7 G24 + 0x58200023, // 0049 LDCONST R8 K35 + 0x5C240800, // 004A MOVE R9 R4 + 0x5C280A00, // 004B MOVE R10 R5 + 0x7C1C0600, // 004C CALL R7 3 + 0x7C180200, // 004D CALL R6 1 + 0x50180000, // 004E LDBOOL R6 0 0 + 0x80040C00, // 004F RET 1 R6 + 0x70020000, // 0050 JMP #0052 + 0xB0080000, // 0051 RAISE 2 R0 R0 + 0x50140200, // 0052 LDBOOL R5 1 0 + 0x80040A00, // 0053 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_cmd +********************************************************************/ +be_local_closure(class_Tasmota_remove_cmd, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_cmd, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080124, // 0000 GETMBR R2 R0 K36 + 0x780A0003, // 0001 JMPF R2 #0006 + 0x88080124, // 0002 GETMBR R2 R0 K36 + 0x8C080525, // 0003 GETMET R2 R2 K37 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_light +********************************************************************/ +be_local_closure(class_Tasmota_set_light, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_set_light, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x600C0001, // 0000 GETGBL R3 G1 + 0x58100026, // 0001 LDCONST R4 K38 + 0x7C0C0200, // 0002 CALL R3 1 + 0xA40E4E00, // 0003 IMPORT R3 K39 + 0x4C100000, // 0004 LDNIL R4 + 0x20100404, // 0005 NE R4 R2 R4 + 0x78120005, // 0006 JMPF R4 #000D + 0x8C100728, // 0007 GETMET R4 R3 K40 + 0x5C180200, // 0008 MOVE R6 R1 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x7C100600, // 000A CALL R4 3 + 0x80040800, // 000B RET 1 R4 + 0x70020003, // 000C JMP #0011 + 0x8C100728, // 000D GETMET R4 R3 K40 + 0x5C180200, // 000E MOVE R6 R1 + 0x7C100400, // 000F CALL R4 2 + 0x80040800, // 0010 RET 1 R4 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: run_cron +********************************************************************/ +be_local_closure(class_Tasmota_run_cron, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_run_cron, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x88040129, // 0000 GETMBR R1 R0 K41 + 0x7806001E, // 0001 JMPF R1 #0021 + 0x5804000B, // 0002 LDCONST R1 K11 + 0xB80A5400, // 0003 GETNGBL R2 K42 + 0x8C08052B, // 0004 GETMET R2 R2 K43 + 0x7C080200, // 0005 CALL R2 1 + 0x880C0129, // 0006 GETMBR R3 R0 K41 + 0x8C0C072C, // 0007 GETMET R3 R3 K44 + 0x7C0C0200, // 0008 CALL R3 1 + 0x140C0203, // 0009 LT R3 R1 R3 + 0x780E0015, // 000A JMPF R3 #0021 + 0x880C0129, // 000B GETMBR R3 R0 K41 + 0x940C0601, // 000C GETIDX R3 R3 R1 + 0x8810072D, // 000D GETMBR R4 R3 K45 + 0x1C10090B, // 000E EQ R4 R4 K11 + 0x78120003, // 000F JMPF R4 #0014 + 0x8C10072E, // 0010 GETMET R4 R3 K46 + 0x7C100200, // 0011 CALL R4 1 + 0x900E5A04, // 0012 SETMBR R3 K45 R4 + 0x7002000A, // 0013 JMP #001F + 0x8C10072F, // 0014 GETMET R4 R3 K47 + 0x7C100200, // 0015 CALL R4 1 + 0x78120007, // 0016 JMPF R4 #001F + 0x88100730, // 0017 GETMBR R4 R3 K48 + 0x8C14072E, // 0018 GETMET R5 R3 K46 + 0x7C140200, // 0019 CALL R5 1 + 0x900E5A05, // 001A SETMBR R3 K45 R5 + 0x5C180800, // 001B MOVE R6 R4 + 0x5C1C0400, // 001C MOVE R7 R2 + 0x5C200A00, // 001D MOVE R8 R5 + 0x7C180400, // 001E CALL R6 2 + 0x00040331, // 001F ADD R1 R1 K49 + 0x7001FFE4, // 0020 JMP #0006 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_cron +********************************************************************/ +be_local_closure(class_Tasmota_remove_cron, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_cron, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88080129, // 0000 GETMBR R2 R0 K41 + 0x780A000E, // 0001 JMPF R2 #0011 + 0x580C000B, // 0002 LDCONST R3 K11 + 0x8C10052C, // 0003 GETMET R4 R2 K44 + 0x7C100200, // 0004 CALL R4 1 + 0x14100604, // 0005 LT R4 R3 R4 + 0x78120009, // 0006 JMPF R4 #0011 + 0x94100403, // 0007 GETIDX R4 R2 R3 + 0x88100932, // 0008 GETMBR R4 R4 K50 + 0x1C100801, // 0009 EQ R4 R4 R1 + 0x78120003, // 000A JMPF R4 #000F + 0x8C100525, // 000B GETMET R4 R2 K37 + 0x5C180600, // 000C MOVE R6 R3 + 0x7C100400, // 000D CALL R4 2 + 0x70020000, // 000E JMP #0010 + 0x000C0731, // 000F ADD R3 R3 K49 + 0x7001FFF1, // 0010 JMP #0003 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_timer +********************************************************************/ +be_local_closure(class_Tasmota_remove_timer, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_timer, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88080133, // 0000 GETMBR R2 R0 K51 + 0x780A000E, // 0001 JMPF R2 #0011 + 0x580C000B, // 0002 LDCONST R3 K11 + 0x8C10052C, // 0003 GETMET R4 R2 K44 + 0x7C100200, // 0004 CALL R4 1 + 0x14100604, // 0005 LT R4 R3 R4 + 0x78120009, // 0006 JMPF R4 #0011 + 0x94100403, // 0007 GETIDX R4 R2 R3 + 0x88100932, // 0008 GETMBR R4 R4 K50 + 0x1C100801, // 0009 EQ R4 R4 R1 + 0x78120003, // 000A JMPF R4 #000F + 0x8C100525, // 000B GETMET R4 R2 K37 + 0x5C180600, // 000C MOVE R6 R3 + 0x7C100400, // 000D CALL R4 2 + 0x70020000, // 000E JMP #0010 + 0x000C0731, // 000F ADD R3 R3 K49 + 0x7001FFF1, // 0010 JMP #0003 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: next_cron +********************************************************************/ +be_local_closure(class_Tasmota_next_cron, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_next_cron, + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x88080129, // 0000 GETMBR R2 R0 K41 + 0x780A000D, // 0001 JMPF R2 #0010 + 0x580C000B, // 0002 LDCONST R3 K11 + 0x8C10052C, // 0003 GETMET R4 R2 K44 + 0x7C100200, // 0004 CALL R4 1 + 0x14100604, // 0005 LT R4 R3 R4 + 0x78120008, // 0006 JMPF R4 #0010 + 0x94100403, // 0007 GETIDX R4 R2 R3 + 0x88100932, // 0008 GETMBR R4 R4 K50 + 0x1C100801, // 0009 EQ R4 R4 R1 + 0x78120002, // 000A JMPF R4 #000E + 0x94100403, // 000B GETIDX R4 R2 R3 + 0x8810092D, // 000C GETMBR R4 R4 K45 + 0x80040800, // 000D RET 1 R4 + 0x000C0731, // 000E ADD R3 R3 K49 + 0x7001FFF2, // 000F JMP #0003 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_timer +********************************************************************/ +be_local_closure(class_Tasmota_set_timer, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_set_timer, + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8C100134, // 0000 GETMET R4 R0 K52 + 0x5C180400, // 0001 MOVE R6 R2 + 0x7C100400, // 0002 CALL R4 2 + 0x88100133, // 0003 GETMBR R4 R0 K51 + 0x4C140000, // 0004 LDNIL R5 + 0x1C100805, // 0005 EQ R4 R4 R5 + 0x78120002, // 0006 JMPF R4 #000A + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C100000, // 0008 CALL R4 0 + 0x90026604, // 0009 SETMBR R0 K51 R4 + 0x88100133, // 000A GETMBR R4 R0 K51 + 0x8C100935, // 000B GETMET R4 R4 K53 + 0xB81A6C00, // 000C GETNGBL R6 K54 + 0x8C1C0137, // 000D GETMET R7 R0 K55 + 0x5C240200, // 000E MOVE R9 R1 + 0x7C1C0400, // 000F CALL R7 2 + 0x5C200400, // 0010 MOVE R8 R2 + 0x5C240600, // 0011 MOVE R9 R3 + 0x7C180600, // 0012 CALL R6 3 + 0x7C100400, // 0013 CALL R4 2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_cmd +********************************************************************/ +be_local_closure(class_Tasmota_add_cmd, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_cmd, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x8C0C0134, // 0000 GETMET R3 R0 K52 + 0x5C140400, // 0001 MOVE R5 R2 + 0x7C0C0400, // 0002 CALL R3 2 + 0x880C0124, // 0003 GETMBR R3 R0 K36 + 0x4C100000, // 0004 LDNIL R4 + 0x1C0C0604, // 0005 EQ R3 R3 R4 + 0x780E0002, // 0006 JMPF R3 #000A + 0x600C0013, // 0007 GETGBL R3 G19 + 0x7C0C0000, // 0008 CALL R3 0 + 0x90024803, // 0009 SETMBR R0 K36 R3 + 0x600C0004, // 000A GETGBL R3 G4 + 0x5C100400, // 000B MOVE R4 R2 + 0x7C0C0200, // 000C CALL R3 1 + 0x1C0C0701, // 000D EQ R3 R3 K1 + 0x780E0002, // 000E JMPF R3 #0012 + 0x880C0124, // 000F GETMBR R3 R0 K36 + 0x980C0202, // 0010 SETIDX R3 R1 R2 + 0x70020000, // 0011 JMP #0013 + 0xB0067139, // 0012 RAISE 1 K56 K57 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: hs2rgb +********************************************************************/ +be_local_closure(class_Tasmota_hs2rgb, /* name */ + be_nested_proto( + 17, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_hs2rgb, + &be_const_str_solidified, + ( &(const binstruction[68]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0000, // 0002 JMPF R3 #0004 + 0x540A00FE, // 0003 LDINT R2 255 + 0x540E00FE, // 0004 LDINT R3 255 + 0x541200FE, // 0005 LDINT R4 255 + 0x541600FE, // 0006 LDINT R5 255 + 0x541A0167, // 0007 LDINT R6 360 + 0x10040206, // 0008 MOD R1 R1 R6 + 0x2418050B, // 0009 GT R6 R2 K11 + 0x781A0031, // 000A JMPF R6 #003D + 0x541A003B, // 000B LDINT R6 60 + 0x0C180206, // 000C DIV R6 R1 R6 + 0x541E003B, // 000D LDINT R7 60 + 0x101C0207, // 000E MOD R7 R1 R7 + 0x542200FE, // 000F LDINT R8 255 + 0x04201002, // 0010 SUB R8 R8 R2 + 0xB8267400, // 0011 GETNGBL R9 K58 + 0x8C24133B, // 0012 GETMET R9 R9 K59 + 0x5C2C0E00, // 0013 MOVE R11 R7 + 0x5830000B, // 0014 LDCONST R12 K11 + 0x5436003B, // 0015 LDINT R13 60 + 0x543A00FE, // 0016 LDINT R14 255 + 0x5C3C1000, // 0017 MOVE R15 R8 + 0x7C240C00, // 0018 CALL R9 6 + 0xB82A7400, // 0019 GETNGBL R10 K58 + 0x8C28153B, // 001A GETMET R10 R10 K59 + 0x5C300E00, // 001B MOVE R12 R7 + 0x5834000B, // 001C LDCONST R13 K11 + 0x543A003B, // 001D LDINT R14 60 + 0x5C3C1000, // 001E MOVE R15 R8 + 0x544200FE, // 001F LDINT R16 255 + 0x7C280C00, // 0020 CALL R10 6 + 0x1C2C0D0B, // 0021 EQ R11 R6 K11 + 0x782E0002, // 0022 JMPF R11 #0026 + 0x5C141400, // 0023 MOVE R5 R10 + 0x5C101000, // 0024 MOVE R4 R8 + 0x70020016, // 0025 JMP #003D + 0x1C2C0D31, // 0026 EQ R11 R6 K49 + 0x782E0002, // 0027 JMPF R11 #002B + 0x5C0C1200, // 0028 MOVE R3 R9 + 0x5C101000, // 0029 MOVE R4 R8 + 0x70020011, // 002A JMP #003D + 0x1C2C0D3C, // 002B EQ R11 R6 K60 + 0x782E0002, // 002C JMPF R11 #0030 + 0x5C0C1000, // 002D MOVE R3 R8 + 0x5C101400, // 002E MOVE R4 R10 + 0x7002000C, // 002F JMP #003D + 0x1C2C0D17, // 0030 EQ R11 R6 K23 + 0x782E0002, // 0031 JMPF R11 #0035 + 0x5C0C1000, // 0032 MOVE R3 R8 + 0x5C141200, // 0033 MOVE R5 R9 + 0x70020007, // 0034 JMP #003D + 0x542E0003, // 0035 LDINT R11 4 + 0x1C2C0C0B, // 0036 EQ R11 R6 R11 + 0x782E0002, // 0037 JMPF R11 #003B + 0x5C0C1400, // 0038 MOVE R3 R10 + 0x5C141000, // 0039 MOVE R5 R8 + 0x70020001, // 003A JMP #003D + 0x5C141000, // 003B MOVE R5 R8 + 0x5C101200, // 003C MOVE R4 R9 + 0x541A000F, // 003D LDINT R6 16 + 0x38180606, // 003E SHL R6 R3 R6 + 0x541E0007, // 003F LDINT R7 8 + 0x381C0A07, // 0040 SHL R7 R5 R7 + 0x30180C07, // 0041 OR R6 R6 R7 + 0x30180C04, // 0042 OR R6 R6 R4 + 0x80040C00, // 0043 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_fast_loop +********************************************************************/ +be_local_closure(class_Tasmota_add_fast_loop, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_fast_loop, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x8C080134, // 0000 GETMET R2 R0 K52 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x8808013D, // 0003 GETMBR R2 R0 K61 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C080403, // 0005 EQ R2 R2 R3 + 0x780A0002, // 0006 JMPF R2 #000A + 0x60080012, // 0007 GETGBL R2 G18 + 0x7C080000, // 0008 CALL R2 0 + 0x90027A02, // 0009 SETMBR R0 K61 R2 + 0x60080004, // 000A GETGBL R2 G4 + 0x5C0C0200, // 000B MOVE R3 R1 + 0x7C080200, // 000C CALL R2 1 + 0x20080501, // 000D NE R2 R2 K1 + 0x780A0000, // 000E JMPF R2 #0010 + 0xB006713E, // 000F RAISE 1 K56 K62 + 0x8808013F, // 0010 GETMBR R2 R0 K63 + 0x900A8131, // 0011 SETMBR R2 K64 K49 + 0x8808013D, // 0012 GETMBR R2 R0 K61 + 0x8C080535, // 0013 GETMET R2 R2 K53 + 0x5C100200, // 0014 MOVE R4 R1 + 0x7C080400, // 0015 CALL R2 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event +********************************************************************/ +be_local_closure(class_Tasmota_event, /* name */ + be_nested_proto( + 19, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_event, + &be_const_str_solidified, + ( &(const binstruction[108]) { /* code */ + 0xA41A0000, // 0000 IMPORT R6 K0 + 0x1C1C0341, // 0001 EQ R7 R1 K65 + 0x781E0001, // 0002 JMPF R7 #0005 + 0x8C1C0142, // 0003 GETMET R7 R0 K66 + 0x7C1C0200, // 0004 CALL R7 1 + 0x1C1C0343, // 0005 EQ R7 R1 K67 + 0x781E0001, // 0006 JMPF R7 #0009 + 0x8C1C0144, // 0007 GETMET R7 R0 K68 + 0x7C1C0200, // 0008 CALL R7 1 + 0x501C0000, // 0009 LDBOOL R7 0 0 + 0x50200000, // 000A LDBOOL R8 0 0 + 0x1C240345, // 000B EQ R9 R1 K69 + 0x78260000, // 000C JMPF R9 #000E + 0x50200200, // 000D LDBOOL R8 1 0 + 0x1C240346, // 000E EQ R9 R1 K70 + 0x78260006, // 000F JMPF R9 #0017 + 0x8C240147, // 0010 GETMET R9 R0 K71 + 0x5C2C0400, // 0011 MOVE R11 R2 + 0x5C300600, // 0012 MOVE R12 R3 + 0x5C340800, // 0013 MOVE R13 R4 + 0x7C240800, // 0014 CALL R9 4 + 0x80041200, // 0015 RET 1 R9 + 0x7002004E, // 0016 JMP #0066 + 0x1C240348, // 0017 EQ R9 R1 K72 + 0x78260004, // 0018 JMPF R9 #001E + 0x8C240149, // 0019 GETMET R9 R0 K73 + 0x5C2C0800, // 001A MOVE R11 R4 + 0x7C240400, // 001B CALL R9 2 + 0x80041200, // 001C RET 1 R9 + 0x70020047, // 001D JMP #0066 + 0x1C24034A, // 001E EQ R9 R1 K74 + 0x78260007, // 001F JMPF R9 #0028 + 0x8C24014B, // 0020 GETMET R9 R0 K75 + 0x5C2C0800, // 0021 MOVE R11 R4 + 0x60300017, // 0022 GETGBL R12 G23 + 0x5C340600, // 0023 MOVE R13 R3 + 0x7C300200, // 0024 CALL R12 1 + 0x7C240600, // 0025 CALL R9 3 + 0x80041200, // 0026 RET 1 R9 + 0x7002003D, // 0027 JMP #0066 + 0x1C24034C, // 0028 EQ R9 R1 K76 + 0x78260003, // 0029 JMPF R9 #002E + 0x8C24014C, // 002A GETMET R9 R0 K76 + 0x7C240200, // 002B CALL R9 1 + 0x80041200, // 002C RET 1 R9 + 0x70020037, // 002D JMP #0066 + 0x8824014D, // 002E GETMBR R9 R0 K77 + 0x78260035, // 002F JMPF R9 #0066 + 0x5824000B, // 0030 LDCONST R9 K11 + 0x6028000C, // 0031 GETGBL R10 G12 + 0x882C014D, // 0032 GETMBR R11 R0 K77 + 0x7C280200, // 0033 CALL R10 1 + 0x1428120A, // 0034 LT R10 R9 R10 + 0x782A002F, // 0035 JMPF R10 #0066 + 0x8828014D, // 0036 GETMBR R10 R0 K77 + 0x94281409, // 0037 GETIDX R10 R10 R9 + 0x8C2C0D4E, // 0038 GETMET R11 R6 K78 + 0x5C341400, // 0039 MOVE R13 R10 + 0x5C380200, // 003A MOVE R14 R1 + 0x7C2C0600, // 003B CALL R11 3 + 0x60300004, // 003C GETGBL R12 G4 + 0x5C341600, // 003D MOVE R13 R11 + 0x7C300200, // 003E CALL R12 1 + 0x1C301901, // 003F EQ R12 R12 K1 + 0x78320022, // 0040 JMPF R12 #0064 + 0xA8020011, // 0041 EXBLK 0 #0054 + 0x5C301600, // 0042 MOVE R12 R11 + 0x5C341400, // 0043 MOVE R13 R10 + 0x5C380400, // 0044 MOVE R14 R2 + 0x5C3C0600, // 0045 MOVE R15 R3 + 0x5C400800, // 0046 MOVE R16 R4 + 0x5C440A00, // 0047 MOVE R17 R5 + 0x7C300A00, // 0048 CALL R12 5 + 0x74320001, // 0049 JMPT R12 #004C + 0x741E0000, // 004A JMPT R7 #004C + 0x501C0001, // 004B LDBOOL R7 0 1 + 0x501C0200, // 004C LDBOOL R7 1 0 + 0x781E0003, // 004D JMPF R7 #0052 + 0x5C301000, // 004E MOVE R12 R8 + 0x74320001, // 004F JMPT R12 #0052 + 0xA8040001, // 0050 EXBLK 1 1 + 0x70020013, // 0051 JMP #0066 + 0xA8040001, // 0052 EXBLK 1 1 + 0x7002000F, // 0053 JMP #0064 + 0xAC300002, // 0054 CATCH R12 0 2 + 0x7002000C, // 0055 JMP #0063 + 0x60380001, // 0056 GETGBL R14 G1 + 0x603C0018, // 0057 GETGBL R15 G24 + 0x5840004F, // 0058 LDCONST R16 K79 + 0x5C441800, // 0059 MOVE R17 R12 + 0x5C481A00, // 005A MOVE R18 R13 + 0x7C3C0600, // 005B CALL R15 3 + 0x7C380200, // 005C CALL R14 1 + 0x88380150, // 005D GETMBR R14 R0 K80 + 0x783A0002, // 005E JMPF R14 #0062 + 0xA43AA200, // 005F IMPORT R14 K81 + 0x8C3C1D52, // 0060 GETMET R15 R14 K82 + 0x7C3C0200, // 0061 CALL R15 1 + 0x70020000, // 0062 JMP #0064 + 0xB0080000, // 0063 RAISE 2 R0 R0 + 0x00241331, // 0064 ADD R9 R9 K49 + 0x7001FFCA, // 0065 JMP #0031 + 0x1C240353, // 0066 EQ R9 R1 K83 + 0x78260002, // 0067 JMPF R9 #006B + 0xA426A800, // 0068 IMPORT R9 K84 + 0x8C281322, // 0069 GETMET R10 R9 K34 + 0x7C280200, // 006A CALL R10 1 + 0x80040E00, // 006B RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load +********************************************************************/ +be_local_closure(class_Tasmota_load, /* name */ + be_nested_proto( + 26, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 6]) { + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(sys), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(push), + }), + &be_const_str_push_path, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0502, // 0003 GETMET R3 R2 K2 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x1C0C0604, // 0007 EQ R3 R3 R4 + 0x780E0002, // 0008 JMPF R3 #000C + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x5C140000, // 000A MOVE R5 R0 + 0x7C0C0400, // 000B CALL R3 2 + 0x80000000, // 000C RET 0 + }) + ), + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(sys), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(remove), + }), + &be_const_str_pop_path, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0502, // 0003 GETMET R3 R2 K2 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x20100604, // 0007 NE R4 R3 R4 + 0x78120002, // 0008 JMPF R4 #000C + 0x8C100503, // 0009 GETMET R4 R2 K3 + 0x5C180600, // 000A MOVE R6 R3 + 0x7C100400, // 000B CALL R4 2 + 0x80000000, // 000C RET 0 + }) + ), + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str(r), + /* K1 */ be_nested_str(readbytes), + /* K2 */ be_const_int(3), + /* K3 */ be_const_int(1), + /* K4 */ be_nested_str(BECDFE), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str(close), + /* K7 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20compiled_X20_X27_X25s_X27_X20_X28_X25s_X29), + }), + &be_const_str_try_get_bec_version, + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0xA8020016, // 0001 EXBLK 0 #0019 + 0x60080011, // 0002 GETGBL R2 G17 + 0x5C0C0000, // 0003 MOVE R3 R0 + 0x58100000, // 0004 LDCONST R4 K0 + 0x7C080400, // 0005 CALL R2 2 + 0x5C040400, // 0006 MOVE R1 R2 + 0x8C080301, // 0007 GETMET R2 R1 K1 + 0x58100002, // 0008 LDCONST R4 K2 + 0x7C080400, // 0009 CALL R2 2 + 0x8C0C0301, // 000A GETMET R3 R1 K1 + 0x58140003, // 000B LDCONST R5 K3 + 0x7C0C0400, // 000C CALL R3 2 + 0x60100015, // 000D GETGBL R4 G21 + 0x58140004, // 000E LDCONST R5 K4 + 0x7C100200, // 000F CALL R4 1 + 0x1C100404, // 0010 EQ R4 R2 R4 + 0x78120002, // 0011 JMPF R4 #0015 + 0x94100705, // 0012 GETIDX R4 R3 K5 + 0xA8040001, // 0013 EXBLK 1 1 + 0x80040800, // 0014 RET 1 R4 + 0x8C100306, // 0015 GETMET R4 R1 K6 + 0x7C100200, // 0016 CALL R4 1 + 0xA8040001, // 0017 EXBLK 1 1 + 0x7002000F, // 0018 JMP #0029 + 0xAC080001, // 0019 CATCH R2 0 1 + 0x7002000C, // 001A JMP #0028 + 0x4C0C0000, // 001B LDNIL R3 + 0x200C0203, // 001C NE R3 R1 R3 + 0x780E0001, // 001D JMPF R3 #0020 + 0x8C0C0306, // 001E GETMET R3 R1 K6 + 0x7C0C0200, // 001F CALL R3 1 + 0x600C0001, // 0020 GETGBL R3 G1 + 0x60100018, // 0021 GETGBL R4 G24 + 0x58140007, // 0022 LDCONST R5 K7 + 0x5C180000, // 0023 MOVE R6 R0 + 0x5C1C0400, // 0024 MOVE R7 R2 + 0x7C100600, // 0025 CALL R4 3 + 0x7C0C0200, // 0026 CALL R3 1 + 0x70020000, // 0027 JMP #0029 + 0xB0080000, // 0028 RAISE 2 R0 R0 + 0x4C080000, // 0029 LDNIL R2 + 0x80040400, // 002A RET 1 R2 + }) + ), + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(remove), + }), + &be_const_str_try_remove_file, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0xA8020006, // 0001 EXBLK 0 #0009 + 0x8C080301, // 0002 GETMET R2 R1 K1 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C080400, // 0004 CALL R2 2 + 0xA8040001, // 0005 EXBLK 1 1 + 0x80040400, // 0006 RET 1 R2 + 0xA8040001, // 0007 EXBLK 1 1 + 0x70020003, // 0008 JMP #000D + 0xAC080000, // 0009 CATCH R2 0 0 + 0x70020000, // 000A JMP #000C + 0x70020000, // 000B JMP #000D + 0xB0080000, // 000C RAISE 2 R0 R0 + 0x50080000, // 000D LDBOOL R2 0 0 + 0x80040400, // 000E RET 1 R2 + }) + ), + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str(file), + /* K1 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_X27_X25s_X27_X20_X28_X25s_X20_X2D_X20_X25s_X29), + }), + &be_const_str_try_compile, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xA8020007, // 0000 EXBLK 0 #0009 + 0x6004000D, // 0001 GETGBL R1 G13 + 0x5C080000, // 0002 MOVE R2 R0 + 0x580C0000, // 0003 LDCONST R3 K0 + 0x7C040400, // 0004 CALL R1 2 + 0xA8040001, // 0005 EXBLK 1 1 + 0x80040200, // 0006 RET 1 R1 + 0xA8040001, // 0007 EXBLK 1 1 + 0x7002000B, // 0008 JMP #0015 + 0xAC040002, // 0009 CATCH R1 0 2 + 0x70020008, // 000A JMP #0014 + 0x600C0001, // 000B GETGBL R3 G1 + 0x60100018, // 000C GETGBL R4 G24 + 0x58140001, // 000D LDCONST R5 K1 + 0x5C180000, // 000E MOVE R6 R0 + 0x5C1C0200, // 000F MOVE R7 R1 + 0x5C200400, // 0010 MOVE R8 R2 + 0x7C100800, // 0011 CALL R4 4 + 0x7C0C0200, // 0012 CALL R3 1 + 0x70020000, // 0013 JMP #0015 + 0xB0080000, // 0014 RAISE 2 R0 R0 + 0x4C040000, // 0015 LDNIL R1 + 0x80040200, // 0016 RET 1 R1 + }) + ), + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(BRY_X3A_X20failed_X20to_X20run_X20compiled_X20code_X20_X28_X25s_X20_X2D_X20_X25s_X29), + /* K1 */ be_nested_str(_debug_present), + /* K2 */ be_nested_str(debug), + /* K3 */ be_nested_str(traceback), + }), + &be_const_str_try_run_compiled, + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x20040001, // 0001 NE R1 R0 R1 + 0x78060018, // 0002 JMPF R1 #001C + 0xA8020006, // 0003 EXBLK 0 #000B + 0x5C040000, // 0004 MOVE R1 R0 + 0x7C040000, // 0005 CALL R1 0 + 0x50040200, // 0006 LDBOOL R1 1 0 + 0xA8040001, // 0007 EXBLK 1 1 + 0x80040200, // 0008 RET 1 R1 + 0xA8040001, // 0009 EXBLK 1 1 + 0x70020010, // 000A JMP #001C + 0xAC040002, // 000B CATCH R1 0 2 + 0x7002000D, // 000C JMP #001B + 0x600C0001, // 000D GETGBL R3 G1 + 0x60100018, // 000E GETGBL R4 G24 + 0x58140000, // 000F LDCONST R5 K0 + 0x5C180200, // 0010 MOVE R6 R1 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x7C100600, // 0012 CALL R4 3 + 0x7C0C0200, // 0013 CALL R3 1 + 0x680C0000, // 0014 GETUPV R3 U0 + 0x880C0701, // 0015 GETMBR R3 R3 K1 + 0x780E0002, // 0016 JMPF R3 #001A + 0xA40E0400, // 0017 IMPORT R3 K2 + 0x8C100703, // 0018 GETMET R4 R3 K3 + 0x7C100200, // 0019 CALL R4 1 + 0x70020000, // 001A JMP #001C + 0xB0080000, // 001B RAISE 2 R0 R0 + 0x50040000, // 001C LDBOOL R1 0 0 + 0x80040200, // 001D RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_load, + &be_const_str_solidified, + ( &(const binstruction[164]) { /* code */ + 0x84080000, // 0000 CLOSURE R2 P0 + 0x840C0001, // 0001 CLOSURE R3 P1 + 0x84100002, // 0002 CLOSURE R4 P2 + 0x84140003, // 0003 CLOSURE R5 P3 + 0x84180004, // 0004 CLOSURE R6 P4 + 0x841C0005, // 0005 CLOSURE R7 P5 + 0xA4220E00, // 0006 IMPORT R8 K7 + 0xA426AA00, // 0007 IMPORT R9 K85 + 0x6028000C, // 0008 GETGBL R10 G12 + 0x5C2C0200, // 0009 MOVE R11 R1 + 0x7C280200, // 000A CALL R10 1 + 0x1C28150B, // 000B EQ R10 R10 K11 + 0x782A0002, // 000C JMPF R10 #0010 + 0x50280000, // 000D LDBOOL R10 0 0 + 0xA0000000, // 000E CLOSE R0 + 0x80041400, // 000F RET 1 R10 + 0x8C281156, // 0010 GETMET R10 R8 K86 + 0x5C300200, // 0011 MOVE R12 R1 + 0x58340009, // 0012 LDCONST R13 K9 + 0x7C280600, // 0013 CALL R10 3 + 0x742A0000, // 0014 JMPT R10 #0016 + 0x00061201, // 0015 ADD R1 K9 R1 + 0x8C28111B, // 0016 GETMET R10 R8 K27 + 0x5C300200, // 0017 MOVE R12 R1 + 0x5834001C, // 0018 LDCONST R13 K28 + 0x7C280600, // 0019 CALL R10 3 + 0x242C150B, // 001A GT R11 R10 K11 + 0x782E0003, // 001B JMPF R11 #0020 + 0x04301531, // 001C SUB R12 R10 K49 + 0x4032160C, // 001D CONNECT R12 K11 R12 + 0x9430020C, // 001E GETIDX R12 R1 R12 + 0x70020000, // 001F JMP #0021 + 0x5C300200, // 0020 MOVE R12 R1 + 0x782E0003, // 0021 JMPF R11 #0026 + 0x00341531, // 0022 ADD R13 R10 K49 + 0x40341B57, // 0023 CONNECT R13 R13 K87 + 0x9434020D, // 0024 GETIDX R13 R1 R13 + 0x70020000, // 0025 JMP #0027 + 0x5C340200, // 0026 MOVE R13 R1 + 0x8C38111B, // 0027 GETMET R14 R8 K27 + 0x5C401A00, // 0028 MOVE R16 R13 + 0x58440058, // 0029 LDCONST R17 K88 + 0x7C380600, // 002A CALL R14 3 + 0x14381D0B, // 002B LT R14 R14 K11 + 0x783A0001, // 002C JMPF R14 #002F + 0x00040319, // 002D ADD R1 R1 K25 + 0x00341B19, // 002E ADD R13 R13 K25 + 0x8C381118, // 002F GETMET R14 R8 K24 + 0x5C401A00, // 0030 MOVE R16 R13 + 0x58440019, // 0031 LDCONST R17 K25 + 0x7C380600, // 0032 CALL R14 3 + 0x8C3C1118, // 0033 GETMET R15 R8 K24 + 0x5C441A00, // 0034 MOVE R17 R13 + 0x58480059, // 0035 LDCONST R18 K89 + 0x7C3C0600, // 0036 CALL R15 3 + 0x783E0001, // 0037 JMPF R15 #003A + 0x5C400200, // 0038 MOVE R16 R1 + 0x70020000, // 0039 JMP #003B + 0x00400321, // 003A ADD R16 R1 K33 + 0x5C441C00, // 003B MOVE R17 R14 + 0x74460007, // 003C JMPT R17 #0045 + 0x5C441E00, // 003D MOVE R17 R15 + 0x74460005, // 003E JMPT R17 #0045 + 0x60440001, // 003F GETGBL R17 G1 + 0x5848005A, // 0040 LDCONST R18 K90 + 0x7C440200, // 0041 CALL R17 1 + 0x50440000, // 0042 LDBOOL R17 0 0 + 0xA0000000, // 0043 CLOSE R0 + 0x80042200, // 0044 RET 1 R17 + 0x50440000, // 0045 LDBOOL R17 0 0 + 0x783E0008, // 0046 JMPF R15 #0050 + 0x8C48135B, // 0047 GETMET R18 R9 K91 + 0x5C502000, // 0048 MOVE R20 R16 + 0x7C480400, // 0049 CALL R18 2 + 0x744A0002, // 004A JMPT R18 #004E + 0x50480000, // 004B LDBOOL R18 0 0 + 0xA0000000, // 004C CLOSE R0 + 0x80042400, // 004D RET 1 R18 + 0x50440200, // 004E LDBOOL R17 1 0 + 0x70020014, // 004F JMP #0065 + 0x8C48135B, // 0050 GETMET R18 R9 K91 + 0x5C500200, // 0051 MOVE R20 R1 + 0x7C480400, // 0052 CALL R18 2 + 0x784A0007, // 0053 JMPF R18 #005C + 0x8C48135B, // 0054 GETMET R18 R9 K91 + 0x5C502000, // 0055 MOVE R20 R16 + 0x7C480400, // 0056 CALL R18 2 + 0x784A0002, // 0057 JMPF R18 #005B + 0x5C480A00, // 0058 MOVE R18 R5 + 0x5C4C2000, // 0059 MOVE R19 R16 + 0x7C480200, // 005A CALL R18 1 + 0x70020008, // 005B JMP #0065 + 0x8C48135B, // 005C GETMET R18 R9 K91 + 0x5C502000, // 005D MOVE R20 R16 + 0x7C480400, // 005E CALL R18 2 + 0x784A0001, // 005F JMPF R18 #0062 + 0x50440200, // 0060 LDBOOL R17 1 0 + 0x70020002, // 0061 JMP #0065 + 0x50480000, // 0062 LDBOOL R18 0 0 + 0xA0000000, // 0063 CLOSE R0 + 0x80042400, // 0064 RET 1 R18 + 0x782E0005, // 0065 JMPF R11 #006C + 0x0048191C, // 0066 ADD R18 R12 K28 + 0x9002B812, // 0067 SETMBR R0 K92 R18 + 0x5C480400, // 0068 MOVE R18 R2 + 0x884C015C, // 0069 GETMBR R19 R0 K92 + 0x7C480200, // 006A CALL R18 1 + 0x70020000, // 006B JMP #006D + 0x9002B95D, // 006C SETMBR R0 K92 K93 + 0x4C480000, // 006D LDNIL R18 + 0x78460025, // 006E JMPF R17 #0095 + 0x5C4C0800, // 006F MOVE R19 R4 + 0x5C502000, // 0070 MOVE R20 R16 + 0x7C4C0200, // 0071 CALL R19 1 + 0x50500200, // 0072 LDBOOL R20 1 0 + 0x4C540000, // 0073 LDNIL R21 + 0x1C542615, // 0074 EQ R21 R19 R21 + 0x78560007, // 0075 JMPF R21 #007E + 0x60540001, // 0076 GETGBL R21 G1 + 0x60580018, // 0077 GETGBL R22 G24 + 0x585C005E, // 0078 LDCONST R23 K94 + 0x5C602000, // 0079 MOVE R24 R16 + 0x7C580400, // 007A CALL R22 2 + 0x7C540200, // 007B CALL R21 1 + 0x50500000, // 007C LDBOOL R20 0 0 + 0x7002000A, // 007D JMP #0089 + 0x54560003, // 007E LDINT R21 4 + 0x20542615, // 007F NE R21 R19 R21 + 0x78560007, // 0080 JMPF R21 #0089 + 0x60540001, // 0081 GETGBL R21 G1 + 0x60580018, // 0082 GETGBL R22 G24 + 0x585C005F, // 0083 LDCONST R23 K95 + 0x5C602000, // 0084 MOVE R24 R16 + 0x5C642600, // 0085 MOVE R25 R19 + 0x7C580600, // 0086 CALL R22 3 + 0x7C540200, // 0087 CALL R21 1 + 0x50500000, // 0088 LDBOOL R20 0 0 + 0x78520003, // 0089 JMPF R20 #008E + 0x5C540C00, // 008A MOVE R21 R6 + 0x5C582000, // 008B MOVE R22 R16 + 0x7C540200, // 008C CALL R21 1 + 0x5C482A00, // 008D MOVE R18 R21 + 0x4C540000, // 008E LDNIL R21 + 0x1C542415, // 008F EQ R21 R18 R21 + 0x78560003, // 0090 JMPF R21 #0095 + 0x5C540A00, // 0091 MOVE R21 R5 + 0x5C582000, // 0092 MOVE R22 R16 + 0x7C540200, // 0093 CALL R21 1 + 0x50440000, // 0094 LDBOOL R17 0 0 + 0x5C4C2200, // 0095 MOVE R19 R17 + 0x744E0003, // 0096 JMPT R19 #009B + 0x5C4C0C00, // 0097 MOVE R19 R6 + 0x5C500200, // 0098 MOVE R20 R1 + 0x7C4C0200, // 0099 CALL R19 1 + 0x5C482600, // 009A MOVE R18 R19 + 0x5C4C0E00, // 009B MOVE R19 R7 + 0x5C502400, // 009C MOVE R20 R18 + 0x7C4C0200, // 009D CALL R19 1 + 0x782E0002, // 009E JMPF R11 #00A2 + 0x5C500600, // 009F MOVE R20 R3 + 0x0054191C, // 00A0 ADD R21 R12 K28 + 0x7C500200, // 00A1 CALL R20 1 + 0xA0000000, // 00A2 CLOSE R0 + 0x80042600, // 00A3 RET 1 R19 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_cmd +********************************************************************/ +be_local_closure(class_Tasmota_exec_cmd, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_exec_cmd, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88100124, // 0000 GETMBR R4 R0 K36 + 0x78120016, // 0001 JMPF R4 #0019 + 0xA412C000, // 0002 IMPORT R4 K96 + 0x8C140961, // 0003 GETMET R5 R4 K97 + 0x5C1C0600, // 0004 MOVE R7 R3 + 0x7C140400, // 0005 CALL R5 2 + 0x8C180162, // 0006 GETMET R6 R0 K98 + 0x88200124, // 0007 GETMBR R8 R0 K36 + 0x5C240200, // 0008 MOVE R9 R1 + 0x7C180600, // 0009 CALL R6 3 + 0x4C1C0000, // 000A LDNIL R7 + 0x201C0C07, // 000B NE R7 R6 R7 + 0x781E000B, // 000C JMPF R7 #0019 + 0x8C1C0163, // 000D GETMET R7 R0 K99 + 0x5C240C00, // 000E MOVE R9 R6 + 0x7C1C0400, // 000F CALL R7 2 + 0x881C0124, // 0010 GETMBR R7 R0 K36 + 0x941C0E06, // 0011 GETIDX R7 R7 R6 + 0x5C200C00, // 0012 MOVE R8 R6 + 0x5C240400, // 0013 MOVE R9 R2 + 0x5C280600, // 0014 MOVE R10 R3 + 0x5C2C0A00, // 0015 MOVE R11 R5 + 0x7C1C0800, // 0016 CALL R7 4 + 0x501C0200, // 0017 LDBOOL R7 1 0 + 0x80040E00, // 0018 RET 1 R7 + 0x50100000, // 0019 LDBOOL R4 0 0 + 0x80040800, // 001A RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: try_rule +********************************************************************/ +be_local_closure(class_Tasmota_try_rule, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_try_rule, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8C100564, // 0000 GETMET R4 R2 K100 + 0x5C180200, // 0001 MOVE R6 R1 + 0x7C100400, // 0002 CALL R4 2 + 0x4C140000, // 0003 LDNIL R5 + 0x20140805, // 0004 NE R5 R4 R5 + 0x78160009, // 0005 JMPF R5 #0010 + 0x4C140000, // 0006 LDNIL R5 + 0x20140605, // 0007 NE R5 R3 R5 + 0x78160004, // 0008 JMPF R5 #000E + 0x5C140600, // 0009 MOVE R5 R3 + 0x5C180800, // 000A MOVE R6 R4 + 0x881C0565, // 000B GETMBR R7 R2 K101 + 0x5C200200, // 000C MOVE R8 R1 + 0x7C140600, // 000D CALL R5 3 + 0x50140200, // 000E LDBOOL R5 1 0 + 0x80040A00, // 000F RET 1 R5 + 0x50140000, // 0010 LDBOOL R5 0 0 + 0x80040A00, // 0011 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_cron +********************************************************************/ +be_local_closure(class_Tasmota_add_cron, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_cron, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x8C100134, // 0000 GETMET R4 R0 K52 + 0x5C180400, // 0001 MOVE R6 R2 + 0x7C100400, // 0002 CALL R4 2 + 0x88100129, // 0003 GETMBR R4 R0 K41 + 0x4C140000, // 0004 LDNIL R5 + 0x1C100805, // 0005 EQ R4 R4 R5 + 0x78120002, // 0006 JMPF R4 #000A + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C100000, // 0008 CALL R4 0 + 0x90025204, // 0009 SETMBR R0 K41 R4 + 0xB8125400, // 000A GETNGBL R4 K42 + 0x60140008, // 000B GETGBL R5 G8 + 0x5C180200, // 000C MOVE R6 R1 + 0x7C140200, // 000D CALL R5 1 + 0x7C100200, // 000E CALL R4 1 + 0x8C14092E, // 000F GETMET R5 R4 K46 + 0x7C140200, // 0010 CALL R5 1 + 0x88180129, // 0011 GETMBR R6 R0 K41 + 0x8C180D35, // 0012 GETMET R6 R6 K53 + 0xB8226C00, // 0013 GETNGBL R8 K54 + 0x5C240A00, // 0014 MOVE R9 R5 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x5C300800, // 0017 MOVE R12 R4 + 0x7C200800, // 0018 CALL R8 4 + 0x7C180400, // 0019 CALL R6 2 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_rule +********************************************************************/ +be_local_closure(class_Tasmota_remove_rule, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_rule, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x880C0166, // 0000 GETMBR R3 R0 K102 + 0x780E0017, // 0001 JMPF R3 #001A + 0x580C000B, // 0002 LDCONST R3 K11 + 0x6010000C, // 0003 GETGBL R4 G12 + 0x88140166, // 0004 GETMBR R5 R0 K102 + 0x7C100200, // 0005 CALL R4 1 + 0x14100604, // 0006 LT R4 R3 R4 + 0x78120011, // 0007 JMPF R4 #001A + 0x88100166, // 0008 GETMBR R4 R0 K102 + 0x94100803, // 0009 GETIDX R4 R4 R3 + 0x8810092D, // 000A GETMBR R4 R4 K45 + 0x8810094A, // 000B GETMBR R4 R4 K74 + 0x1C100801, // 000C EQ R4 R4 R1 + 0x78120009, // 000D JMPF R4 #0018 + 0x88100166, // 000E GETMBR R4 R0 K102 + 0x94100803, // 000F GETIDX R4 R4 R3 + 0x88100932, // 0010 GETMBR R4 R4 K50 + 0x1C100802, // 0011 EQ R4 R4 R2 + 0x78120004, // 0012 JMPF R4 #0018 + 0x88100166, // 0013 GETMBR R4 R0 K102 + 0x8C100925, // 0014 GETMET R4 R4 K37 + 0x5C180600, // 0015 MOVE R6 R3 + 0x7C100400, // 0016 CALL R4 2 + 0x70020000, // 0017 JMP #0019 + 0x000C0731, // 0018 ADD R3 R3 K49 + 0x7001FFE8, // 0019 JMP #0003 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: gen_cb +********************************************************************/ +be_local_closure(class_Tasmota_gen_cb, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_gen_cb, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xA40ACE00, // 0000 IMPORT R2 K103 + 0x8C0C0568, // 0001 GETMET R3 R2 K104 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x80040600, // 0004 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_rule_once +********************************************************************/ +be_local_closure(class_Tasmota_add_rule_once, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_rule_once, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C100169, // 0000 GETMET R4 R0 K105 + 0x5C180200, // 0001 MOVE R6 R1 + 0x5C1C0400, // 0002 MOVE R7 R2 + 0x5C200600, // 0003 MOVE R8 R3 + 0x50240200, // 0004 LDBOOL R9 1 0 + 0x7C100A00, // 0005 CALL R4 5 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Tasmota_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(urlfetch_cmd), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x68100000, // 0000 GETUPV R4 U0 + 0x8C100900, // 0001 GETMET R4 R4 K0 + 0x5C180000, // 0002 MOVE R6 R0 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80000000, // 0007 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xB806D400, // 0000 GETNGBL R1 K106 + 0x8808016B, // 0001 GETMBR R2 R0 K107 + 0x880C016C, // 0002 GETMBR R3 R0 K108 + 0x7C040400, // 0003 CALL R1 2 + 0x90027E01, // 0004 SETMBR R0 K63 R1 + 0xA4060000, // 0005 IMPORT R1 K0 + 0x60080015, // 0006 GETGBL R2 G21 + 0x880C016D, // 0007 GETMBR R3 R0 K109 + 0x54120003, // 0008 LDINT R4 4 + 0x7C080400, // 0009 CALL R2 2 + 0x8C08054E, // 000A GETMET R2 R2 K78 + 0x5810000B, // 000B LDCONST R4 K11 + 0x54160003, // 000C LDINT R5 4 + 0x7C080600, // 000D CALL R2 3 + 0x780A0006, // 000E JMPF R2 #0016 + 0xB80ED400, // 000F GETNGBL R3 K106 + 0x8C10036F, // 0010 GETMET R4 R1 K111 + 0x5C180400, // 0011 MOVE R6 R2 + 0x7C100400, // 0012 CALL R4 2 + 0x88140170, // 0013 GETMBR R5 R0 K112 + 0x7C0C0400, // 0014 CALL R3 2 + 0x9002DC03, // 0015 SETMBR R0 K110 R3 + 0x9002B95D, // 0016 SETMBR R0 K92 K93 + 0xB80E7E00, // 0017 GETNGBL R3 K63 + 0x8C0C0771, // 0018 GETMET R3 R3 K113 + 0x58140051, // 0019 LDCONST R5 K81 + 0x7C0C0400, // 001A CALL R3 2 + 0x9002A003, // 001B SETMBR R0 K80 R3 + 0x8C0C0172, // 001C GETMET R3 R0 K114 + 0x58140073, // 001D LDCONST R5 K115 + 0x84180000, // 001E CLOSURE R6 P0 + 0x7C0C0600, // 001F CALL R3 3 + 0xA0000000, // 0020 CLOSE R0 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_key_i +********************************************************************/ +be_local_closure(class_Tasmota_find_key_i, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_find_key_i, + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0xA40E0E00, // 0000 IMPORT R3 K7 + 0x8C100774, // 0001 GETMET R4 R3 K116 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C100400, // 0003 CALL R4 2 + 0x6014000F, // 0004 GETGBL R5 G15 + 0x5C180200, // 0005 MOVE R6 R1 + 0x601C0013, // 0006 GETGBL R7 G19 + 0x7C140400, // 0007 CALL R5 2 + 0x78160013, // 0008 JMPF R5 #001D + 0x60140010, // 0009 GETGBL R5 G16 + 0x8C180375, // 000A GETMET R6 R1 K117 + 0x7C180200, // 000B CALL R6 1 + 0x7C140200, // 000C CALL R5 1 + 0xA802000B, // 000D EXBLK 0 #001A + 0x5C180A00, // 000E MOVE R6 R5 + 0x7C180000, // 000F CALL R6 0 + 0x8C1C0774, // 0010 GETMET R7 R3 K116 + 0x5C240C00, // 0011 MOVE R9 R6 + 0x7C1C0400, // 0012 CALL R7 2 + 0x1C1C0E04, // 0013 EQ R7 R7 R4 + 0x741E0001, // 0014 JMPT R7 #0017 + 0x1C1C0576, // 0015 EQ R7 R2 K118 + 0x781E0001, // 0016 JMPF R7 #0019 + 0xA8040001, // 0017 EXBLK 1 1 + 0x80040C00, // 0018 RET 1 R6 + 0x7001FFF3, // 0019 JMP #000E + 0x58140077, // 001A LDCONST R5 K119 + 0xAC140200, // 001B CATCH R5 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x80000000, // 001D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_tele +********************************************************************/ +be_local_closure(class_Tasmota_exec_tele, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_exec_tele, + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x88080166, // 0000 GETMBR R2 R0 K102 + 0x780A0024, // 0001 JMPF R2 #0027 + 0xA40AC000, // 0002 IMPORT R2 K96 + 0x8C0C0561, // 0003 GETMET R3 R2 K97 + 0x5C140200, // 0004 MOVE R5 R1 + 0x7C0C0400, // 0005 CALL R3 2 + 0x50100000, // 0006 LDBOOL R4 0 0 + 0x4C140000, // 0007 LDNIL R5 + 0x1C140605, // 0008 EQ R5 R3 R5 + 0x78160004, // 0009 JMPF R5 #000F + 0x8C140115, // 000A GETMET R5 R0 K21 + 0x001EF001, // 000B ADD R7 K120 R1 + 0x58200017, // 000C LDCONST R8 K23 + 0x7C140600, // 000D CALL R5 3 + 0x5C0C0200, // 000E MOVE R3 R1 + 0x60140013, // 000F GETGBL R5 G19 + 0x7C140000, // 0010 CALL R5 0 + 0x9816F203, // 0011 SETIDX R5 K121 R3 + 0x5C0C0A00, // 0012 MOVE R3 R5 + 0x5814000B, // 0013 LDCONST R5 K11 + 0x6018000C, // 0014 GETGBL R6 G12 + 0x881C0166, // 0015 GETMBR R7 R0 K102 + 0x7C180200, // 0016 CALL R6 1 + 0x14180A06, // 0017 LT R6 R5 R6 + 0x781A000C, // 0018 JMPF R6 #0026 + 0x88180166, // 0019 GETMBR R6 R0 K102 + 0x94180C05, // 001A GETIDX R6 R6 R5 + 0x8C1C017A, // 001B GETMET R7 R0 K122 + 0x5C240600, // 001C MOVE R9 R3 + 0x88280D2D, // 001D GETMBR R10 R6 K45 + 0x882C0D30, // 001E GETMBR R11 R6 K48 + 0x7C1C0800, // 001F CALL R7 4 + 0x741E0001, // 0020 JMPT R7 #0023 + 0x74120000, // 0021 JMPT R4 #0023 + 0x50100001, // 0022 LDBOOL R4 0 1 + 0x50100200, // 0023 LDBOOL R4 1 0 + 0x00140B31, // 0024 ADD R5 R5 K49 + 0x7001FFED, // 0025 JMP #0014 + 0x80040800, // 0026 RET 1 R4 + 0x50080000, // 0027 LDBOOL R2 0 0 + 0x80040400, // 0028 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_driver +********************************************************************/ +be_local_closure(class_Tasmota_remove_driver, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_driver, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8808014D, // 0000 GETMBR R2 R0 K77 + 0x780A000A, // 0001 JMPF R2 #000D + 0x8808014D, // 0002 GETMBR R2 R0 K77 + 0x8C08051B, // 0003 GETMET R2 R2 K27 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C0C0000, // 0006 LDNIL R3 + 0x200C0403, // 0007 NE R3 R2 R3 + 0x780E0003, // 0008 JMPF R3 #000D + 0x880C014D, // 0009 GETMBR R3 R0 K77 + 0x8C0C070A, // 000A GETMET R3 R3 K10 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_driver +********************************************************************/ +be_local_closure(class_Tasmota_add_driver, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_driver, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x2008057B, // 0003 NE R2 R2 K123 + 0x780A0000, // 0004 JMPF R2 #0006 + 0xB006717C, // 0005 RAISE 1 K56 K124 + 0x8808014D, // 0006 GETMBR R2 R0 K77 + 0x780A000B, // 0007 JMPF R2 #0014 + 0x8808014D, // 0008 GETMBR R2 R0 K77 + 0x8C08051B, // 0009 GETMET R2 R2 K27 + 0x5C100200, // 000A MOVE R4 R1 + 0x7C080400, // 000B CALL R2 2 + 0x4C0C0000, // 000C LDNIL R3 + 0x1C080403, // 000D EQ R2 R2 R3 + 0x780A0003, // 000E JMPF R2 #0013 + 0x8808014D, // 000F GETMBR R2 R0 K77 + 0x8C080535, // 0010 GETMET R2 R2 K53 + 0x5C100200, // 0011 MOVE R4 R1 + 0x7C080400, // 0012 CALL R2 2 + 0x70020003, // 0013 JMP #0018 + 0x60080012, // 0014 GETGBL R2 G18 + 0x7C080000, // 0015 CALL R2 0 + 0x400C0401, // 0016 CONNECT R3 R2 R1 + 0x90029A02, // 0017 SETMBR R0 K77 R2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_rule +********************************************************************/ +be_local_closure(class_Tasmota_add_rule, /* name */ + be_nested_proto( + 12, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_add_rule, + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x8C140134, // 0000 GETMET R5 R0 K52 + 0x5C1C0400, // 0001 MOVE R7 R2 + 0x7C140400, // 0002 CALL R5 2 + 0x88140166, // 0003 GETMBR R5 R0 K102 + 0x4C180000, // 0004 LDNIL R6 + 0x1C140A06, // 0005 EQ R5 R5 R6 + 0x78160002, // 0006 JMPF R5 #000A + 0x60140012, // 0007 GETGBL R5 G18 + 0x7C140000, // 0008 CALL R5 0 + 0x9002CC05, // 0009 SETMBR R0 K102 R5 + 0x60140004, // 000A GETGBL R5 G4 + 0x5C180400, // 000B MOVE R6 R2 + 0x7C140200, // 000C CALL R5 1 + 0x1C140B01, // 000D EQ R5 R5 K1 + 0x78160013, // 000E JMPF R5 #0023 + 0x4C140000, // 000F LDNIL R5 + 0x20140605, // 0010 NE R5 R3 R5 + 0x78160003, // 0011 JMPF R5 #0016 + 0x8C14017D, // 0012 GETMET R5 R0 K125 + 0x5C1C0200, // 0013 MOVE R7 R1 + 0x5C200600, // 0014 MOVE R8 R3 + 0x7C140600, // 0015 CALL R5 3 + 0x88140166, // 0016 GETMBR R5 R0 K102 + 0x8C140B35, // 0017 GETMET R5 R5 K53 + 0xB81E6C00, // 0018 GETNGBL R7 K54 + 0x8820017E, // 0019 GETMBR R8 R0 K126 + 0x8C20117F, // 001A GETMET R8 R8 K127 + 0x5C280200, // 001B MOVE R10 R1 + 0x7C200400, // 001C CALL R8 2 + 0x5C240400, // 001D MOVE R9 R2 + 0x5C280600, // 001E MOVE R10 R3 + 0x5C2C0800, // 001F MOVE R11 R4 + 0x7C1C0800, // 0020 CALL R7 4 + 0x7C140400, // 0021 CALL R5 2 + 0x70020000, // 0022 JMP #0024 + 0xB0067139, // 0023 RAISE 1 K56 K57 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_light +********************************************************************/ +be_local_closure(class_Tasmota_get_light, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_get_light, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60080001, // 0000 GETGBL R2 G1 + 0x580C0080, // 0001 LDCONST R3 K128 + 0x7C080200, // 0002 CALL R2 1 + 0xA40A4E00, // 0003 IMPORT R2 K39 + 0x4C0C0000, // 0004 LDNIL R3 + 0x200C0203, // 0005 NE R3 R1 R3 + 0x780E0004, // 0006 JMPF R3 #000C + 0x8C0C054E, // 0007 GETMET R3 R2 K78 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C0C0400, // 0009 CALL R3 2 + 0x80040600, // 000A RET 1 R3 + 0x70020002, // 000B JMP #000F + 0x8C0C054E, // 000C GETMET R3 R2 K78 + 0x7C0C0200, // 000D CALL R3 1 + 0x80040600, // 000E RET 1 R3 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: cmd +********************************************************************/ +be_local_closure(class_Tasmota_cmd, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_cmd, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x880C0181, // 0000 GETMBR R3 R0 K129 + 0x50100200, // 0001 LDBOOL R4 1 0 + 0x90030204, // 0002 SETMBR R0 K129 R4 + 0xB8127400, // 0003 GETNGBL R4 K58 + 0x8810093F, // 0004 GETMBR R4 R4 K63 + 0x88100982, // 0005 GETMBR R4 R4 K130 + 0x780A0004, // 0006 JMPF R2 #000C + 0x2814093C, // 0007 GE R5 R4 K60 + 0x78160002, // 0008 JMPF R5 #000C + 0xB8167400, // 0009 GETNGBL R5 K58 + 0x88140B3F, // 000A GETMBR R5 R5 K63 + 0x90170531, // 000B SETMBR R5 K130 K49 + 0x8C140183, // 000C GETMET R5 R0 K131 + 0x5C1C0200, // 000D MOVE R7 R1 + 0x7C140400, // 000E CALL R5 2 + 0x4C140000, // 000F LDNIL R5 + 0x88180181, // 0010 GETMBR R6 R0 K129 + 0x501C0200, // 0011 LDBOOL R7 1 0 + 0x20180C07, // 0012 NE R6 R6 R7 + 0x781A0000, // 0013 JMPF R6 #0015 + 0x88140181, // 0014 GETMBR R5 R0 K129 + 0x90030203, // 0015 SETMBR R0 K129 R3 + 0x780A0002, // 0016 JMPF R2 #001A + 0xB81A7400, // 0017 GETNGBL R6 K58 + 0x88180D3F, // 0018 GETMBR R6 R6 K63 + 0x901B0404, // 0019 SETMBR R6 K130 R4 + 0x80040A00, // 001A RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_fast_loop +********************************************************************/ +be_local_closure(class_Tasmota_remove_fast_loop, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_remove_fast_loop, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8808013D, // 0000 GETMBR R2 R0 K61 + 0x740A0000, // 0001 JMPT R2 #0003 + 0x80000400, // 0002 RET 0 + 0x8808013D, // 0003 GETMBR R2 R0 K61 + 0x8C08051B, // 0004 GETMET R2 R2 K27 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C080400, // 0006 CALL R2 2 + 0x4C0C0000, // 0007 LDNIL R3 + 0x200C0403, // 0008 NE R3 R2 R3 + 0x780E0003, // 0009 JMPF R3 #000E + 0x880C013D, // 000A GETMBR R3 R0 K61 + 0x8C0C0725, // 000B GETMET R3 R3 K37 + 0x5C140400, // 000C MOVE R5 R2 + 0x7C0C0400, // 000D CALL R3 2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: wire_scan +********************************************************************/ +be_local_closure(class_Tasmota_wire_scan, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_wire_scan, + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0403, // 0001 NE R3 R2 R3 + 0x780E0005, // 0002 JMPF R3 #0009 + 0x8C0C0184, // 0003 GETMET R3 R0 K132 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x740E0001, // 0006 JMPT R3 #0009 + 0x4C0C0000, // 0007 LDNIL R3 + 0x80040600, // 0008 RET 1 R3 + 0x880C0185, // 0009 GETMBR R3 R0 K133 + 0x8C0C0786, // 000A GETMET R3 R3 K134 + 0x7C0C0200, // 000B CALL R3 1 + 0x780E0006, // 000C JMPF R3 #0014 + 0x880C0185, // 000D GETMBR R3 R0 K133 + 0x8C0C0787, // 000E GETMET R3 R3 K135 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C0C0400, // 0010 CALL R3 2 + 0x780E0001, // 0011 JMPF R3 #0014 + 0x880C0185, // 0012 GETMBR R3 R0 K133 + 0x80040600, // 0013 RET 1 R3 + 0x880C0188, // 0014 GETMBR R3 R0 K136 + 0x8C0C0786, // 0015 GETMET R3 R3 K134 + 0x7C0C0200, // 0016 CALL R3 1 + 0x780E0006, // 0017 JMPF R3 #001F + 0x880C0188, // 0018 GETMBR R3 R0 K136 + 0x8C0C0787, // 0019 GETMET R3 R3 K135 + 0x5C140200, // 001A MOVE R5 R1 + 0x7C0C0400, // 001B CALL R3 2 + 0x780E0001, // 001C JMPF R3 #001F + 0x880C0188, // 001D GETMBR R3 R0 K136 + 0x80040600, // 001E RET 1 R3 + 0x4C0C0000, // 001F LDNIL R3 + 0x80040600, // 0020 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: time_str +********************************************************************/ +be_local_closure(class_Tasmota_time_str, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_time_str, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x8C080189, // 0000 GETMET R2 R0 K137 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x600C0018, // 0003 GETGBL R3 G24 + 0x5810008A, // 0004 LDCONST R4 K138 + 0x9414058B, // 0005 GETIDX R5 R2 K139 + 0x9418058C, // 0006 GETIDX R6 R2 K140 + 0x941C058D, // 0007 GETIDX R7 R2 K141 + 0x9420058E, // 0008 GETIDX R8 R2 K142 + 0x9424058F, // 0009 GETIDX R9 R2 K143 + 0x94280590, // 000A GETIDX R10 R2 K144 + 0x7C0C0E00, // 000B CALL R3 7 + 0x80040600, // 000C RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fast_loop +********************************************************************/ +be_local_closure(class_Tasmota_fast_loop, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_fast_loop, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x8804013D, // 0000 GETMBR R1 R0 K61 + 0x5C080200, // 0001 MOVE R2 R1 + 0x740A0000, // 0002 JMPT R2 #0004 + 0x80000400, // 0003 RET 0 + 0x5808000B, // 0004 LDCONST R2 K11 + 0x600C000C, // 0005 GETGBL R3 G12 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C0C0200, // 0007 CALL R3 1 + 0x140C0403, // 0008 LT R3 R2 R3 + 0x780E0003, // 0009 JMPF R3 #000E + 0x940C0202, // 000A GETIDX R3 R1 R2 + 0x7C0C0000, // 000B CALL R3 0 + 0x00080531, // 000C ADD R2 R2 K49 + 0x7001FFF6, // 000D JMP #0005 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_rules +********************************************************************/ +be_local_closure(class_Tasmota_exec_rules, /* name */ + be_nested_proto( + 14, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_exec_rules, + &be_const_str_solidified, + ( &(const binstruction[60]) { /* code */ + 0x880C0181, // 0000 GETMBR R3 R0 K129 + 0x88100166, // 0001 GETMBR R4 R0 K102 + 0x74120002, // 0002 JMPT R4 #0006 + 0x4C100000, // 0003 LDNIL R4 + 0x20100604, // 0004 NE R4 R3 R4 + 0x78120033, // 0005 JMPF R4 #003A + 0xA412C000, // 0006 IMPORT R4 K96 + 0x4C140000, // 0007 LDNIL R5 + 0x90030205, // 0008 SETMBR R0 K129 R5 + 0x50140000, // 0009 LDBOOL R5 0 0 + 0x8C180961, // 000A GETMET R6 R4 K97 + 0x5C200200, // 000B MOVE R8 R1 + 0x7C180400, // 000C CALL R6 2 + 0x4C1C0000, // 000D LDNIL R7 + 0x1C1C0C07, // 000E EQ R7 R6 R7 + 0x781E0004, // 000F JMPF R7 #0015 + 0x8C1C0115, // 0010 GETMET R7 R0 K21 + 0x0026F001, // 0011 ADD R9 K120 R1 + 0x58280017, // 0012 LDCONST R10 K23 + 0x7C1C0600, // 0013 CALL R7 3 + 0x5C180200, // 0014 MOVE R6 R1 + 0x780A001E, // 0015 JMPF R2 #0035 + 0x881C0166, // 0016 GETMBR R7 R0 K102 + 0x781E001C, // 0017 JMPF R7 #0035 + 0x581C000B, // 0018 LDCONST R7 K11 + 0x6020000C, // 0019 GETGBL R8 G12 + 0x88240166, // 001A GETMBR R9 R0 K102 + 0x7C200200, // 001B CALL R8 1 + 0x14200E08, // 001C LT R8 R7 R8 + 0x78220016, // 001D JMPF R8 #0035 + 0x88200166, // 001E GETMBR R8 R0 K102 + 0x94201007, // 001F GETIDX R8 R8 R7 + 0x8C24017A, // 0020 GETMET R9 R0 K122 + 0x5C2C0C00, // 0021 MOVE R11 R6 + 0x8830112D, // 0022 GETMBR R12 R8 K45 + 0x88341130, // 0023 GETMBR R13 R8 K48 + 0x7C240800, // 0024 CALL R9 4 + 0x74160001, // 0025 JMPT R5 #0028 + 0x74260000, // 0026 JMPT R9 #0028 + 0x50140001, // 0027 LDBOOL R5 0 1 + 0x50140200, // 0028 LDBOOL R5 1 0 + 0x78260008, // 0029 JMPF R9 #0033 + 0x88281191, // 002A GETMBR R10 R8 K145 + 0x502C0200, // 002B LDBOOL R11 1 0 + 0x1C28140B, // 002C EQ R10 R10 R11 + 0x782A0004, // 002D JMPF R10 #0033 + 0x88280166, // 002E GETMBR R10 R0 K102 + 0x8C281525, // 002F GETMET R10 R10 K37 + 0x5C300E00, // 0030 MOVE R12 R7 + 0x7C280400, // 0031 CALL R10 2 + 0x70020000, // 0032 JMP #0034 + 0x001C0F31, // 0033 ADD R7 R7 K49 + 0x7001FFE3, // 0034 JMP #0019 + 0x4C1C0000, // 0035 LDNIL R7 + 0x201C0607, // 0036 NE R7 R3 R7 + 0x781E0000, // 0037 JMPF R7 #0039 + 0x90030206, // 0038 SETMBR R0 K129 R6 + 0x80040A00, // 0039 RET 1 R5 + 0x50100000, // 003A LDBOOL R4 0 0 + 0x80040800, // 003B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_op +********************************************************************/ +be_local_closure(class_Tasmota_find_op, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_find_op, + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x8C080192, // 0000 GETMET R2 R0 K146 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x280C050B, // 0003 GE R3 R2 K11 + 0x780E0011, // 0004 JMPF R3 #0017 + 0x540E7FFE, // 0005 LDINT R3 32767 + 0x2C0C0403, // 0006 AND R3 R2 R3 + 0x5412000F, // 0007 LDINT R4 16 + 0x3C100404, // 0008 SHR R4 R2 R4 + 0x60140012, // 0009 GETGBL R5 G18 + 0x7C140000, // 000A CALL R5 0 + 0x04180731, // 000B SUB R6 R3 K49 + 0x401A1606, // 000C CONNECT R6 K11 R6 + 0x94180206, // 000D GETIDX R6 R1 R6 + 0x40180A06, // 000E CONNECT R6 R5 R6 + 0x04180931, // 000F SUB R6 R4 K49 + 0x40180606, // 0010 CONNECT R6 R3 R6 + 0x94180206, // 0011 GETIDX R6 R1 R6 + 0x40180A06, // 0012 CONNECT R6 R5 R6 + 0x40180957, // 0013 CONNECT R6 R4 K87 + 0x94180206, // 0014 GETIDX R6 R1 R6 + 0x40180A06, // 0015 CONNECT R6 R5 R6 + 0x80040A00, // 0016 RET 1 R5 + 0x600C0012, // 0017 GETGBL R3 G18 + 0x7C0C0000, // 0018 CALL R3 0 + 0x40100601, // 0019 CONNECT R4 R3 R1 + 0x4C100000, // 001A LDNIL R4 + 0x40100604, // 001B CONNECT R4 R3 R4 + 0x4C100000, // 001C LDNIL R4 + 0x40100604, // 001D CONNECT R4 R3 R4 + 0x80040600, // 001E RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: gc +********************************************************************/ +be_local_closure(class_Tasmota_gc, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_gc, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0xA4069800, // 0000 IMPORT R1 K76 + 0x8C080393, // 0001 GETMET R2 R1 K147 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080394, // 0003 GETMET R2 R1 K148 + 0x7C080200, // 0004 CALL R2 1 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: urlfetch_cmd +********************************************************************/ +be_local_closure(class_Tasmota_urlfetch_cmd, /* name */ + be_nested_proto( + 10, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_urlfetch_cmd, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xA4160E00, // 0000 IMPORT R5 K7 + 0x8C180B1B, // 0001 GETMET R6 R5 K27 + 0x5C200600, // 0002 MOVE R8 R3 + 0x58240095, // 0003 LDCONST R9 K149 + 0x7C180600, // 0004 CALL R6 3 + 0x20180D0B, // 0005 NE R6 R6 K11 + 0x781A0003, // 0006 JMPF R6 #000B + 0x8C180196, // 0007 GETMET R6 R0 K150 + 0x58200097, // 0008 LDCONST R8 K151 + 0x7C180400, // 0009 CALL R6 2 + 0x80000C00, // 000A RET 0 + 0xA802000A, // 000B EXBLK 0 #0017 + 0x8C180198, // 000C GETMET R6 R0 K152 + 0x5C200600, // 000D MOVE R8 R3 + 0x7C180400, // 000E CALL R6 2 + 0x141C0D0B, // 000F LT R7 R6 K11 + 0x781E0003, // 0010 JMPF R7 #0015 + 0x8C1C0199, // 0011 GETMET R7 R0 K153 + 0x7C1C0200, // 0012 CALL R7 1 + 0xA8040001, // 0013 EXBLK 1 1 + 0x80000E00, // 0014 RET 0 + 0xA8040001, // 0015 EXBLK 1 1 + 0x70020006, // 0016 JMP #001E + 0xAC180002, // 0017 CATCH R6 0 2 + 0x70020003, // 0018 JMP #001D + 0x8C200199, // 0019 GETMET R8 R0 K153 + 0x7C200200, // 001A CALL R8 1 + 0x80001000, // 001B RET 0 + 0x70020000, // 001C JMP #001E + 0xB0080000, // 001D RAISE 2 R0 R0 + 0xB81A7400, // 001E GETNGBL R6 K58 + 0x8C180D9A, // 001F GETMET R6 R6 K154 + 0x7C180200, // 0020 CALL R6 1 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_list_i +********************************************************************/ +be_local_closure(class_Tasmota_find_list_i, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_find_list_i, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xA40E0E00, // 0000 IMPORT R3 K7 + 0x5810000B, // 0001 LDCONST R4 K11 + 0x8C140774, // 0002 GETMET R5 R3 K116 + 0x5C1C0400, // 0003 MOVE R7 R2 + 0x7C140400, // 0004 CALL R5 2 + 0x6018000C, // 0005 GETGBL R6 G12 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x7C180200, // 0007 CALL R6 1 + 0x14180806, // 0008 LT R6 R4 R6 + 0x781A0007, // 0009 JMPF R6 #0012 + 0x8C180774, // 000A GETMET R6 R3 K116 + 0x94200204, // 000B GETIDX R8 R1 R4 + 0x7C180400, // 000C CALL R6 2 + 0x1C180C05, // 000D EQ R6 R6 R5 + 0x781A0000, // 000E JMPF R6 #0010 + 0x80040800, // 000F RET 1 R4 + 0x00100931, // 0010 ADD R4 R4 K49 + 0x7001FFF2, // 0011 JMP #0005 + 0x4C180000, // 0012 LDNIL R6 + 0x80040C00, // 0013 RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: run_deferred +********************************************************************/ +be_local_closure(class_Tasmota_run_deferred, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Tasmota, /* shared constants */ + &be_const_str_run_deferred, + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x88040133, // 0000 GETMBR R1 R0 K51 + 0x78060015, // 0001 JMPF R1 #0018 + 0x5804000B, // 0002 LDCONST R1 K11 + 0x88080133, // 0003 GETMBR R2 R0 K51 + 0x8C08052C, // 0004 GETMET R2 R2 K44 + 0x7C080200, // 0005 CALL R2 1 + 0x14080202, // 0006 LT R2 R1 R2 + 0x780A000F, // 0007 JMPF R2 #0018 + 0x88080133, // 0008 GETMBR R2 R0 K51 + 0x94080401, // 0009 GETIDX R2 R2 R1 + 0x8C0C012F, // 000A GETMET R3 R0 K47 + 0x8814052D, // 000B GETMBR R5 R2 K45 + 0x7C0C0400, // 000C CALL R3 2 + 0x780E0007, // 000D JMPF R3 #0016 + 0x880C0530, // 000E GETMBR R3 R2 K48 + 0x88100133, // 000F GETMBR R4 R0 K51 + 0x8C100925, // 0010 GETMET R4 R4 K37 + 0x5C180200, // 0011 MOVE R6 R1 + 0x7C100400, // 0012 CALL R4 2 + 0x5C100600, // 0013 MOVE R4 R3 + 0x7C100000, // 0014 CALL R4 0 + 0x70020000, // 0015 JMP #0017 + 0x00040331, // 0016 ADD R1 R1 K49 + 0x7001FFEA, // 0017 JMP #0003 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Tasmota +********************************************************************/ +be_local_class(Tasmota, + 13, + NULL, + be_nested_map(53, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(run_deferred, -1), be_const_closure(class_Tasmota_run_deferred_closure) }, + { be_const_key(int, 16), be_const_static_closure(class_Tasmota_int_closure) }, + { be_const_key(urlfetch, -1), be_const_closure(class_Tasmota_urlfetch_closure) }, + { be_const_key(find_list_i, 47), be_const_closure(class_Tasmota_find_list_i_closure) }, + { be_const_key(_ccmd, 44), be_const_var(4) }, + { be_const_key(global, -1), be_const_var(9) }, + { be_const_key(wire2, 28), be_const_var(7) }, + { be_const_key(set_light, 33), be_const_closure(class_Tasmota_set_light_closure) }, + { be_const_key(exec_cmd, -1), be_const_closure(class_Tasmota_exec_cmd_closure) }, + { be_const_key(remove_cron, 46), be_const_closure(class_Tasmota_remove_cron_closure) }, + { be_const_key(remove_timer, -1), be_const_closure(class_Tasmota_remove_timer_closure) }, + { be_const_key(next_cron, -1), be_const_closure(class_Tasmota_next_cron_closure) }, + { be_const_key(_drivers, -1), be_const_var(5) }, + { be_const_key(set_timer, 3), be_const_closure(class_Tasmota_set_timer_closure) }, + { be_const_key(wire1, -1), be_const_var(6) }, + { be_const_key(_fl, -1), be_const_var(0) }, + { be_const_key(add_cron, -1), be_const_closure(class_Tasmota_add_cron_closure) }, + { be_const_key(hs2rgb, -1), be_const_closure(class_Tasmota_hs2rgb_closure) }, + { be_const_key(add_fast_loop, 52), be_const_closure(class_Tasmota_add_fast_loop_closure) }, + { be_const_key(_rules, -1), be_const_var(1) }, + { be_const_key(find_op, 30), be_const_closure(class_Tasmota_find_op_closure) }, + { be_const_key(load, 41), be_const_closure(class_Tasmota_load_closure) }, + { be_const_key(exec_rules, -1), be_const_closure(class_Tasmota_exec_rules_closure) }, + { be_const_key(remove_cmd, 8), be_const_closure(class_Tasmota_remove_cmd_closure) }, + { be_const_key(try_rule, -1), be_const_closure(class_Tasmota_try_rule_closure) }, + { be_const_key(fast_loop, -1), be_const_closure(class_Tasmota_fast_loop_closure) }, + { be_const_key(remove_rule, 22), be_const_closure(class_Tasmota_remove_rule_closure) }, + { be_const_key(gen_cb, -1), be_const_closure(class_Tasmota_gen_cb_closure) }, + { be_const_key(time_str, -1), be_const_closure(class_Tasmota_time_str_closure) }, + { be_const_key(add_rule_once, -1), be_const_closure(class_Tasmota_add_rule_once_closure) }, + { be_const_key(wire_scan, -1), be_const_closure(class_Tasmota_wire_scan_closure) }, + { be_const_key(find_key_i, -1), be_const_closure(class_Tasmota_find_key_i_closure) }, + { be_const_key(add_rule, -1), be_const_closure(class_Tasmota_add_rule_closure) }, + { be_const_key(cmd, -1), be_const_closure(class_Tasmota_cmd_closure) }, + { be_const_key(_crons, -1), be_const_var(3) }, + { be_const_key(check_not_method, 43), be_const_closure(class_Tasmota_check_not_method_closure) }, + { be_const_key(add_driver, 0), be_const_closure(class_Tasmota_add_driver_closure) }, + { be_const_key(wd, 20), be_const_var(11) }, + { be_const_key(add_cmd, 32), be_const_closure(class_Tasmota_add_cmd_closure) }, + { be_const_key(_debug_present, -1), be_const_var(12) }, + { be_const_key(compile, 39), be_const_closure(class_Tasmota_compile_closure) }, + { be_const_key(get_light, -1), be_const_closure(class_Tasmota_get_light_closure) }, + { be_const_key(remove_fast_loop, -1), be_const_closure(class_Tasmota_remove_fast_loop_closure) }, + { be_const_key(remove_driver, -1), be_const_closure(class_Tasmota_remove_driver_closure) }, + { be_const_key(settings, 51), be_const_var(10) }, + { be_const_key(_timers, 25), be_const_var(2) }, + { be_const_key(exec_tele, -1), be_const_closure(class_Tasmota_exec_tele_closure) }, + { be_const_key(init, -1), be_const_closure(class_Tasmota_init_closure) }, + { be_const_key(gc, -1), be_const_closure(class_Tasmota_gc_closure) }, + { be_const_key(urlfetch_cmd, -1), be_const_closure(class_Tasmota_urlfetch_cmd_closure) }, + { be_const_key(run_cron, 4), be_const_closure(class_Tasmota_run_cron_closure) }, + { be_const_key(cmd_res, -1), be_const_var(8) }, + { be_const_key(event, -1), be_const_closure(class_Tasmota_event_closure) }, + })), + (bstring*) &be_const_str_Tasmota +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_test_crypto.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_test_crypto.h new file mode 100644 index 000000000..2091c19a4 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_test_crypto.h @@ -0,0 +1,7 @@ +/* Solidification of test_crypto.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_trigger_class.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_trigger_class.h new file mode 100644 index 000000000..d22c641a1 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_trigger_class.h @@ -0,0 +1,203 @@ +/* Solidification of trigger_class.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Trigger' ktab size: 8, total: 15 (saved 56 bytes) +static const bvalue be_ktab_class_Trigger[8] = { + /* K0 */ be_nested_str(o), + /* K1 */ be_nested_str(next), + /* K2 */ be_nested_str(trig), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str(time_reached), + /* K5 */ be_nested_str(f), + /* K6 */ be_nested_str(id), + /* K7 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29), +}; + + +extern const bclass be_class_Trigger; + +/******************************************************************** +** Solidified function: run_once +********************************************************************/ +be_local_closure(class_Trigger_run_once, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Trigger, /* shared constants */ + &be_const_str_run_once, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: next +********************************************************************/ +be_local_closure(class_Trigger_next, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Trigger, /* shared constants */ + &be_const_str_next, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040100, // 0002 GETMBR R1 R0 K0 + 0x8C040301, // 0003 GETMET R1 R1 K1 + 0x7C040200, // 0004 CALL R1 1 + 0x80040200, // 0005 RET 1 R1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: time_reached +********************************************************************/ +be_local_closure(class_Trigger_time_reached, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Trigger, /* shared constants */ + &be_const_str_time_reached, + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060007, // 0001 JMPF R1 #000A + 0x88040102, // 0002 GETMBR R1 R0 K2 + 0x24040303, // 0003 GT R1 R1 K3 + 0x78060004, // 0004 JMPF R1 #000A + 0x88040100, // 0005 GETMBR R1 R0 K0 + 0x8C040304, // 0006 GETMET R1 R1 K4 + 0x880C0102, // 0007 GETMBR R3 R0 K2 + 0x7C040400, // 0008 CALL R1 2 + 0x80040200, // 0009 RET 1 R1 + 0x50040000, // 000A LDBOOL R1 0 0 + 0x80040200, // 000B RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_Trigger_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Trigger, /* shared constants */ + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90020401, // 0000 SETMBR R0 K2 R1 + 0x90020A02, // 0001 SETMBR R0 K5 R2 + 0x90020C03, // 0002 SETMBR R0 K6 R3 + 0x90020004, // 0003 SETMBR R0 K0 R4 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_Trigger_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_Trigger, /* shared constants */ + &be_const_str_tostring, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60040018, // 0000 GETGBL R1 G24 + 0x58080007, // 0001 LDCONST R2 K7 + 0x600C0008, // 0002 GETGBL R3 G8 + 0x60100006, // 0003 GETGBL R4 G6 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C100200, // 0005 CALL R4 1 + 0x7C0C0200, // 0006 CALL R3 1 + 0x60100008, // 0007 GETGBL R4 G8 + 0x88140102, // 0008 GETMBR R5 R0 K2 + 0x7C100200, // 0009 CALL R4 1 + 0x60140008, // 000A GETGBL R5 G8 + 0x88180105, // 000B GETMBR R6 R0 K5 + 0x7C140200, // 000C CALL R5 1 + 0x60180008, // 000D GETGBL R6 G8 + 0x881C0106, // 000E GETMBR R7 R0 K6 + 0x7C180200, // 000F CALL R6 1 + 0x7C040A00, // 0010 CALL R1 5 + 0x80040200, // 0011 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Trigger +********************************************************************/ +be_local_class(Trigger, + 4, + NULL, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(run_once, 3), be_const_closure(class_Trigger_run_once_closure) }, + { be_const_key(o, -1), be_const_var(3) }, + { be_const_key(next, -1), be_const_closure(class_Trigger_next_closure) }, + { be_const_key(trig, -1), be_const_var(0) }, + { be_const_key(init, -1), be_const_closure(class_Trigger_init_closure) }, + { be_const_key(time_reached, -1), be_const_closure(class_Trigger_time_reached_closure) }, + { be_const_key(id, 4), be_const_var(2) }, + { be_const_key(tostring, -1), be_const_closure(class_Trigger_tostring_closure) }, + { be_const_key(f, -1), be_const_var(1) }, + })), + (bstring*) &be_const_str_Trigger +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_uuid.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_uuid.h new file mode 100644 index 000000000..11ad36ff4 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_uuid.h @@ -0,0 +1,76 @@ +/* Solidification of uuid.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 10, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(math), + /* K1 */ be_nested_str(_X2508x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2508x), + /* K2 */ be_nested_str(rand), + }), + &be_const_str__anonymous_, + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0xA4020000, // 0000 IMPORT R0 K0 + 0x60040018, // 0001 GETGBL R1 G24 + 0x58080001, // 0002 LDCONST R2 K1 + 0x8C0C0102, // 0003 GETMET R3 R0 K2 + 0x7C0C0200, // 0004 CALL R3 1 + 0x8C100102, // 0005 GETMET R4 R0 K2 + 0x7C100200, // 0006 CALL R4 1 + 0x5416FFFE, // 0007 LDINT R5 65535 + 0x2C100805, // 0008 AND R4 R4 R5 + 0x8C140102, // 0009 GETMET R5 R0 K2 + 0x7C140200, // 000A CALL R5 1 + 0x541A0FFE, // 000B LDINT R6 4095 + 0x2C140A06, // 000C AND R5 R5 R6 + 0x541A3FFF, // 000D LDINT R6 16384 + 0x30140A06, // 000E OR R5 R5 R6 + 0x8C180102, // 000F GETMET R6 R0 K2 + 0x7C180200, // 0010 CALL R6 1 + 0x541E3FFE, // 0011 LDINT R7 16383 + 0x2C180C07, // 0012 AND R6 R6 R7 + 0x541E7FFF, // 0013 LDINT R7 32768 + 0x30180C07, // 0014 OR R6 R6 R7 + 0x8C1C0102, // 0015 GETMET R7 R0 K2 + 0x7C1C0200, // 0016 CALL R7 1 + 0x5422FFFE, // 0017 LDINT R8 65535 + 0x2C1C0E08, // 0018 AND R7 R7 R8 + 0x8C200102, // 0019 GETMET R8 R0 K2 + 0x7C200200, // 001A CALL R8 1 + 0x7C040E00, // 001B CALL R1 7 + 0x80040200, // 001C RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: uuid +********************************************************************/ +be_local_module(uuid, + "uuid", + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(uuid4, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(uuid); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_webserver_async.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_webserver_async.h new file mode 100644 index 000000000..5f9a8b2c4 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_webserver_async.h @@ -0,0 +1,1761 @@ +/* Solidification of webserver_async.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'webserver_async_cnx' ktab size: 76, total: 141 (saved 520 bytes) +static const bvalue be_ktab_class_webserver_async_cnx[76] = { + /* K0 */ be_nested_str_weak(server), + /* K1 */ be_nested_str_weak(dispatch), + /* K2 */ be_nested_str_weak(req_uri), + /* K3 */ be_nested_str_weak(req_verb), + /* K4 */ be_nested_str_weak(string), + /* K5 */ be_nested_str_weak(fromstring), + /* K6 */ be_nested_str_weak(chunked), + /* K7 */ be_nested_str_weak(p1), + /* K8 */ be_nested_str_weak(clear), + /* K9 */ be_nested_str_weak(append), + /* K10 */ be_nested_str_weak(_X25X_X0D_X0A), + /* K11 */ be_nested_str_weak(_X0D_X0A), + /* K12 */ be_nested_str_weak(_write), + /* K13 */ be_const_int(0), + /* K14 */ be_nested_str_weak(buf_out), + /* K15 */ be_nested_str_weak(resize), + /* K16 */ be_nested_str_weak(setbytes), + /* K17 */ be_nested_str_weak(_send), + /* K18 */ be_nested_str_weak(HTTP_X2F1_X2E1_X20_X25s_X20_X25s_X0D_X0A), + /* K19 */ be_nested_str_weak(CODE_TO_STRING), + /* K20 */ be_nested_str_weak(find), + /* K21 */ be_nested_str_weak(UNKNOWN), + /* K22 */ be_nested_str_weak(send_header), + /* K23 */ be_nested_str_weak(Content_X2DType), + /* K24 */ be_nested_str_weak(text_X2Fhtml), + /* K25 */ be_nested_str_weak(Accept_X2DRanges), + /* K26 */ be_nested_str_weak(none), + /* K27 */ be_nested_str_weak(Transfer_X2DEncoding), + /* K28 */ be_nested_str_weak(cors), + /* K29 */ be_nested_str_weak(Access_X2DControl_X2DAllow_X2DOrigin), + /* K30 */ be_nested_str_weak(_X2A), + /* K31 */ be_nested_str_weak(Access_X2DControl_X2DAllow_X2DMethods), + /* K32 */ be_nested_str_weak(Access_X2DControl_X2DAllow_X2DHeaders), + /* K33 */ be_nested_str_weak(Connection), + /* K34 */ be_nested_str_weak(close), + /* K35 */ be_nested_str_weak(resp_headers), + /* K36 */ be_nested_str_weak(write_raw), + /* K37 */ be_nested_str_weak(write), + /* K38 */ be_nested_str_weak(cnx), + /* K39 */ be_nested_str_weak(buf_in), + /* K40 */ be_nested_str_weak(), + /* K41 */ be_nested_str_weak(buf_in_offset), + /* K42 */ be_nested_str_weak(phase), + /* K43 */ be_nested_str_weak(close_after_send), + /* K44 */ be_nested_str_weak(fastloop_cb), + /* K45 */ be_nested_str_weak(tasmota), + /* K46 */ be_nested_str_weak(add_fast_loop), + /* K47 */ be_nested_str_weak(Host), + /* K48 */ be_nested_str_weak(header_host), + /* K49 */ be_nested_str_weak(_X25s_X3A_X20_X25s_X0D_X0A_X25s), + /* K50 */ be_nested_str_weak(_X25s_X25s_X3A_X20_X25s_X0D_X0A), + /* K51 */ be_nested_str_weak(listening), + /* K52 */ be_nested_str_weak(connected), + /* K53 */ be_nested_str_weak(parse_http_req_line), + /* K54 */ be_const_int(1), + /* K55 */ be_nested_str_weak(parse_http_headers), + /* K56 */ be_const_int(2), + /* K57 */ be_nested_str_weak(parse_http_payload), + /* K58 */ be_nested_str_weak(remove_fast_loop), + /* K59 */ be_nested_str_weak(available), + /* K60 */ be_nested_str_weak(read), + /* K61 */ be_nested_str_weak(parse), + /* K62 */ be_nested_str_weak(global), + /* K63 */ be_nested_str_weak(_re_http_srv_header), + /* K64 */ be_nested_str_weak(match2), + /* K65 */ be_nested_str_weak(event_http_header), + /* K66 */ be_nested_str_weak(_re_http_srv_body), + /* K67 */ be_const_int(2147483647), + /* K68 */ be_nested_str_weak(log), + /* K69 */ be_nested_str_weak(WEB_X3A_X20error_X20header_X20is_X20bigger_X20than_X201KB), + /* K70 */ be_nested_str_weak(_re_http_srv), + /* K71 */ be_nested_str_weak(req_version), + /* K72 */ be_const_int(3), + /* K73 */ be_nested_str_weak(loglevel), + /* K74 */ be_nested_str_weak(WEB_X3A_X20HTTP_X20verb_X3A_X20_X25s_X20URI_X3A_X20_X27_X25s_X27_X20Version_X3A_X25s), + /* K75 */ be_nested_str_weak(WEB_X3A_X20error_X20invalid_X20request), +}; + + +extern const bclass be_class_webserver_async_cnx; + +/******************************************************************** +** Solidified function: parse_http_payload +********************************************************************/ +be_local_closure(class_webserver_async_cnx_parse_http_payload, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(parse_http_payload), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x88100102, // 0003 GETMBR R4 R0 K2 + 0x88140103, // 0004 GETMBR R5 R0 K3 + 0x7C040800, // 0005 CALL R1 4 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write +********************************************************************/ +be_local_closure(class_webserver_async_cnx_write, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(write), + &be_const_str_solidified, + ( &(const binstruction[39]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080504, // 0003 EQ R2 R2 K4 + 0x780A0005, // 0004 JMPF R2 #000B + 0x60080015, // 0005 GETGBL R2 G21 + 0x7C080000, // 0006 CALL R2 0 + 0x8C080505, // 0007 GETMET R2 R2 K5 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C080400, // 0009 CALL R2 2 + 0x5C040400, // 000A MOVE R1 R2 + 0x88080106, // 000B GETMBR R2 R0 K6 + 0x780A0015, // 000C JMPF R2 #0023 + 0x88080100, // 000D GETMBR R2 R0 K0 + 0x88080507, // 000E GETMBR R2 R2 K7 + 0x8C0C0508, // 000F GETMET R3 R2 K8 + 0x7C0C0200, // 0010 CALL R3 1 + 0x8C0C0509, // 0011 GETMET R3 R2 K9 + 0x60140018, // 0012 GETGBL R5 G24 + 0x5818000A, // 0013 LDCONST R6 K10 + 0x601C000C, // 0014 GETGBL R7 G12 + 0x5C200200, // 0015 MOVE R8 R1 + 0x7C1C0200, // 0016 CALL R7 1 + 0x7C140400, // 0017 CALL R5 2 + 0x7C0C0400, // 0018 CALL R3 2 + 0x8C0C0509, // 0019 GETMET R3 R2 K9 + 0x5C140200, // 001A MOVE R5 R1 + 0x7C0C0400, // 001B CALL R3 2 + 0x8C0C0509, // 001C GETMET R3 R2 K9 + 0x5814000B, // 001D LDCONST R5 K11 + 0x7C0C0400, // 001E CALL R3 2 + 0x8C0C010C, // 001F GETMET R3 R0 K12 + 0x5C140400, // 0020 MOVE R5 R2 + 0x7C0C0400, // 0021 CALL R3 2 + 0x70020002, // 0022 JMP #0026 + 0x8C08010C, // 0023 GETMET R2 R0 K12 + 0x5C100200, // 0024 MOVE R4 R1 + 0x7C080400, // 0025 CALL R2 2 + 0x80000000, // 0026 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _write +********************************************************************/ +be_local_closure(class_webserver_async_cnx__write, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(_write), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x6008000C, // 0000 GETGBL R2 G12 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C0C050D, // 0003 EQ R3 R2 K13 + 0x780E0000, // 0004 JMPF R3 #0006 + 0x80000600, // 0005 RET 0 + 0x880C010E, // 0006 GETMBR R3 R0 K14 + 0x6010000C, // 0007 GETGBL R4 G12 + 0x5C140600, // 0008 MOVE R5 R3 + 0x7C100200, // 0009 CALL R4 1 + 0x8C14070F, // 000A GETMET R5 R3 K15 + 0x001C0802, // 000B ADD R7 R4 R2 + 0x7C140400, // 000C CALL R5 2 + 0x8C140710, // 000D GETMET R5 R3 K16 + 0x5C1C0800, // 000E MOVE R7 R4 + 0x5C200200, // 000F MOVE R8 R1 + 0x7C140600, // 0010 CALL R5 3 + 0x8C140111, // 0011 GETMET R5 R0 K17 + 0x7C140200, // 0012 CALL R5 1 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send +********************************************************************/ +be_local_closure(class_webserver_async_cnx_send, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(send), + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0x60100018, // 0000 GETGBL R4 G24 + 0x58140012, // 0001 LDCONST R5 K18 + 0x5C180200, // 0002 MOVE R6 R1 + 0x881C0113, // 0003 GETMBR R7 R0 K19 + 0x8C1C0F14, // 0004 GETMET R7 R7 K20 + 0x5C240200, // 0005 MOVE R9 R1 + 0x58280015, // 0006 LDCONST R10 K21 + 0x7C1C0600, // 0007 CALL R7 3 + 0x7C100600, // 0008 CALL R4 3 + 0x8C140116, // 0009 GETMET R5 R0 K22 + 0x581C0017, // 000A LDCONST R7 K23 + 0x780A0001, // 000B JMPF R2 #000E + 0x5C200400, // 000C MOVE R8 R2 + 0x70020000, // 000D JMP #000F + 0x58200018, // 000E LDCONST R8 K24 + 0x50240200, // 000F LDBOOL R9 1 0 + 0x7C140800, // 0010 CALL R5 4 + 0x8C140116, // 0011 GETMET R5 R0 K22 + 0x581C0019, // 0012 LDCONST R7 K25 + 0x5820001A, // 0013 LDCONST R8 K26 + 0x7C140600, // 0014 CALL R5 3 + 0x88140106, // 0015 GETMBR R5 R0 K6 + 0x78160003, // 0016 JMPF R5 #001B + 0x8C140116, // 0017 GETMET R5 R0 K22 + 0x581C001B, // 0018 LDCONST R7 K27 + 0x58200006, // 0019 LDCONST R8 K6 + 0x7C140600, // 001A CALL R5 3 + 0x88140100, // 001B GETMBR R5 R0 K0 + 0x88140B1C, // 001C GETMBR R5 R5 K28 + 0x7816000B, // 001D JMPF R5 #002A + 0x8C140116, // 001E GETMET R5 R0 K22 + 0x581C001D, // 001F LDCONST R7 K29 + 0x5820001E, // 0020 LDCONST R8 K30 + 0x7C140600, // 0021 CALL R5 3 + 0x8C140116, // 0022 GETMET R5 R0 K22 + 0x581C001F, // 0023 LDCONST R7 K31 + 0x5820001E, // 0024 LDCONST R8 K30 + 0x7C140600, // 0025 CALL R5 3 + 0x8C140116, // 0026 GETMET R5 R0 K22 + 0x581C0020, // 0027 LDCONST R7 K32 + 0x5820001E, // 0028 LDCONST R8 K30 + 0x7C140600, // 0029 CALL R5 3 + 0x8C140116, // 002A GETMET R5 R0 K22 + 0x581C0021, // 002B LDCONST R7 K33 + 0x58200022, // 002C LDCONST R8 K34 + 0x7C140600, // 002D CALL R5 3 + 0x88140123, // 002E GETMBR R5 R0 K35 + 0x00100805, // 002F ADD R4 R4 R5 + 0x0010090B, // 0030 ADD R4 R4 K11 + 0x4C140000, // 0031 LDNIL R5 + 0x90024605, // 0032 SETMBR R0 K35 R5 + 0x8C140124, // 0033 GETMET R5 R0 K36 + 0x5C1C0800, // 0034 MOVE R7 R4 + 0x7C140400, // 0035 CALL R5 2 + 0x780E0002, // 0036 JMPF R3 #003A + 0x8C140125, // 0037 GETMET R5 R0 K37 + 0x5C1C0600, // 0038 MOVE R7 R3 + 0x7C140400, // 0039 CALL R5 2 + 0x80000000, // 003A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_webserver_async_cnx_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x90024C02, // 0001 SETMBR R0 K38 R2 + 0x90024F28, // 0002 SETMBR R0 K39 K40 + 0x9002530D, // 0003 SETMBR R0 K41 K13 + 0x600C0015, // 0004 GETGBL R3 G21 + 0x7C0C0000, // 0005 CALL R3 0 + 0x90021C03, // 0006 SETMBR R0 K14 R3 + 0x9002550D, // 0007 SETMBR R0 K42 K13 + 0x500C0000, // 0008 LDBOOL R3 0 0 + 0x90025603, // 0009 SETMBR R0 K43 R3 + 0x90024728, // 000A SETMBR R0 K35 K40 + 0x500C0200, // 000B LDBOOL R3 1 0 + 0x90020C03, // 000C SETMBR R0 K6 R3 + 0x840C0000, // 000D CLOSURE R3 P0 + 0x90025803, // 000E SETMBR R0 K44 R3 + 0xB80E5A00, // 000F GETNGBL R3 K45 + 0x8C0C072E, // 0010 GETMET R3 R3 K46 + 0x8814012C, // 0011 GETMBR R5 R0 K44 + 0x7C0C0400, // 0012 CALL R3 2 + 0xA0000000, // 0013 CLOSE R0 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_http_header +********************************************************************/ +be_local_closure(class_webserver_async_cnx_event_http_header, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(event_http_header), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x1C0C032F, // 0000 EQ R3 R1 K47 + 0x780E0000, // 0001 JMPF R3 #0003 + 0x90026002, // 0002 SETMBR R0 K48 R2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: close +********************************************************************/ +be_local_closure(class_webserver_async_cnx_close, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(close), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060002, // 0003 JMPF R1 #0007 + 0x88040126, // 0004 GETMBR R1 R0 K38 + 0x8C040322, // 0005 GETMET R1 R1 K34 + 0x7C040200, // 0006 CALL R1 1 + 0x4C040000, // 0007 LDNIL R1 + 0x90024C01, // 0008 SETMBR R0 K38 R1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: send_header +********************************************************************/ +be_local_closure(class_webserver_async_cnx_send_header, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(send_header), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x780E0007, // 0000 JMPF R3 #0009 + 0x60100018, // 0001 GETGBL R4 G24 + 0x58140031, // 0002 LDCONST R5 K49 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x88200123, // 0005 GETMBR R8 R0 K35 + 0x7C100800, // 0006 CALL R4 4 + 0x90024604, // 0007 SETMBR R0 K35 R4 + 0x70020006, // 0008 JMP #0010 + 0x60100018, // 0009 GETGBL R4 G24 + 0x58140032, // 000A LDCONST R5 K50 + 0x88180123, // 000B GETMBR R6 R0 K35 + 0x5C1C0200, // 000C MOVE R7 R1 + 0x5C200400, // 000D MOVE R8 R2 + 0x7C100800, // 000E CALL R4 4 + 0x90024604, // 000F SETMBR R0 K35 R4 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _send +********************************************************************/ +be_local_closure(class_webserver_async_cnx__send, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(_send), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x4C080000, // 0001 LDNIL R2 + 0x1C080202, // 0002 EQ R2 R1 R2 + 0x780A0000, // 0003 JMPF R2 #0005 + 0x80000400, // 0004 RET 0 + 0x8808010E, // 0005 GETMBR R2 R0 K14 + 0x600C000C, // 0006 GETGBL R3 G12 + 0x5C100400, // 0007 MOVE R4 R2 + 0x7C0C0200, // 0008 CALL R3 1 + 0x240C070D, // 0009 GT R3 R3 K13 + 0x780E001E, // 000A JMPF R3 #002A + 0x8C0C0333, // 000B GETMET R3 R1 K51 + 0x7C0C0200, // 000C CALL R3 1 + 0x780E001A, // 000D JMPF R3 #0029 + 0x8C0C0325, // 000E GETMET R3 R1 K37 + 0x5C140400, // 000F MOVE R5 R2 + 0x7C0C0400, // 0010 CALL R3 2 + 0x2410070D, // 0011 GT R4 R3 K13 + 0x78120015, // 0012 JMPF R4 #0029 + 0x6010000C, // 0013 GETGBL R4 G12 + 0x5C140400, // 0014 MOVE R5 R2 + 0x7C100200, // 0015 CALL R4 1 + 0x28100604, // 0016 GE R4 R3 R4 + 0x78120003, // 0017 JMPF R4 #001C + 0x8810010E, // 0018 GETMBR R4 R0 K14 + 0x8C100908, // 0019 GETMET R4 R4 K8 + 0x7C100200, // 001A CALL R4 1 + 0x7002000C, // 001B JMP #0029 + 0x8810010E, // 001C GETMBR R4 R0 K14 + 0x8C100910, // 001D GETMET R4 R4 K16 + 0x5818000D, // 001E LDCONST R6 K13 + 0x5C1C0400, // 001F MOVE R7 R2 + 0x5C200600, // 0020 MOVE R8 R3 + 0x7C100800, // 0021 CALL R4 4 + 0x8810010E, // 0022 GETMBR R4 R0 K14 + 0x8C10090F, // 0023 GETMET R4 R4 K15 + 0x6018000C, // 0024 GETGBL R6 G12 + 0x5C1C0400, // 0025 MOVE R7 R2 + 0x7C180200, // 0026 CALL R6 1 + 0x04180C03, // 0027 SUB R6 R6 R3 + 0x7C100400, // 0028 CALL R4 2 + 0x70020003, // 0029 JMP #002E + 0x880C012B, // 002A GETMBR R3 R0 K43 + 0x780E0001, // 002B JMPF R3 #002E + 0x8C0C0122, // 002C GETMET R3 R0 K34 + 0x7C0C0200, // 002D CALL R3 1 + 0x80000000, // 002E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: connected +********************************************************************/ +be_local_closure(class_webserver_async_cnx_connected, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(connected), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x78060003, // 0001 JMPF R1 #0006 + 0x88040126, // 0002 GETMBR R1 R0 K38 + 0x8C040334, // 0003 GETMET R1 R1 K52 + 0x7C040200, // 0004 CALL R1 1 + 0x70020000, // 0005 JMP #0007 + 0x50040000, // 0006 LDBOOL R1 0 0 + 0x80040200, // 0007 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_webserver_async_cnx_parse, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x8804012A, // 0000 GETMBR R1 R0 K42 + 0x1C04030D, // 0001 EQ R1 R1 K13 + 0x78060002, // 0002 JMPF R1 #0006 + 0x8C040135, // 0003 GETMET R1 R0 K53 + 0x7C040200, // 0004 CALL R1 1 + 0x7002000A, // 0005 JMP #0011 + 0x8804012A, // 0006 GETMBR R1 R0 K42 + 0x1C040336, // 0007 EQ R1 R1 K54 + 0x78060002, // 0008 JMPF R1 #000C + 0x8C040137, // 0009 GETMET R1 R0 K55 + 0x7C040200, // 000A CALL R1 1 + 0x70020004, // 000B JMP #0011 + 0x8804012A, // 000C GETMBR R1 R0 K42 + 0x1C040338, // 000D EQ R1 R1 K56 + 0x78060001, // 000E JMPF R1 #0011 + 0x8C040139, // 000F GETMET R1 R0 K57 + 0x7C040200, // 0010 CALL R1 1 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: loop +********************************************************************/ +be_local_closure(class_webserver_async_cnx_loop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(loop), + &be_const_str_solidified, + ( &(const binstruction[36]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060006, // 0003 JMPF R1 #000B + 0xB8065A00, // 0004 GETNGBL R1 K45 + 0x8C04033A, // 0005 GETMET R1 R1 K58 + 0x880C012C, // 0006 GETMBR R3 R0 K44 + 0x7C040400, // 0007 CALL R1 2 + 0x4C040000, // 0008 LDNIL R1 + 0x90025801, // 0009 SETMBR R0 K44 R1 + 0x80000200, // 000A RET 0 + 0x8C040111, // 000B GETMET R1 R0 K17 + 0x7C040200, // 000C CALL R1 1 + 0x88040126, // 000D GETMBR R1 R0 K38 + 0x4C080000, // 000E LDNIL R2 + 0x1C080202, // 000F EQ R2 R1 R2 + 0x780A0000, // 0010 JMPF R2 #0012 + 0x80000400, // 0011 RET 0 + 0x8C08033B, // 0012 GETMET R2 R1 K59 + 0x7C080200, // 0013 CALL R2 1 + 0x2408050D, // 0014 GT R2 R2 K13 + 0x780A0008, // 0015 JMPF R2 #001F + 0x8C08033C, // 0016 GETMET R2 R1 K60 + 0x7C080200, // 0017 CALL R2 1 + 0x880C0127, // 0018 GETMBR R3 R0 K39 + 0x740E0001, // 0019 JMPT R3 #001C + 0x90024E02, // 001A SETMBR R0 K39 R2 + 0x70020002, // 001B JMP #001F + 0x880C0127, // 001C GETMBR R3 R0 K39 + 0x000C0602, // 001D ADD R3 R3 R2 + 0x90024E03, // 001E SETMBR R0 K39 R3 + 0x88080127, // 001F GETMBR R2 R0 K39 + 0x780A0001, // 0020 JMPF R2 #0023 + 0x8C08013D, // 0021 GETMET R2 R0 K61 + 0x7C080200, // 0022 CALL R2 1 + 0x80000000, // 0023 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: buf_out_empty +********************************************************************/ +be_local_closure(class_webserver_async_cnx_buf_out_empty, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(buf_out_empty), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x6004000C, // 0000 GETGBL R1 G12 + 0x8808010E, // 0001 GETMBR R2 R0 K14 + 0x7C040200, // 0002 CALL R1 1 + 0x1C04030D, // 0003 EQ R1 R1 K13 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_chunked +********************************************************************/ +be_local_closure(class_webserver_async_cnx_set_chunked, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(set_chunked), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020C02, // 0003 SETMBR R0 K6 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_headers +********************************************************************/ +be_local_closure(class_webserver_async_cnx_parse_http_headers, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(parse_http_headers), + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0x50040200, // 0000 LDBOOL R1 1 0 + 0x78060030, // 0001 JMPF R1 #0033 + 0xB8067C00, // 0002 GETNGBL R1 K62 + 0x8804033F, // 0003 GETMBR R1 R1 K63 + 0x8C040340, // 0004 GETMET R1 R1 K64 + 0x880C0127, // 0005 GETMBR R3 R0 K39 + 0x88100129, // 0006 GETMBR R4 R0 K41 + 0x7C040600, // 0007 CALL R1 3 + 0x78060008, // 0008 JMPF R1 #0012 + 0x8C080141, // 0009 GETMET R2 R0 K65 + 0x94100336, // 000A GETIDX R4 R1 K54 + 0x94140338, // 000B GETIDX R5 R1 K56 + 0x7C080600, // 000C CALL R2 3 + 0x88080129, // 000D GETMBR R2 R0 K41 + 0x940C030D, // 000E GETIDX R3 R1 K13 + 0x00080403, // 000F ADD R2 R2 R3 + 0x90025202, // 0010 SETMBR R0 K41 R2 + 0x7002001F, // 0011 JMP #0032 + 0xB80A7C00, // 0012 GETNGBL R2 K62 + 0x88080542, // 0013 GETMBR R2 R2 K66 + 0x8C080540, // 0014 GETMET R2 R2 K64 + 0x88100127, // 0015 GETMBR R4 R0 K39 + 0x88140129, // 0016 GETMBR R5 R0 K41 + 0x7C080600, // 0017 CALL R2 3 + 0x780A000A, // 0018 JMPF R2 #0024 + 0x880C0129, // 0019 GETMBR R3 R0 K41 + 0x9410050D, // 001A GETIDX R4 R2 K13 + 0x000C0604, // 001B ADD R3 R3 R4 + 0x400C0743, // 001C CONNECT R3 R3 K67 + 0x88100127, // 001D GETMBR R4 R0 K39 + 0x940C0803, // 001E GETIDX R3 R4 R3 + 0x90024E03, // 001F SETMBR R0 K39 R3 + 0x9002530D, // 0020 SETMBR R0 K41 K13 + 0x90025538, // 0021 SETMBR R0 K42 K56 + 0x8C0C0139, // 0022 GETMET R3 R0 K57 + 0x7C0C0200, // 0023 CALL R3 1 + 0x600C000C, // 0024 GETGBL R3 G12 + 0x88100127, // 0025 GETMBR R4 R0 K39 + 0x7C0C0200, // 0026 CALL R3 1 + 0x541203FF, // 0027 LDINT R4 1024 + 0x240C0604, // 0028 GT R3 R3 R4 + 0x780E0006, // 0029 JMPF R3 #0031 + 0xB80E8800, // 002A GETNGBL R3 K68 + 0x58100045, // 002B LDCONST R4 K69 + 0x54160003, // 002C LDINT R5 4 + 0x7C0C0400, // 002D CALL R3 2 + 0x8C0C0122, // 002E GETMET R3 R0 K34 + 0x7C0C0200, // 002F CALL R3 1 + 0x90024F28, // 0030 SETMBR R0 K39 K40 + 0x80000600, // 0031 RET 0 + 0x7001FFCC, // 0032 JMP #0000 + 0x80000000, // 0033 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_raw +********************************************************************/ +be_local_closure(class_webserver_async_cnx_write_raw, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(write_raw), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x6008000C, // 0000 GETGBL R2 G12 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C08050D, // 0003 EQ R2 R2 K13 + 0x780A0000, // 0004 JMPF R2 #0006 + 0x80000400, // 0005 RET 0 + 0x60080004, // 0006 GETGBL R2 G4 + 0x5C0C0200, // 0007 MOVE R3 R1 + 0x7C080200, // 0008 CALL R2 1 + 0x1C080504, // 0009 EQ R2 R2 K4 + 0x780A0005, // 000A JMPF R2 #0011 + 0x60080015, // 000B GETGBL R2 G21 + 0x7C080000, // 000C CALL R2 0 + 0x8C080505, // 000D GETMET R2 R2 K5 + 0x5C100200, // 000E MOVE R4 R1 + 0x7C080400, // 000F CALL R2 2 + 0x5C040400, // 0010 MOVE R1 R2 + 0x8C08010C, // 0011 GETMET R2 R0 K12 + 0x5C100200, // 0012 MOVE R4 R1 + 0x7C080400, // 0013 CALL R2 2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: content_stop +********************************************************************/ +be_local_closure(class_webserver_async_cnx_content_stop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(content_stop), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040125, // 0000 GETMET R1 R0 K37 + 0x580C0028, // 0001 LDCONST R3 K40 + 0x7C040400, // 0002 CALL R1 2 + 0x50040200, // 0003 LDBOOL R1 1 0 + 0x90025601, // 0004 SETMBR R0 K43 R1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_http_req_line +********************************************************************/ +be_local_closure(class_webserver_async_cnx_parse_http_req_line, /* name */ + be_nested_proto( + 9, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_cnx, /* shared constants */ + be_str_weak(parse_http_req_line), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0xB8067C00, // 0000 GETNGBL R1 K62 + 0x88040346, // 0001 GETMBR R1 R1 K70 + 0x8C040340, // 0002 GETMET R1 R1 K64 + 0x880C0127, // 0003 GETMBR R3 R0 K39 + 0x88100129, // 0004 GETMBR R4 R0 K41 + 0x7C040600, // 0005 CALL R1 3 + 0x7806001C, // 0006 JMPF R1 #0024 + 0x9408030D, // 0007 GETIDX R2 R1 K13 + 0x940C0336, // 0008 GETIDX R3 R1 K54 + 0x90020603, // 0009 SETMBR R0 K3 R3 + 0x940C0338, // 000A GETIDX R3 R1 K56 + 0x90020403, // 000B SETMBR R0 K2 R3 + 0x940C0348, // 000C GETIDX R3 R1 K72 + 0x90028E03, // 000D SETMBR R0 K71 R3 + 0x90025536, // 000E SETMBR R0 K42 K54 + 0x400C0543, // 000F CONNECT R3 R2 K67 + 0x88100127, // 0010 GETMBR R4 R0 K39 + 0x940C0803, // 0011 GETIDX R3 R4 R3 + 0x90024E03, // 0012 SETMBR R0 K39 R3 + 0xB80E5A00, // 0013 GETNGBL R3 K45 + 0x8C0C0749, // 0014 GETMET R3 R3 K73 + 0x54160003, // 0015 LDINT R5 4 + 0x7C0C0400, // 0016 CALL R3 2 + 0x780E0008, // 0017 JMPF R3 #0021 + 0xB80E8800, // 0018 GETNGBL R3 K68 + 0x60100018, // 0019 GETGBL R4 G24 + 0x5814004A, // 001A LDCONST R5 K74 + 0x88180103, // 001B GETMBR R6 R0 K3 + 0x881C0102, // 001C GETMBR R7 R0 K2 + 0x88200147, // 001D GETMBR R8 R0 K71 + 0x7C100800, // 001E CALL R4 4 + 0x54160003, // 001F LDINT R5 4 + 0x7C0C0400, // 0020 CALL R3 2 + 0x8C0C0137, // 0021 GETMET R3 R0 K55 + 0x7C0C0200, // 0022 CALL R3 1 + 0x7002000C, // 0023 JMP #0031 + 0x6008000C, // 0024 GETGBL R2 G12 + 0x880C0127, // 0025 GETMBR R3 R0 K39 + 0x7C080200, // 0026 CALL R2 1 + 0x540E0063, // 0027 LDINT R3 100 + 0x24080403, // 0028 GT R2 R2 R3 + 0x780A0006, // 0029 JMPF R2 #0031 + 0xB80A8800, // 002A GETNGBL R2 K68 + 0x580C004B, // 002B LDCONST R3 K75 + 0x54120003, // 002C LDINT R4 4 + 0x7C080400, // 002D CALL R2 2 + 0x8C080122, // 002E GETMET R2 R0 K34 + 0x7C080200, // 002F CALL R2 1 + 0x90024F28, // 0030 SETMBR R0 K39 K40 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: webserver_async_cnx +********************************************************************/ +be_local_class(webserver_async_cnx, + 14, + NULL, + be_nested_map(33, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(chunked, 20), be_const_var(13) }, + { be_const_key_weak(parse_http_payload, 31), be_const_closure(class_webserver_async_cnx_parse_http_payload_closure) }, + { be_const_key_weak(write, 5), be_const_closure(class_webserver_async_cnx_write_closure) }, + { be_const_key_weak(phase, 32), be_const_var(7) }, + { be_const_key_weak(_write, -1), be_const_closure(class_webserver_async_cnx__write_closure) }, + { be_const_key_weak(parse_http_req_line, 25), be_const_closure(class_webserver_async_cnx_parse_http_req_line_closure) }, + { be_const_key_weak(server, -1), be_const_var(0) }, + { be_const_key_weak(send, 27), be_const_closure(class_webserver_async_cnx_send_closure) }, + { be_const_key_weak(content_stop, -1), be_const_closure(class_webserver_async_cnx_content_stop_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_webserver_async_cnx_init_closure) }, + { be_const_key_weak(_send, -1), be_const_closure(class_webserver_async_cnx__send_closure) }, + { be_const_key_weak(event_http_header, -1), be_const_closure(class_webserver_async_cnx_event_http_header_closure) }, + { be_const_key_weak(close, -1), be_const_closure(class_webserver_async_cnx_close_closure) }, + { be_const_key_weak(req_uri, 21), be_const_var(9) }, + { be_const_key_weak(buf_in, -1), be_const_var(4) }, + { be_const_key_weak(req_version, 22), be_const_var(10) }, + { be_const_key_weak(resp_headers, -1), be_const_var(12) }, + { be_const_key_weak(close_after_send, 14), be_const_var(2) }, + { be_const_key_weak(cnx, -1), be_const_var(1) }, + { be_const_key_weak(parse, 8), be_const_closure(class_webserver_async_cnx_parse_closure) }, + { be_const_key_weak(CODE_TO_STRING, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(200, 2), be_nested_str_weak(OK) }, + { be_const_key_int(301, -1), be_nested_str_weak(Moved_X20Permanently) }, + { be_const_key_int(404, 3), be_nested_str_weak(Not_X20Found) }, + { be_const_key_int(500, -1), be_nested_str_weak(Internal_X20Server_X20Error) }, + })) ) } )) }, + { be_const_key_weak(buf_out_empty, 10), be_const_closure(class_webserver_async_cnx_buf_out_empty_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_webserver_async_cnx_loop_closure) }, + { be_const_key_weak(buf_out, -1), be_const_var(6) }, + { be_const_key_weak(req_verb, 18), be_const_var(8) }, + { be_const_key_weak(buf_in_offset, -1), be_const_var(5) }, + { be_const_key_weak(set_chunked, -1), be_const_closure(class_webserver_async_cnx_set_chunked_closure) }, + { be_const_key_weak(connected, -1), be_const_closure(class_webserver_async_cnx_connected_closure) }, + { be_const_key_weak(parse_http_headers, -1), be_const_closure(class_webserver_async_cnx_parse_http_headers_closure) }, + { be_const_key_weak(fastloop_cb, 13), be_const_var(3) }, + { be_const_key_weak(write_raw, -1), be_const_closure(class_webserver_async_cnx_write_raw_closure) }, + { be_const_key_weak(send_header, -1), be_const_closure(class_webserver_async_cnx_send_header_closure) }, + { be_const_key_weak(header_host, -1), be_const_var(11) }, + })), + be_str_weak(webserver_async_cnx) +); +// compact class 'webserver_async_dispatcher' ktab size: 7, total: 11 (saved 32 bytes) +static const bvalue be_ktab_class_webserver_async_dispatcher[7] = { + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_nested_str_weak(find), + /* K2 */ be_nested_str_weak(uri_prefix), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(verb), + /* K5 */ be_nested_str_weak(cb_obj), + /* K6 */ be_nested_str_weak(cb_mth), +}; + + +extern const bclass be_class_webserver_async_dispatcher; + +/******************************************************************** +** Solidified function: dispatch +********************************************************************/ +be_local_closure(class_webserver_async_dispatcher_dispatch, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_dispatcher, /* shared constants */ + be_str_weak(dispatch), + &be_const_str_solidified, + ( &(const binstruction[35]) { /* code */ + 0xA4120000, // 0000 IMPORT R4 K0 + 0x8C140901, // 0001 GETMET R5 R4 K1 + 0x5C1C0400, // 0002 MOVE R7 R2 + 0x88200102, // 0003 GETMBR R8 R0 K2 + 0x7C140600, // 0004 CALL R5 3 + 0x1C140B03, // 0005 EQ R5 R5 K3 + 0x78160019, // 0006 JMPF R5 #0021 + 0x50140000, // 0007 LDBOOL R5 0 0 + 0x88180104, // 0008 GETMBR R6 R0 K4 + 0x4C1C0000, // 0009 LDNIL R7 + 0x1C180C07, // 000A EQ R6 R6 R7 + 0x741A0002, // 000B JMPT R6 #000F + 0x88180104, // 000C GETMBR R6 R0 K4 + 0x1C180C03, // 000D EQ R6 R6 R3 + 0x781A0011, // 000E JMPF R6 #0021 + 0x88180105, // 000F GETMBR R6 R0 K5 + 0x4C1C0000, // 0010 LDNIL R7 + 0x201C0C07, // 0011 NE R7 R6 R7 + 0x781E0006, // 0012 JMPF R7 #001A + 0x8C1C0106, // 0013 GETMET R7 R0 K6 + 0x88240105, // 0014 GETMBR R9 R0 K5 + 0x5C280200, // 0015 MOVE R10 R1 + 0x5C2C0400, // 0016 MOVE R11 R2 + 0x5C300600, // 0017 MOVE R12 R3 + 0x7C1C0A00, // 0018 CALL R7 5 + 0x70020004, // 0019 JMP #001F + 0x8C1C0106, // 001A GETMET R7 R0 K6 + 0x5C240200, // 001B MOVE R9 R1 + 0x5C280400, // 001C MOVE R10 R2 + 0x5C2C0600, // 001D MOVE R11 R3 + 0x7C1C0800, // 001E CALL R7 4 + 0x501C0200, // 001F LDBOOL R7 1 0 + 0x80040E00, // 0020 RET 1 R7 + 0x50140000, // 0021 LDBOOL R5 0 0 + 0x80040A00, // 0022 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_webserver_async_dispatcher_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async_dispatcher, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90020401, // 0000 SETMBR R0 K2 R1 + 0x90020A02, // 0001 SETMBR R0 K5 R2 + 0x90020C03, // 0002 SETMBR R0 K6 R3 + 0x90020804, // 0003 SETMBR R0 K4 R4 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: webserver_async_dispatcher +********************************************************************/ +be_local_class(webserver_async_dispatcher, + 4, + NULL, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(verb, 4), be_const_var(1) }, + { be_const_key_weak(init, -1), be_const_closure(class_webserver_async_dispatcher_init_closure) }, + { be_const_key_weak(uri_prefix, -1), be_const_var(0) }, + { be_const_key_weak(dispatch, 1), be_const_closure(class_webserver_async_dispatcher_dispatch_closure) }, + { be_const_key_weak(cb_obj, 5), be_const_var(2) }, + { be_const_key_weak(cb_mth, -1), be_const_var(3) }, + })), + be_str_weak(webserver_async_dispatcher) +); +extern const bclass be_class_webserver_async; +// compact class 'webserver_async' ktab size: 48, total: 71 (saved 184 bytes) +static const bvalue be_ktab_class_webserver_async[48] = { + /* K0 */ be_nested_str_weak(chunked), + /* K1 */ be_nested_str_weak(re), + /* K2 */ be_nested_str_weak(global), + /* K3 */ be_nested_str_weak(contains), + /* K4 */ be_nested_str_weak(_re_http_srv), + /* K5 */ be_nested_str_weak(compile), + /* K6 */ be_nested_str_weak(_X5E_X28_X5Cw_X2B_X29_X20_X28_X5CS_X2B_X29_X20HTTP_X5C_X2F_X28_X5Cd_X5C_X2E_X5Cd_X29_X0D_X0A), + /* K7 */ be_nested_str_weak(_re_http_srv_header), + /* K8 */ be_nested_str_weak(_X28_X5BA_X2DZa_X2Dz0_X2D9_X2D_X5D_X2B_X29_X3A_X20_X28_X2E_X2A_X3F_X29_X0D_X0A), + /* K9 */ be_nested_str_weak(_re_http_srv_body), + /* K10 */ be_nested_str_weak(_X0D_X0A), + /* K11 */ be_nested_str_weak(cors), + /* K12 */ be_nested_str_weak(clean_connections), + /* K13 */ be_nested_str_weak(server), + /* K14 */ be_nested_str_weak(hasclient), + /* K15 */ be_nested_str_weak(webserver_async_cnx), + /* K16 */ be_nested_str_weak(acceptasync), + /* K17 */ be_nested_str_weak(set_chunked), + /* K18 */ be_nested_str_weak(connections), + /* K19 */ be_nested_str_weak(push), + /* K20 */ be_nested_str_weak(tasmota), + /* K21 */ be_nested_str_weak(remove_driver), + /* K22 */ be_nested_str_weak(remove_fast_loop), + /* K23 */ be_nested_str_weak(fastloop_cb), + /* K24 */ be_nested_str_weak(close), + /* K25 */ be_nested_str_weak(stop_iteration), + /* K26 */ be_const_class(be_class_webserver_async), + /* K27 */ be_nested_str_weak(clear), + /* K28 */ be_const_int(0), + /* K29 */ be_nested_str_weak(resize), + /* K30 */ be_const_int(1), + /* K31 */ be_nested_str_weak(reverse), + /* K32 */ be_nested_str_weak(dispatchers), + /* K33 */ be_nested_str_weak(tcpserver), + /* K34 */ be_nested_str_weak(p1), + /* K35 */ be_nested_str_weak(compile_re), + /* K36 */ be_nested_str_weak(add_driver), + /* K37 */ be_nested_str_weak(add_fast_loop), + /* K38 */ be_nested_str_weak(connected), + /* K39 */ be_nested_str_weak(remove), + /* K40 */ be_nested_str_weak(append), + /* K41 */ be_nested_str_weak(webserver_async_dispatcher), + /* K42 */ be_nested_str_weak(dispatch), + /* K43 */ be_nested_str_weak(send), + /* K44 */ be_nested_str_weak(text_X2Fplain), + /* K45 */ be_nested_str_weak(write), + /* K46 */ be_nested_str_weak(Unsupported), + /* K47 */ be_nested_str_weak(content_stop), +}; + + +extern const bclass be_class_webserver_async; + +/******************************************************************** +** Solidified function: set_chunked +********************************************************************/ +be_local_closure(class_webserver_async_set_chunked, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(set_chunked), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020002, // 0003 SETMBR R0 K0 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: compile_re +********************************************************************/ +be_local_closure(class_webserver_async_compile_re, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(compile_re), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0xB80A0400, // 0001 GETNGBL R2 K2 + 0x8C080503, // 0002 GETMET R2 R2 K3 + 0x58100004, // 0003 LDCONST R4 K4 + 0x7C080400, // 0004 CALL R2 2 + 0x740A000E, // 0005 JMPT R2 #0015 + 0xB80A0400, // 0006 GETNGBL R2 K2 + 0x8C0C0305, // 0007 GETMET R3 R1 K5 + 0x58140006, // 0008 LDCONST R5 K6 + 0x7C0C0400, // 0009 CALL R3 2 + 0x900A0803, // 000A SETMBR R2 K4 R3 + 0xB80A0400, // 000B GETNGBL R2 K2 + 0x8C0C0305, // 000C GETMET R3 R1 K5 + 0x58140008, // 000D LDCONST R5 K8 + 0x7C0C0400, // 000E CALL R3 2 + 0x900A0E03, // 000F SETMBR R2 K7 R3 + 0xB80A0400, // 0010 GETNGBL R2 K2 + 0x8C0C0305, // 0011 GETMET R3 R1 K5 + 0x5814000A, // 0012 LDCONST R5 K10 + 0x7C0C0400, // 0013 CALL R3 2 + 0x900A1203, // 0014 SETMBR R2 K9 R3 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_cors +********************************************************************/ +be_local_closure(class_webserver_async_set_cors, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(set_cors), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90021602, // 0003 SETMBR R0 K11 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: loop +********************************************************************/ +be_local_closure(class_webserver_async_loop, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(loop), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8C04010C, // 0000 GETMET R1 R0 K12 + 0x7C040200, // 0001 CALL R1 1 + 0x8804010D, // 0002 GETMBR R1 R0 K13 + 0x8C04030E, // 0003 GETMET R1 R1 K14 + 0x7C040200, // 0004 CALL R1 1 + 0x7806000D, // 0005 JMPF R1 #0014 + 0x8C04010F, // 0006 GETMET R1 R0 K15 + 0x5C0C0000, // 0007 MOVE R3 R0 + 0x8810010D, // 0008 GETMBR R4 R0 K13 + 0x8C100910, // 0009 GETMET R4 R4 K16 + 0x7C100200, // 000A CALL R4 1 + 0x7C040600, // 000B CALL R1 3 + 0x8C080311, // 000C GETMET R2 R1 K17 + 0x88100100, // 000D GETMBR R4 R0 K0 + 0x7C080400, // 000E CALL R2 2 + 0x88080112, // 000F GETMBR R2 R0 K18 + 0x8C080513, // 0010 GETMET R2 R2 K19 + 0x5C100200, // 0011 MOVE R4 R1 + 0x7C080400, // 0012 CALL R2 2 + 0x7001FFED, // 0013 JMP #0002 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: close +********************************************************************/ +be_local_closure(class_webserver_async_close, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(close), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0xB8062800, // 0000 GETNGBL R1 K20 + 0x8C040315, // 0001 GETMET R1 R1 K21 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0xB8062800, // 0004 GETNGBL R1 K20 + 0x8C040316, // 0005 GETMET R1 R1 K22 + 0x880C0117, // 0006 GETMBR R3 R0 K23 + 0x7C040400, // 0007 CALL R1 2 + 0x4C040000, // 0008 LDNIL R1 + 0x90022E01, // 0009 SETMBR R0 K23 R1 + 0x8804010D, // 000A GETMBR R1 R0 K13 + 0x8C040318, // 000B GETMET R1 R1 K24 + 0x7C040200, // 000C CALL R1 1 + 0x60040010, // 000D GETGBL R1 G16 + 0x88080112, // 000E GETMBR R2 R0 K18 + 0x7C040200, // 000F CALL R1 1 + 0xA8020004, // 0010 EXBLK 0 #0016 + 0x5C080200, // 0011 MOVE R2 R1 + 0x7C080000, // 0012 CALL R2 0 + 0x8C0C0518, // 0013 GETMET R3 R2 K24 + 0x7C0C0200, // 0014 CALL R3 1 + 0x7001FFFA, // 0015 JMP #0011 + 0x58040019, // 0016 LDCONST R1 K25 + 0xAC040200, // 0017 CATCH R1 1 0 + 0xB0080000, // 0018 RAISE 2 R0 R0 + 0x4C040000, // 0019 LDNIL R1 + 0x90022401, // 001A SETMBR R0 K18 R1 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: bytes_format_hex +********************************************************************/ +be_local_closure(class_webserver_async_bytes_format_hex, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(bytes_format_hex), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0x580C001A, // 0000 LDCONST R3 K26 + 0x8C10011B, // 0001 GETMET R4 R0 K27 + 0x7C100200, // 0002 CALL R4 1 + 0x4C100000, // 0003 LDNIL R4 + 0x1C100204, // 0004 EQ R4 R1 R4 + 0x78120001, // 0005 JMPF R4 #0008 + 0x40100002, // 0006 CONNECT R4 R0 R2 + 0x80000800, // 0007 RET 0 + 0x1410031C, // 0008 LT R4 R1 K28 + 0x78120000, // 0009 JMPF R4 #000B + 0x44040200, // 000A NEG R1 R1 + 0x1410031C, // 000B LT R4 R1 K28 + 0x78120000, // 000C JMPF R4 #000E + 0x80000800, // 000D RET 0 + 0x1C10031C, // 000E EQ R4 R1 K28 + 0x78120005, // 000F JMPF R4 #0016 + 0x8C10011D, // 0010 GETMET R4 R0 K29 + 0x5818001E, // 0011 LDCONST R6 K30 + 0x7C100400, // 0012 CALL R4 2 + 0x5412002F, // 0013 LDINT R4 48 + 0x98023804, // 0014 SETIDX R0 K28 R4 + 0x80000800, // 0015 RET 0 + 0x8C10011D, // 0016 GETMET R4 R0 K29 + 0x541A0007, // 0017 LDINT R6 8 + 0x7C100400, // 0018 CALL R4 2 + 0x5810001C, // 0019 LDCONST R4 K28 + 0x2414031C, // 001A GT R5 R1 K28 + 0x7816000F, // 001B JMPF R5 #002C + 0x5416000E, // 001C LDINT R5 15 + 0x2C140205, // 001D AND R5 R1 R5 + 0x541A0009, // 001E LDINT R6 10 + 0x14180A06, // 001F LT R6 R5 R6 + 0x781A0003, // 0020 JMPF R6 #0025 + 0x541A002F, // 0021 LDINT R6 48 + 0x00180C05, // 0022 ADD R6 R6 R5 + 0x98000806, // 0023 SETIDX R0 R4 R6 + 0x70020002, // 0024 JMP #0028 + 0x541A0036, // 0025 LDINT R6 55 + 0x00180C05, // 0026 ADD R6 R6 R5 + 0x98000806, // 0027 SETIDX R0 R4 R6 + 0x0010091E, // 0028 ADD R4 R4 K30 + 0x541A0003, // 0029 LDINT R6 4 + 0x3C040206, // 002A SHR R1 R1 R6 + 0x7001FFED, // 002B JMP #001A + 0x8C14011D, // 002C GETMET R5 R0 K29 + 0x5C1C0800, // 002D MOVE R7 R4 + 0x7C140400, // 002E CALL R5 2 + 0x8C14011F, // 002F GETMET R5 R0 K31 + 0x7C140200, // 0030 CALL R5 1 + 0x80000000, // 0031 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_webserver_async_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x600C0012, // 0000 GETGBL R3 G18 + 0x7C0C0000, // 0001 CALL R3 0 + 0x90022403, // 0002 SETMBR R0 K18 R3 + 0x600C0012, // 0003 GETGBL R3 G18 + 0x7C0C0000, // 0004 CALL R3 0 + 0x90024003, // 0005 SETMBR R0 K32 R3 + 0xB80E4200, // 0006 GETNGBL R3 K33 + 0x5C100200, // 0007 MOVE R4 R1 + 0x7C0C0200, // 0008 CALL R3 1 + 0x90021A03, // 0009 SETMBR R0 K13 R3 + 0x500C0200, // 000A LDBOOL R3 1 0 + 0x90020003, // 000B SETMBR R0 K0 R3 + 0x500C0000, // 000C LDBOOL R3 0 0 + 0x90021603, // 000D SETMBR R0 K11 R3 + 0x600C0015, // 000E GETGBL R3 G21 + 0x54120063, // 000F LDINT R4 100 + 0x7C0C0200, // 0010 CALL R3 1 + 0x90024403, // 0011 SETMBR R0 K34 R3 + 0x8C0C0123, // 0012 GETMET R3 R0 K35 + 0x7C0C0200, // 0013 CALL R3 1 + 0xB80E2800, // 0014 GETNGBL R3 K20 + 0x8C0C0724, // 0015 GETMET R3 R3 K36 + 0x5C140000, // 0016 MOVE R5 R0 + 0x7C0C0400, // 0017 CALL R3 2 + 0x840C0000, // 0018 CLOSURE R3 P0 + 0x90022E03, // 0019 SETMBR R0 K23 R3 + 0xB80E2800, // 001A GETNGBL R3 K20 + 0x8C0C0725, // 001B GETMET R3 R3 K37 + 0x88140117, // 001C GETMBR R5 R0 K23 + 0x7C0C0400, // 001D CALL R3 2 + 0xA0000000, // 001E CLOSE R0 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: clean_connections +********************************************************************/ +be_local_closure(class_webserver_async_clean_connections, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(clean_connections), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x5804001C, // 0000 LDCONST R1 K28 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x880C0112, // 0002 GETMBR R3 R0 K18 + 0x7C080200, // 0003 CALL R2 1 + 0x14080202, // 0004 LT R2 R1 R2 + 0x780A000D, // 0005 JMPF R2 #0014 + 0x88080112, // 0006 GETMBR R2 R0 K18 + 0x94080401, // 0007 GETIDX R2 R2 R1 + 0x8C0C0526, // 0008 GETMET R3 R2 K38 + 0x7C0C0200, // 0009 CALL R3 1 + 0x740E0006, // 000A JMPT R3 #0012 + 0x8C0C0518, // 000B GETMET R3 R2 K24 + 0x7C0C0200, // 000C CALL R3 1 + 0x880C0112, // 000D GETMBR R3 R0 K18 + 0x8C0C0727, // 000E GETMET R3 R3 K39 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C0C0400, // 0010 CALL R3 2 + 0x70020000, // 0011 JMP #0013 + 0x0004031E, // 0012 ADD R1 R1 K30 + 0x7001FFEC, // 0013 JMP #0001 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: bytes_append_int +********************************************************************/ +be_local_closure(class_webserver_async_bytes_append_int, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(bytes_append_int), + &be_const_str_solidified, + ( &(const binstruction[53]) { /* code */ + 0x580C001A, // 0000 LDCONST R3 K26 + 0x6010000C, // 0001 GETGBL R4 G12 + 0x5C140000, // 0002 MOVE R5 R0 + 0x7C100200, // 0003 CALL R4 1 + 0x1C14031C, // 0004 EQ R5 R1 K28 + 0x78160005, // 0005 JMPF R5 #000C + 0x8C14011D, // 0006 GETMET R5 R0 K29 + 0x001C091E, // 0007 ADD R7 R4 K30 + 0x7C140400, // 0008 CALL R5 2 + 0x5416002F, // 0009 LDINT R5 48 + 0x98000805, // 000A SETIDX R0 R4 R5 + 0x70020027, // 000B JMP #0034 + 0x4C140000, // 000C LDNIL R5 + 0x20140205, // 000D NE R5 R1 R5 + 0x78160021, // 000E JMPF R5 #0031 + 0x50140000, // 000F LDBOOL R5 0 0 + 0x1418031C, // 0010 LT R6 R1 K28 + 0x781A0001, // 0011 JMPF R6 #0014 + 0x44040200, // 0012 NEG R1 R1 + 0x50140200, // 0013 LDBOOL R5 1 0 + 0x1418031C, // 0014 LT R6 R1 K28 + 0x781A0000, // 0015 JMPF R6 #0017 + 0x80040000, // 0016 RET 1 R0 + 0x78160005, // 0017 JMPF R5 #001E + 0x8C18011D, // 0018 GETMET R6 R0 K29 + 0x0020091E, // 0019 ADD R8 R4 K30 + 0x7C180400, // 001A CALL R6 2 + 0x541A002C, // 001B LDINT R6 45 + 0x98000806, // 001C SETIDX R0 R4 R6 + 0x0010091E, // 001D ADD R4 R4 K30 + 0x5C180800, // 001E MOVE R6 R4 + 0x241C031C, // 001F GT R7 R1 K28 + 0x781E000B, // 0020 JMPF R7 #002D + 0x541E0009, // 0021 LDINT R7 10 + 0x101C0207, // 0022 MOD R7 R1 R7 + 0x8C20011D, // 0023 GETMET R8 R0 K29 + 0x0028091E, // 0024 ADD R10 R4 K30 + 0x7C200400, // 0025 CALL R8 2 + 0x5422002F, // 0026 LDINT R8 48 + 0x00201007, // 0027 ADD R8 R8 R7 + 0x98000808, // 0028 SETIDX R0 R4 R8 + 0x0010091E, // 0029 ADD R4 R4 K30 + 0x54220009, // 002A LDINT R8 10 + 0x0C040208, // 002B DIV R1 R1 R8 + 0x7001FFF1, // 002C JMP #001F + 0x8C1C011F, // 002D GETMET R7 R0 K31 + 0x5C240C00, // 002E MOVE R9 R6 + 0x7C1C0400, // 002F CALL R7 2 + 0x70020002, // 0030 JMP #0034 + 0x8C140128, // 0031 GETMET R5 R0 K40 + 0x5C1C0400, // 0032 MOVE R7 R2 + 0x7C140400, // 0033 CALL R5 2 + 0x80040000, // 0034 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: on +********************************************************************/ +be_local_closure(class_webserver_async_on, /* name */ + be_nested_proto( + 11, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(on), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x8C140129, // 0000 GETMET R5 R0 K41 + 0x5C1C0200, // 0001 MOVE R7 R1 + 0x5C200400, // 0002 MOVE R8 R2 + 0x5C240600, // 0003 MOVE R9 R3 + 0x5C280800, // 0004 MOVE R10 R4 + 0x7C140A00, // 0005 CALL R5 5 + 0x88180120, // 0006 GETMBR R6 R0 K32 + 0x8C180D13, // 0007 GETMET R6 R6 K19 + 0x5C200A00, // 0008 MOVE R8 R5 + 0x7C180400, // 0009 CALL R6 2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dispatch +********************************************************************/ +be_local_closure(class_webserver_async_dispatch, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_webserver_async, /* shared constants */ + be_str_weak(dispatch), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x5810001C, // 0000 LDCONST R4 K28 + 0x6014000C, // 0001 GETGBL R5 G12 + 0x88180120, // 0002 GETMBR R6 R0 K32 + 0x7C140200, // 0003 CALL R5 1 + 0x14140805, // 0004 LT R5 R4 R5 + 0x7816000A, // 0005 JMPF R5 #0011 + 0x88140120, // 0006 GETMBR R5 R0 K32 + 0x94140A04, // 0007 GETIDX R5 R5 R4 + 0x8C140B2A, // 0008 GETMET R5 R5 K42 + 0x5C1C0200, // 0009 MOVE R7 R1 + 0x5C200400, // 000A MOVE R8 R2 + 0x5C240600, // 000B MOVE R9 R3 + 0x7C140800, // 000C CALL R5 4 + 0x78160000, // 000D JMPF R5 #000F + 0x80000A00, // 000E RET 0 + 0x0010091E, // 000F ADD R4 R4 K30 + 0x7001FFEF, // 0010 JMP #0001 + 0x8C14032B, // 0011 GETMET R5 R1 K43 + 0x541E01F3, // 0012 LDINT R7 500 + 0x5820002C, // 0013 LDCONST R8 K44 + 0x7C140600, // 0014 CALL R5 3 + 0x8C14032D, // 0015 GETMET R5 R1 K45 + 0x581C002E, // 0016 LDCONST R7 K46 + 0x7C140400, // 0017 CALL R5 2 + 0x8C14032F, // 0018 GETMET R5 R1 K47 + 0x7C140200, // 0019 CALL R5 1 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: webserver_async +********************************************************************/ +be_local_class(webserver_async, + 8, + NULL, + be_nested_map(21, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(local_port, -1), be_const_var(0) }, + { be_const_key_weak(dispatchers, 11), be_const_var(4) }, + { be_const_key_weak(set_chunked, 10), be_const_closure(class_webserver_async_set_chunked_closure) }, + { be_const_key_weak(webserver_async_cnx, 20), be_const_class(be_class_webserver_async_cnx) }, + { be_const_key_weak(webserver_async_dispatcher, -1), be_const_class(be_class_webserver_async_dispatcher) }, + { be_const_key_weak(compile_re, -1), be_const_closure(class_webserver_async_compile_re_closure) }, + { be_const_key_weak(dispatch, 7), be_const_closure(class_webserver_async_dispatch_closure) }, + { be_const_key_weak(cors, 16), be_const_var(6) }, + { be_const_key_weak(connections, -1), be_const_var(3) }, + { be_const_key_weak(set_cors, 1), be_const_closure(class_webserver_async_set_cors_closure) }, + { be_const_key_weak(on, -1), be_const_closure(class_webserver_async_on_closure) }, + { be_const_key_weak(bytes_append_int, 18), be_const_static_closure(class_webserver_async_bytes_append_int_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_webserver_async_init_closure) }, + { be_const_key_weak(p1, -1), be_const_var(7) }, + { be_const_key_weak(fastloop_cb, -1), be_const_var(2) }, + { be_const_key_weak(server, 6), be_const_var(1) }, + { be_const_key_weak(clean_connections, 17), be_const_closure(class_webserver_async_clean_connections_closure) }, + { be_const_key_weak(bytes_format_hex, -1), be_const_static_closure(class_webserver_async_bytes_format_hex_closure) }, + { be_const_key_weak(close, 19), be_const_closure(class_webserver_async_close_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_webserver_async_loop_closure) }, + { be_const_key_weak(chunked, -1), be_const_var(5) }, + })), + be_str_weak(webserver_async) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee.h new file mode 100644 index 000000000..8f504d019 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee.h @@ -0,0 +1,61 @@ +/* Solidification of zigbee.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_zb_device_tostring, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_nested_str_weak(json), + /* K1 */ be_nested_str_weak(longaddr), + /* K2 */ be_nested_str_weak(_X3Cinstance_X3A_X20_X25s_X280x_X2504X_X2C_X200x_X2508X_X2508X_X2C_X20name_X3A_X27_X25s_X27_X2C_X20model_X3A_X27_X25s_X27_X2C_X20manufacturer_X3A_X27_X25s_X27_X29_X3E), + /* K3 */ be_nested_str_weak(shortaddr), + /* K4 */ be_nested_str_weak(get), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(name), + /* K7 */ be_nested_str_weak(model), + /* K8 */ be_nested_str_weak(manufacturer), + }), + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x600C0018, // 0002 GETGBL R3 G24 + 0x58100002, // 0003 LDCONST R4 K2 + 0x60140005, // 0004 GETGBL R5 G5 + 0x5C180000, // 0005 MOVE R6 R0 + 0x7C140200, // 0006 CALL R5 1 + 0x88180103, // 0007 GETMBR R6 R0 K3 + 0x8C1C0504, // 0008 GETMET R7 R2 K4 + 0x54260003, // 0009 LDINT R9 4 + 0x542A0003, // 000A LDINT R10 4 + 0x7C1C0600, // 000B CALL R7 3 + 0x8C200504, // 000C GETMET R8 R2 K4 + 0x58280005, // 000D LDCONST R10 K5 + 0x542E0003, // 000E LDINT R11 4 + 0x7C200600, // 000F CALL R8 3 + 0x88240106, // 0010 GETMBR R9 R0 K6 + 0x88280107, // 0011 GETMBR R10 R0 K7 + 0x882C0108, // 0012 GETMBR R11 R0 K8 + 0x7C0C1000, // 0013 CALL R3 8 + 0x80040600, // 0014 RET 1 R3 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zb_coord.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zb_coord.h new file mode 100644 index 000000000..95dbf423b --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zb_coord.h @@ -0,0 +1,259 @@ +/* Solidification of zigbee_zb_coord.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'zb_coord' ktab size: 21, total: 24 (saved 24 bytes) +static const bvalue be_ktab_class_zb_coord[21] = { + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(instance), + /* K2 */ be_nested_str_weak(value_error), + /* K3 */ be_nested_str_weak(instance_X20required), + /* K4 */ be_nested_str_weak(_handlers), + /* K5 */ be_nested_str_weak(find), + /* K6 */ be_nested_str_weak(push), + /* K7 */ be_nested_str_weak(introspect), + /* K8 */ be_nested_str_weak(toptr), + /* K9 */ be_const_int(0), + /* K10 */ be_nested_str_weak(zcl_frame), + /* K11 */ be_nested_str_weak(zcl_attribute_list), + /* K12 */ be_nested_str_weak(get), + /* K13 */ be_nested_str_weak(function), + /* K14 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K15 */ be_nested_str_weak(tasmota), + /* K16 */ be_nested_str_weak(_debug_present), + /* K17 */ be_nested_str_weak(debug), + /* K18 */ be_nested_str_weak(traceback), + /* K19 */ be_const_int(1), + /* K20 */ be_nested_str_weak(remove), +}; + + +extern const bclass be_class_zb_coord; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_zb_coord_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zb_coord, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_handler +********************************************************************/ +be_local_closure(class_zb_coord_add_handler, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zb_coord, /* shared constants */ + be_str_weak(add_handler), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x20080501, // 0003 NE R2 R2 K1 + 0x780A0000, // 0004 JMPF R2 #0006 + 0xB0060503, // 0005 RAISE 1 K2 K3 + 0x88080104, // 0006 GETMBR R2 R0 K4 + 0x780A000B, // 0007 JMPF R2 #0014 + 0x88080104, // 0008 GETMBR R2 R0 K4 + 0x8C080505, // 0009 GETMET R2 R2 K5 + 0x5C100200, // 000A MOVE R4 R1 + 0x7C080400, // 000B CALL R2 2 + 0x4C0C0000, // 000C LDNIL R3 + 0x1C080403, // 000D EQ R2 R2 R3 + 0x780A0003, // 000E JMPF R2 #0013 + 0x88080104, // 000F GETMBR R2 R0 K4 + 0x8C080506, // 0010 GETMET R2 R2 K6 + 0x5C100200, // 0011 MOVE R4 R1 + 0x7C080400, // 0012 CALL R2 2 + 0x70020003, // 0013 JMP #0018 + 0x60080012, // 0014 GETGBL R2 G18 + 0x7C080000, // 0015 CALL R2 0 + 0x400C0401, // 0016 CONNECT R3 R2 R1 + 0x90020802, // 0017 SETMBR R0 K4 R2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: dispatch +********************************************************************/ +be_local_closure(class_zb_coord_dispatch, /* name */ + be_nested_proto( + 19, /* nstack */ + 5, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zb_coord, /* shared constants */ + be_str_weak(dispatch), + &be_const_str_solidified, + ( &(const binstruction[70]) { /* code */ + 0x88140104, // 0000 GETMBR R5 R0 K4 + 0x4C180000, // 0001 LDNIL R6 + 0x1C140A06, // 0002 EQ R5 R5 R6 + 0x78160000, // 0003 JMPF R5 #0005 + 0x80000A00, // 0004 RET 0 + 0xA4160E00, // 0005 IMPORT R5 K7 + 0x4C180000, // 0006 LDNIL R6 + 0x4C1C0000, // 0007 LDNIL R7 + 0x8C200B08, // 0008 GETMET R8 R5 K8 + 0x58280009, // 0009 LDCONST R10 K9 + 0x7C200400, // 000A CALL R8 2 + 0x20240408, // 000B NE R9 R2 R8 + 0x78260003, // 000C JMPF R9 #0011 + 0x8C24010A, // 000D GETMET R9 R0 K10 + 0x5C2C0400, // 000E MOVE R11 R2 + 0x7C240400, // 000F CALL R9 2 + 0x5C181200, // 0010 MOVE R6 R9 + 0x20240608, // 0011 NE R9 R3 R8 + 0x78260003, // 0012 JMPF R9 #0017 + 0x8C24010B, // 0013 GETMET R9 R0 K11 + 0x5C2C0600, // 0014 MOVE R11 R3 + 0x7C240400, // 0015 CALL R9 2 + 0x5C1C1200, // 0016 MOVE R7 R9 + 0x58240009, // 0017 LDCONST R9 K9 + 0x6028000C, // 0018 GETGBL R10 G12 + 0x882C0104, // 0019 GETMBR R11 R0 K4 + 0x7C280200, // 001A CALL R10 1 + 0x1428120A, // 001B LT R10 R9 R10 + 0x782A0027, // 001C JMPF R10 #0045 + 0x88280104, // 001D GETMBR R10 R0 K4 + 0x94281409, // 001E GETIDX R10 R10 R9 + 0x8C2C0B0C, // 001F GETMET R11 R5 K12 + 0x5C341400, // 0020 MOVE R13 R10 + 0x5C380200, // 0021 MOVE R14 R1 + 0x7C2C0600, // 0022 CALL R11 3 + 0x60300004, // 0023 GETGBL R12 G4 + 0x5C341600, // 0024 MOVE R13 R11 + 0x7C300200, // 0025 CALL R12 1 + 0x1C30190D, // 0026 EQ R12 R12 K13 + 0x7832001A, // 0027 JMPF R12 #0043 + 0xA8020008, // 0028 EXBLK 0 #0032 + 0x5C301600, // 0029 MOVE R12 R11 + 0x5C341400, // 002A MOVE R13 R10 + 0x5C380200, // 002B MOVE R14 R1 + 0x5C3C0C00, // 002C MOVE R15 R6 + 0x5C400E00, // 002D MOVE R16 R7 + 0x5C440800, // 002E MOVE R17 R4 + 0x7C300A00, // 002F CALL R12 5 + 0xA8040001, // 0030 EXBLK 1 1 + 0x70020010, // 0031 JMP #0043 + 0xAC300002, // 0032 CATCH R12 0 2 + 0x7002000D, // 0033 JMP #0042 + 0x60380001, // 0034 GETGBL R14 G1 + 0x603C0018, // 0035 GETGBL R15 G24 + 0x5840000E, // 0036 LDCONST R16 K14 + 0x5C441800, // 0037 MOVE R17 R12 + 0x5C481A00, // 0038 MOVE R18 R13 + 0x7C3C0600, // 0039 CALL R15 3 + 0x7C380200, // 003A CALL R14 1 + 0xB83A1E00, // 003B GETNGBL R14 K15 + 0x88381D10, // 003C GETMBR R14 R14 K16 + 0x783A0002, // 003D JMPF R14 #0041 + 0xA43A2200, // 003E IMPORT R14 K17 + 0x8C3C1D12, // 003F GETMET R15 R14 K18 + 0x7C3C0200, // 0040 CALL R15 1 + 0x70020000, // 0041 JMP #0043 + 0xB0080000, // 0042 RAISE 2 R0 R0 + 0x00241313, // 0043 ADD R9 R9 K19 + 0x7001FFD2, // 0044 JMP #0018 + 0x80000000, // 0045 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_handler +********************************************************************/ +be_local_closure(class_zb_coord_remove_handler, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zb_coord, /* shared constants */ + be_str_weak(remove_handler), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88080104, // 0000 GETMBR R2 R0 K4 + 0x780A000A, // 0001 JMPF R2 #000D + 0x88080104, // 0002 GETMBR R2 R0 K4 + 0x8C080505, // 0003 GETMET R2 R2 K5 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C0C0000, // 0006 LDNIL R3 + 0x200C0403, // 0007 NE R3 R2 R3 + 0x780E0003, // 0008 JMPF R3 #000D + 0x880C0104, // 0009 GETMBR R3 R0 K4 + 0x8C0C0714, // 000A GETMET R3 R3 K20 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: zb_coord +********************************************************************/ +extern const bclass be_class_zb_coord_ntv; +be_local_class(zb_coord, + 1, + &be_class_zb_coord_ntv, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_zb_coord_init_closure) }, + { be_const_key_weak(remove_handler, 2), be_const_closure(class_zb_coord_remove_handler_closure) }, + { be_const_key_weak(add_handler, -1), be_const_closure(class_zb_coord_add_handler_closure) }, + { be_const_key_weak(dispatch, -1), be_const_closure(class_zb_coord_dispatch_closure) }, + { be_const_key_weak(_handlers, 1), be_const_var(0) }, + })), + be_str_weak(zb_coord) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_attribute.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_attribute.h new file mode 100644 index 000000000..841ad2c36 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_attribute.h @@ -0,0 +1,859 @@ +/* Solidification of zigbee_zcl_attribute.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'zcl_attribute' ktab size: 43, total: 70 (saved 216 bytes) +static const bvalue be_ktab_class_zcl_attribute[43] = { + /* K0 */ be_nested_str_weak(tomap), + /* K1 */ be_nested_str_weak(cluster), + /* K2 */ be_nested_str_weak(attr_id), + /* K3 */ be_nested_str_weak(cmd), + /* K4 */ be_nested_str_weak(direction), + /* K5 */ be_nested_str_weak(key), + /* K6 */ be_nested_str_weak(val), + /* K7 */ be_nested_str_weak(_X3Cundefined_X3E), + /* K8 */ be_nested_str_weak(key_suffix), + /* K9 */ be_const_int(1), + /* K10 */ be_nested_str_weak(_X2504X_X2F_X2504X), + /* K11 */ be_nested_str_weak(_X2B), + /* K12 */ be_nested_str_weak(_X2504X_X25s_X2502X), + /* K13 */ be_nested_str_weak(_X3F), + /* K14 */ be_nested_str_weak(_X21), + /* K15 */ be_nested_str_weak(_cluster), + /* K16 */ be_nested_str_weak(_attr_id), + /* K17 */ be_nested_str_weak(_iscmd), + /* K18 */ be_const_int(0), + /* K19 */ be_nested_str_weak(_cmd), + /* K20 */ be_nested_str_weak(_direction), + /* K21 */ be_nested_str_weak(_set_val), + /* K22 */ be_nested_str_weak(_set_key), + /* K23 */ be_nested_str_weak(setmember), + /* K24 */ be_nested_str_weak(introspect), + /* K25 */ be_nested_str_weak(json), + /* K26 */ be_nested_str_weak(dump), + /* K27 */ be_nested_str_weak(key_tostring), + /* K28 */ be_nested_str_weak(_X3A), + /* K29 */ be_nested_str_weak(get), + /* K30 */ be_nested_str_weak(tojson), + /* K31 */ be_nested_str_weak(_X28_X25s_X29), + /* K32 */ be_nested_str_weak(_X2C_X25s_X3A_X22_X2504X_X2F_X2504X_X22), + /* K33 */ be_nested_str_weak(init), + /* K34 */ be_nested_str_weak(_init), + /* K35 */ be_nested_str_weak(ismapped), + /* K36 */ be_nested_str_weak(_deinit), + /* K37 */ be_nested_str_weak(cmd_general), + /* K38 */ be_nested_str_weak(_cmd_general), + /* K39 */ be_nested_str_weak(_get_val), + /* K40 */ be_nested_str_weak(tohex), + /* K41 */ be_nested_str_weak(_get_key), + /* K42 */ be_nested_str_weak(member), +}; + + +extern const bclass be_class_zcl_attribute; + +/******************************************************************** +** Solidified function: tomap +********************************************************************/ +be_local_closure(class_zcl_attribute_tomap, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(tomap), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x88080101, // 0005 GETMBR R2 R0 K1 + 0x98060202, // 0006 SETIDX R1 K1 R2 + 0x88080102, // 0007 GETMBR R2 R0 K2 + 0x98060402, // 0008 SETIDX R1 K2 R2 + 0x88080103, // 0009 GETMBR R2 R0 K3 + 0x98060602, // 000A SETIDX R1 K3 R2 + 0x88080104, // 000B GETMBR R2 R0 K4 + 0x98060802, // 000C SETIDX R1 K4 R2 + 0x88080105, // 000D GETMBR R2 R0 K5 + 0x98060A02, // 000E SETIDX R1 K5 R2 + 0x88080106, // 000F GETMBR R2 R0 K6 + 0x98060C02, // 0010 SETIDX R1 K6 R2 + 0x80040200, // 0011 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: key_tostring +********************************************************************/ +be_local_closure(class_zcl_attribute_key_tostring, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(key_tostring), + &be_const_str_solidified, + ( &(const binstruction[69]) { /* code */ + 0x58040007, // 0000 LDCONST R1 K7 + 0x88080105, // 0001 GETMBR R2 R0 K5 + 0x4C0C0000, // 0002 LDNIL R3 + 0x200C0403, // 0003 NE R3 R2 R3 + 0x780E0008, // 0004 JMPF R3 #000E + 0x5C040400, // 0005 MOVE R1 R2 + 0x880C0108, // 0006 GETMBR R3 R0 K8 + 0x240C0709, // 0007 GT R3 R3 K9 + 0x780E0003, // 0008 JMPF R3 #000D + 0x600C0008, // 0009 GETGBL R3 G8 + 0x88100108, // 000A GETMBR R4 R0 K8 + 0x7C0C0200, // 000B CALL R3 1 + 0x00040203, // 000C ADD R1 R1 R3 + 0x70020035, // 000D JMP #0044 + 0x880C0101, // 000E GETMBR R3 R0 K1 + 0x4C100000, // 000F LDNIL R4 + 0x200C0604, // 0010 NE R3 R3 R4 + 0x780E0012, // 0011 JMPF R3 #0025 + 0x880C0102, // 0012 GETMBR R3 R0 K2 + 0x4C100000, // 0013 LDNIL R4 + 0x200C0604, // 0014 NE R3 R3 R4 + 0x780E000E, // 0015 JMPF R3 #0025 + 0x600C0018, // 0016 GETGBL R3 G24 + 0x5810000A, // 0017 LDCONST R4 K10 + 0x88140101, // 0018 GETMBR R5 R0 K1 + 0x88180102, // 0019 GETMBR R6 R0 K2 + 0x7C0C0600, // 001A CALL R3 3 + 0x5C040600, // 001B MOVE R1 R3 + 0x880C0108, // 001C GETMBR R3 R0 K8 + 0x240C0709, // 001D GT R3 R3 K9 + 0x780E0004, // 001E JMPF R3 #0024 + 0x600C0008, // 001F GETGBL R3 G8 + 0x88100108, // 0020 GETMBR R4 R0 K8 + 0x7C0C0200, // 0021 CALL R3 1 + 0x000E1603, // 0022 ADD R3 K11 R3 + 0x00040203, // 0023 ADD R1 R1 R3 + 0x7002001E, // 0024 JMP #0044 + 0x880C0101, // 0025 GETMBR R3 R0 K1 + 0x4C100000, // 0026 LDNIL R4 + 0x200C0604, // 0027 NE R3 R3 R4 + 0x780E001A, // 0028 JMPF R3 #0044 + 0x880C0103, // 0029 GETMBR R3 R0 K3 + 0x4C100000, // 002A LDNIL R4 + 0x200C0604, // 002B NE R3 R3 R4 + 0x780E0016, // 002C JMPF R3 #0044 + 0x880C0104, // 002D GETMBR R3 R0 K4 + 0x4C100000, // 002E LDNIL R4 + 0x200C0604, // 002F NE R3 R3 R4 + 0x780E0012, // 0030 JMPF R3 #0044 + 0x600C0018, // 0031 GETGBL R3 G24 + 0x5810000C, // 0032 LDCONST R4 K12 + 0x88140101, // 0033 GETMBR R5 R0 K1 + 0x88180104, // 0034 GETMBR R6 R0 K4 + 0x781A0001, // 0035 JMPF R6 #0038 + 0x5818000D, // 0036 LDCONST R6 K13 + 0x70020000, // 0037 JMP #0039 + 0x5818000E, // 0038 LDCONST R6 K14 + 0x881C0103, // 0039 GETMBR R7 R0 K3 + 0x7C0C0800, // 003A CALL R3 4 + 0x5C040600, // 003B MOVE R1 R3 + 0x880C0108, // 003C GETMBR R3 R0 K8 + 0x240C0709, // 003D GT R3 R3 K9 + 0x780E0004, // 003E JMPF R3 #0044 + 0x600C0008, // 003F GETGBL R3 G8 + 0x88100108, // 0040 GETMBR R4 R0 K8 + 0x7C0C0200, // 0041 CALL R3 1 + 0x000E1603, // 0042 ADD R3 K11 R3 + 0x00040203, // 0043 ADD R1 R1 R3 + 0x80040200, // 0044 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_zcl_attribute_setmember, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[66]) { /* code */ + 0x1C0C0301, // 0000 EQ R3 R1 K1 + 0x780E0007, // 0001 JMPF R3 #000A + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C0C0403, // 0003 EQ R3 R2 R3 + 0x780E0002, // 0004 JMPF R3 #0008 + 0x540EFFFE, // 0005 LDINT R3 65535 + 0x90021E03, // 0006 SETMBR R0 K15 R3 + 0x70020000, // 0007 JMP #0009 + 0x90021E02, // 0008 SETMBR R0 K15 R2 + 0x70020036, // 0009 JMP #0041 + 0x1C0C0302, // 000A EQ R3 R1 K2 + 0x780E0008, // 000B JMPF R3 #0015 + 0x4C0C0000, // 000C LDNIL R3 + 0x1C0C0403, // 000D EQ R3 R2 R3 + 0x780E0002, // 000E JMPF R3 #0012 + 0x540EFFFE, // 000F LDINT R3 65535 + 0x90022003, // 0010 SETMBR R0 K16 R3 + 0x70020001, // 0011 JMP #0014 + 0x90022002, // 0012 SETMBR R0 K16 R2 + 0x90022312, // 0013 SETMBR R0 K17 K18 + 0x7002002B, // 0014 JMP #0041 + 0x1C0C0303, // 0015 EQ R3 R1 K3 + 0x780E0008, // 0016 JMPF R3 #0020 + 0x4C0C0000, // 0017 LDNIL R3 + 0x1C0C0403, // 0018 EQ R3 R2 R3 + 0x780E0002, // 0019 JMPF R3 #001D + 0x540E00FE, // 001A LDINT R3 255 + 0x90022603, // 001B SETMBR R0 K19 R3 + 0x70020001, // 001C JMP #001F + 0x90022602, // 001D SETMBR R0 K19 R2 + 0x90022309, // 001E SETMBR R0 K17 K9 + 0x70020020, // 001F JMP #0041 + 0x1C0C0304, // 0020 EQ R3 R1 K4 + 0x780E000B, // 0021 JMPF R3 #002E + 0x4C0C0000, // 0022 LDNIL R3 + 0x1C0C0403, // 0023 EQ R3 R2 R3 + 0x780E0001, // 0024 JMPF R3 #0027 + 0x90022912, // 0025 SETMBR R0 K20 K18 + 0x70020005, // 0026 JMP #002D + 0x780A0001, // 0027 JMPF R2 #002A + 0x580C0009, // 0028 LDCONST R3 K9 + 0x70020000, // 0029 JMP #002B + 0x580C0012, // 002A LDCONST R3 K18 + 0x90022803, // 002B SETMBR R0 K20 R3 + 0x90022309, // 002C SETMBR R0 K17 K9 + 0x70020012, // 002D JMP #0041 + 0x1C0C0306, // 002E EQ R3 R1 K6 + 0x780E0003, // 002F JMPF R3 #0034 + 0x8C0C0115, // 0030 GETMET R3 R0 K21 + 0x5C140400, // 0031 MOVE R5 R2 + 0x7C0C0400, // 0032 CALL R3 2 + 0x7002000C, // 0033 JMP #0041 + 0x1C0C0305, // 0034 EQ R3 R1 K5 + 0x780E0003, // 0035 JMPF R3 #003A + 0x8C0C0116, // 0036 GETMET R3 R0 K22 + 0x5C140400, // 0037 MOVE R5 R2 + 0x7C0C0400, // 0038 CALL R3 2 + 0x70020006, // 0039 JMP #0041 + 0x600C0003, // 003A GETGBL R3 G3 + 0x5C100000, // 003B MOVE R4 R0 + 0x7C0C0200, // 003C CALL R3 1 + 0x8C0C0717, // 003D GETMET R3 R3 K23 + 0x5C140200, // 003E MOVE R5 R1 + 0x5C180400, // 003F MOVE R6 R2 + 0x7C0C0600, // 0040 CALL R3 3 + 0x80000000, // 0041 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_zcl_attribute_tostring, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[50]) { /* code */ + 0xA4063000, // 0000 IMPORT R1 K24 + 0xA40A3200, // 0001 IMPORT R2 K25 + 0x8C0C051A, // 0002 GETMET R3 R2 K26 + 0x8C14011B, // 0003 GETMET R5 R0 K27 + 0x7C140200, // 0004 CALL R5 1 + 0x7C0C0400, // 0005 CALL R3 2 + 0x000C071C, // 0006 ADD R3 R3 K28 + 0x8C10031D, // 0007 GETMET R4 R1 K29 + 0x88180106, // 0008 GETMBR R6 R0 K6 + 0x581C001E, // 0009 LDCONST R7 K30 + 0x7C100600, // 000A CALL R4 3 + 0x4C140000, // 000B LDNIL R5 + 0x20100805, // 000C NE R4 R4 R5 + 0x78120004, // 000D JMPF R4 #0013 + 0x88100106, // 000E GETMBR R4 R0 K6 + 0x8C10091E, // 000F GETMET R4 R4 K30 + 0x7C100200, // 0010 CALL R4 1 + 0x000C0604, // 0011 ADD R3 R3 R4 + 0x70020003, // 0012 JMP #0017 + 0x8C10051A, // 0013 GETMET R4 R2 K26 + 0x88180106, // 0014 GETMBR R6 R0 K6 + 0x7C100400, // 0015 CALL R4 2 + 0x000C0604, // 0016 ADD R3 R3 R4 + 0x88100101, // 0017 GETMBR R4 R0 K1 + 0x4C140000, // 0018 LDNIL R5 + 0x20100805, // 0019 NE R4 R4 R5 + 0x78120015, // 001A JMPF R4 #0031 + 0x88100102, // 001B GETMBR R4 R0 K2 + 0x4C140000, // 001C LDNIL R5 + 0x20100805, // 001D NE R4 R4 R5 + 0x78120011, // 001E JMPF R4 #0031 + 0x88100105, // 001F GETMBR R4 R0 K5 + 0x4C140000, // 0020 LDNIL R5 + 0x20100805, // 0021 NE R4 R4 R5 + 0x7812000D, // 0022 JMPF R4 #0031 + 0x60100018, // 0023 GETGBL R4 G24 + 0x5814001F, // 0024 LDCONST R5 K31 + 0x8C18011B, // 0025 GETMET R6 R0 K27 + 0x7C180200, // 0026 CALL R6 1 + 0x7C100400, // 0027 CALL R4 2 + 0x60140018, // 0028 GETGBL R5 G24 + 0x58180020, // 0029 LDCONST R6 K32 + 0x8C1C051A, // 002A GETMET R7 R2 K26 + 0x5C240800, // 002B MOVE R9 R4 + 0x7C1C0400, // 002C CALL R7 2 + 0x88200101, // 002D GETMBR R8 R0 K1 + 0x88240102, // 002E GETMBR R9 R0 K2 + 0x7C140800, // 002F CALL R5 4 + 0x000C0605, // 0030 ADD R3 R3 R5 + 0x80040600, // 0031 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_zcl_attribute_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080521, // 0003 GETMET R2 R2 K33 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C080000, // 0006 LDNIL R2 + 0x1C080202, // 0007 EQ R2 R1 R2 + 0x780A0001, // 0008 JMPF R2 #000B + 0x8C080122, // 0009 GETMET R2 R0 K34 + 0x7C080200, // 000A CALL R2 1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: deinit +********************************************************************/ +be_local_closure(class_zcl_attribute_deinit, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(deinit), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040123, // 0000 GETMET R1 R0 K35 + 0x7C040200, // 0001 CALL R1 1 + 0x74060001, // 0002 JMPT R1 #0005 + 0x8C040124, // 0003 GETMET R1 R0 K36 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_zcl_attribute_member, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[75]) { /* code */ + 0x1C080301, // 0000 EQ R2 R1 K1 + 0x780A0008, // 0001 JMPF R2 #000B + 0x8808010F, // 0002 GETMBR R2 R0 K15 + 0x540EFFFE, // 0003 LDINT R3 65535 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0001, // 0005 JMPF R3 #0008 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x70020000, // 0007 JMP #0009 + 0x4C0C0000, // 0008 LDNIL R3 + 0x80040600, // 0009 RET 1 R3 + 0x7002003E, // 000A JMP #004A + 0x1C080302, // 000B EQ R2 R1 K2 + 0x780A000A, // 000C JMPF R2 #0018 + 0x88080110, // 000D GETMBR R2 R0 K16 + 0x540EFFFE, // 000E LDINT R3 65535 + 0x200C0403, // 000F NE R3 R2 R3 + 0x780E0003, // 0010 JMPF R3 #0015 + 0x880C0111, // 0011 GETMBR R3 R0 K17 + 0x740E0001, // 0012 JMPT R3 #0015 + 0x5C0C0400, // 0013 MOVE R3 R2 + 0x70020000, // 0014 JMP #0016 + 0x4C0C0000, // 0015 LDNIL R3 + 0x80040600, // 0016 RET 1 R3 + 0x70020031, // 0017 JMP #004A + 0x1C080303, // 0018 EQ R2 R1 K3 + 0x780A000A, // 0019 JMPF R2 #0025 + 0x88080113, // 001A GETMBR R2 R0 K19 + 0x540E00FE, // 001B LDINT R3 255 + 0x200C0403, // 001C NE R3 R2 R3 + 0x780E0003, // 001D JMPF R3 #0022 + 0x880C0111, // 001E GETMBR R3 R0 K17 + 0x780E0001, // 001F JMPF R3 #0022 + 0x5C0C0400, // 0020 MOVE R3 R2 + 0x70020000, // 0021 JMP #0023 + 0x4C0C0000, // 0022 LDNIL R3 + 0x80040600, // 0023 RET 1 R3 + 0x70020024, // 0024 JMP #004A + 0x1C080304, // 0025 EQ R2 R1 K4 + 0x780A0002, // 0026 JMPF R2 #002A + 0x88080114, // 0027 GETMBR R2 R0 K20 + 0x80040400, // 0028 RET 1 R2 + 0x7002001F, // 0029 JMP #004A + 0x1C080325, // 002A EQ R2 R1 K37 + 0x780A0002, // 002B JMPF R2 #002F + 0x88080126, // 002C GETMBR R2 R0 K38 + 0x80040400, // 002D RET 1 R2 + 0x7002001A, // 002E JMP #004A + 0x1C080306, // 002F EQ R2 R1 K6 + 0x780A000B, // 0030 JMPF R2 #003D + 0x8C080127, // 0031 GETMET R2 R0 K39 + 0x7C080200, // 0032 CALL R2 1 + 0x600C000F, // 0033 GETGBL R3 G15 + 0x5C100400, // 0034 MOVE R4 R2 + 0x60140015, // 0035 GETGBL R5 G21 + 0x7C0C0400, // 0036 CALL R3 2 + 0x780E0002, // 0037 JMPF R3 #003B + 0x8C0C0528, // 0038 GETMET R3 R2 K40 + 0x7C0C0200, // 0039 CALL R3 1 + 0x5C080600, // 003A MOVE R2 R3 + 0x80040400, // 003B RET 1 R2 + 0x7002000C, // 003C JMP #004A + 0x1C080305, // 003D EQ R2 R1 K5 + 0x780A0003, // 003E JMPF R2 #0043 + 0x8C080129, // 003F GETMET R2 R0 K41 + 0x7C080200, // 0040 CALL R2 1 + 0x80040400, // 0041 RET 1 R2 + 0x70020006, // 0042 JMP #004A + 0x60080003, // 0043 GETGBL R2 G3 + 0x5C0C0000, // 0044 MOVE R3 R0 + 0x7C080200, // 0045 CALL R2 1 + 0x8C08052A, // 0046 GETMET R2 R2 K42 + 0x5C100200, // 0047 MOVE R4 R1 + 0x7C080400, // 0048 CALL R2 2 + 0x80040400, // 0049 RET 1 R2 + 0x80000000, // 004A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: zcl_attribute +********************************************************************/ +extern const bclass be_class_zcl_attribute_ntv; +be_local_class(zcl_attribute, + 0, + &be_class_zcl_attribute_ntv, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(tomap, -1), be_const_closure(class_zcl_attribute_tomap_closure) }, + { be_const_key_weak(key_tostring, -1), be_const_closure(class_zcl_attribute_key_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_init_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_zcl_attribute_tostring_closure) }, + { be_const_key_weak(deinit, 2), be_const_closure(class_zcl_attribute_deinit_closure) }, + { be_const_key_weak(setmember, 4), be_const_closure(class_zcl_attribute_setmember_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_zcl_attribute_member_closure) }, + })), + be_str_weak(zcl_attribute) +); +// compact class 'zcl_attribute_list' ktab size: 27, total: 36 (saved 72 bytes) +static const bvalue be_ktab_class_zcl_attribute_list[27] = { + /* K0 */ be_nested_str_weak(groupaddr), + /* K1 */ be_nested_str_weak(_groupaddr), + /* K2 */ be_nested_str_weak(src_ep), + /* K3 */ be_nested_str_weak(_src_ep), + /* K4 */ be_nested_str_weak(lqi), + /* K5 */ be_nested_str_weak(_lqi), + /* K6 */ be_nested_str_weak(member), + /* K7 */ be_nested_str_weak(setmember), + /* K8 */ be_nested_str_weak(init), + /* K9 */ be_nested_str_weak(_init), + /* K10 */ be_nested_str_weak(ismapped), + /* K11 */ be_nested_str_weak(_deinit), + /* K12 */ be_nested_str_weak(json), + /* K13 */ be_nested_str_weak(shortaddr), + /* K14 */ be_nested_str_weak(push), + /* K15 */ be_nested_str_weak(_X22Device_X22_X3A_X220x_X2504X_X22), + /* K16 */ be_nested_str_weak(_X22Group_X22_X3A_X220x_X2504X_X22), + /* K17 */ be_const_int(0), + /* K18 */ be_nested_str_weak(size), + /* K19 */ be_nested_str_weak(tostring), + /* K20 */ be_const_int(1), + /* K21 */ be_nested_str_weak(_X22Endpoint_X22_X3A_X25s), + /* K22 */ be_nested_str_weak(_X22LinkQuality_X22_X3A_X25s), + /* K23 */ be_nested_str_weak(_X7B), + /* K24 */ be_nested_str_weak(concat), + /* K25 */ be_nested_str_weak(_X2C), + /* K26 */ be_nested_str_weak(_X7D), +}; + + +extern const bclass be_class_zcl_attribute_list; + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_zcl_attribute_list_member, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute_list, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x1C080300, // 0000 EQ R2 R1 K0 + 0x780A0008, // 0001 JMPF R2 #000B + 0x88080101, // 0002 GETMBR R2 R0 K1 + 0x540EFFFE, // 0003 LDINT R3 65535 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0001, // 0005 JMPF R3 #0008 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x70020000, // 0007 JMP #0009 + 0x4C0C0000, // 0008 LDNIL R3 + 0x80040600, // 0009 RET 1 R3 + 0x7002001C, // 000A JMP #0028 + 0x1C080302, // 000B EQ R2 R1 K2 + 0x780A0008, // 000C JMPF R2 #0016 + 0x88080103, // 000D GETMBR R2 R0 K3 + 0x540E00FE, // 000E LDINT R3 255 + 0x200C0403, // 000F NE R3 R2 R3 + 0x780E0001, // 0010 JMPF R3 #0013 + 0x5C0C0400, // 0011 MOVE R3 R2 + 0x70020000, // 0012 JMP #0014 + 0x4C0C0000, // 0013 LDNIL R3 + 0x80040600, // 0014 RET 1 R3 + 0x70020011, // 0015 JMP #0028 + 0x1C080304, // 0016 EQ R2 R1 K4 + 0x780A0008, // 0017 JMPF R2 #0021 + 0x88080105, // 0018 GETMBR R2 R0 K5 + 0x540E00FE, // 0019 LDINT R3 255 + 0x200C0403, // 001A NE R3 R2 R3 + 0x780E0001, // 001B JMPF R3 #001E + 0x5C0C0400, // 001C MOVE R3 R2 + 0x70020000, // 001D JMP #001F + 0x4C0C0000, // 001E LDNIL R3 + 0x80040600, // 001F RET 1 R3 + 0x70020006, // 0020 JMP #0028 + 0x60080003, // 0021 GETGBL R2 G3 + 0x5C0C0000, // 0022 MOVE R3 R0 + 0x7C080200, // 0023 CALL R2 1 + 0x8C080506, // 0024 GETMET R2 R2 K6 + 0x5C100200, // 0025 MOVE R4 R1 + 0x7C080400, // 0026 CALL R2 2 + 0x80040400, // 0027 RET 1 R2 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_zcl_attribute_list_setmember, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute_list, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[38]) { /* code */ + 0x1C0C0300, // 0000 EQ R3 R1 K0 + 0x780E0007, // 0001 JMPF R3 #000A + 0x4C0C0000, // 0002 LDNIL R3 + 0x200C0403, // 0003 NE R3 R2 R3 + 0x780E0001, // 0004 JMPF R3 #0007 + 0x5C0C0400, // 0005 MOVE R3 R2 + 0x70020000, // 0006 JMP #0008 + 0x540EFFFE, // 0007 LDINT R3 65535 + 0x90020203, // 0008 SETMBR R0 K1 R3 + 0x7002001A, // 0009 JMP #0025 + 0x1C0C0302, // 000A EQ R3 R1 K2 + 0x780E0007, // 000B JMPF R3 #0014 + 0x4C0C0000, // 000C LDNIL R3 + 0x200C0403, // 000D NE R3 R2 R3 + 0x780E0001, // 000E JMPF R3 #0011 + 0x5C0C0400, // 000F MOVE R3 R2 + 0x70020000, // 0010 JMP #0012 + 0x540E00FE, // 0011 LDINT R3 255 + 0x90020603, // 0012 SETMBR R0 K3 R3 + 0x70020010, // 0013 JMP #0025 + 0x1C0C0304, // 0014 EQ R3 R1 K4 + 0x780E0007, // 0015 JMPF R3 #001E + 0x4C0C0000, // 0016 LDNIL R3 + 0x200C0403, // 0017 NE R3 R2 R3 + 0x780E0001, // 0018 JMPF R3 #001B + 0x5C0C0400, // 0019 MOVE R3 R2 + 0x70020000, // 001A JMP #001C + 0x540E00FE, // 001B LDINT R3 255 + 0x90020A03, // 001C SETMBR R0 K5 R3 + 0x70020006, // 001D JMP #0025 + 0x600C0003, // 001E GETGBL R3 G3 + 0x5C100000, // 001F MOVE R4 R0 + 0x7C0C0200, // 0020 CALL R3 1 + 0x8C0C0707, // 0021 GETMET R3 R3 K7 + 0x5C140200, // 0022 MOVE R5 R1 + 0x5C180400, // 0023 MOVE R6 R2 + 0x7C0C0600, // 0024 CALL R3 3 + 0x80000000, // 0025 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_zcl_attribute_list_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute_list, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080508, // 0003 GETMET R2 R2 K8 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C080000, // 0006 LDNIL R2 + 0x1C080202, // 0007 EQ R2 R1 R2 + 0x780A0001, // 0008 JMPF R2 #000B + 0x8C080109, // 0009 GETMET R2 R0 K9 + 0x7C080200, // 000A CALL R2 1 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: deinit +********************************************************************/ +be_local_closure(class_zcl_attribute_list_deinit, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute_list, /* shared constants */ + be_str_weak(deinit), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C04010A, // 0000 GETMET R1 R0 K10 + 0x7C040200, // 0001 CALL R1 1 + 0x74060001, // 0002 JMPT R1 #0005 + 0x8C04010B, // 0003 GETMET R1 R0 K11 + 0x7C040200, // 0004 CALL R1 1 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_zcl_attribute_list_tostring, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_attribute_list, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[62]) { /* code */ + 0xA4061800, // 0000 IMPORT R1 K12 + 0x60080012, // 0001 GETGBL R2 G18 + 0x7C080000, // 0002 CALL R2 0 + 0x4C0C0000, // 0003 LDNIL R3 + 0x880C010D, // 0004 GETMBR R3 R0 K13 + 0x4C100000, // 0005 LDNIL R4 + 0x20100604, // 0006 NE R4 R3 R4 + 0x78120005, // 0007 JMPF R4 #000E + 0x8C10050E, // 0008 GETMET R4 R2 K14 + 0x60180018, // 0009 GETGBL R6 G24 + 0x581C000F, // 000A LDCONST R7 K15 + 0x5C200600, // 000B MOVE R8 R3 + 0x7C180400, // 000C CALL R6 2 + 0x7C100400, // 000D CALL R4 2 + 0x880C0100, // 000E GETMBR R3 R0 K0 + 0x4C100000, // 000F LDNIL R4 + 0x20100604, // 0010 NE R4 R3 R4 + 0x78120005, // 0011 JMPF R4 #0018 + 0x8C10050E, // 0012 GETMET R4 R2 K14 + 0x60180018, // 0013 GETGBL R6 G24 + 0x581C0010, // 0014 LDCONST R7 K16 + 0x5C200600, // 0015 MOVE R8 R3 + 0x7C180400, // 0016 CALL R6 2 + 0x7C100400, // 0017 CALL R4 2 + 0x58100011, // 0018 LDCONST R4 K17 + 0x8C140112, // 0019 GETMET R5 R0 K18 + 0x7C140200, // 001A CALL R5 1 + 0x14180805, // 001B LT R6 R4 R5 + 0x781A0006, // 001C JMPF R6 #0024 + 0x8C18050E, // 001D GETMET R6 R2 K14 + 0x94200004, // 001E GETIDX R8 R0 R4 + 0x8C201113, // 001F GETMET R8 R8 K19 + 0x7C200200, // 0020 CALL R8 1 + 0x7C180400, // 0021 CALL R6 2 + 0x00100914, // 0022 ADD R4 R4 K20 + 0x7001FFF6, // 0023 JMP #001B + 0x880C0102, // 0024 GETMBR R3 R0 K2 + 0x4C180000, // 0025 LDNIL R6 + 0x20180606, // 0026 NE R6 R3 R6 + 0x781A0005, // 0027 JMPF R6 #002E + 0x8C18050E, // 0028 GETMET R6 R2 K14 + 0x60200018, // 0029 GETGBL R8 G24 + 0x58240015, // 002A LDCONST R9 K21 + 0x5C280600, // 002B MOVE R10 R3 + 0x7C200400, // 002C CALL R8 2 + 0x7C180400, // 002D CALL R6 2 + 0x880C0104, // 002E GETMBR R3 R0 K4 + 0x4C180000, // 002F LDNIL R6 + 0x20180606, // 0030 NE R6 R3 R6 + 0x781A0005, // 0031 JMPF R6 #0038 + 0x8C18050E, // 0032 GETMET R6 R2 K14 + 0x60200018, // 0033 GETGBL R8 G24 + 0x58240016, // 0034 LDCONST R9 K22 + 0x5C280600, // 0035 MOVE R10 R3 + 0x7C200400, // 0036 CALL R8 2 + 0x7C180400, // 0037 CALL R6 2 + 0x8C180518, // 0038 GETMET R6 R2 K24 + 0x58200019, // 0039 LDCONST R8 K25 + 0x7C180400, // 003A CALL R6 2 + 0x001A2E06, // 003B ADD R6 K23 R6 + 0x00180D1A, // 003C ADD R6 R6 K26 + 0x80040C00, // 003D RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: zcl_attribute_list +********************************************************************/ +extern const bclass be_class_zcl_attribute_list_ntv; +be_local_class(zcl_attribute_list, + 1, + &be_class_zcl_attribute_list_ntv, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(shortaddr, -1), be_const_var(0) }, + { be_const_key_weak(member, 2), be_const_closure(class_zcl_attribute_list_member_closure) }, + { be_const_key_weak(tostring, 5), be_const_closure(class_zcl_attribute_list_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_list_init_closure) }, + { be_const_key_weak(deinit, -1), be_const_closure(class_zcl_attribute_list_deinit_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_zcl_attribute_list_setmember_closure) }, + })), + be_str_weak(zcl_attribute_list) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_frame.h b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_frame.h new file mode 100644 index 000000000..a6d64dc00 --- /dev/null +++ b/lib/libesp32/berry_tasmota/src/solidify/berry_tasmota/solidified_zigbee_zcl_frame.h @@ -0,0 +1,220 @@ +/* Solidification of zigbee_zcl_frame.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'zcl_frame' ktab size: 12, total: 16 (saved 32 bytes) +static const bvalue be_ktab_class_zcl_frame[12] = { + /* K0 */ be_nested_str_weak(payload), + /* K1 */ be_nested_str_weak(_get_bytes), + /* K2 */ be_nested_str_weak(payload_ptr), + /* K3 */ be_nested_str_weak(member), + /* K4 */ be_nested_str_weak(_set_bytes), + /* K5 */ be_nested_str_weak(setmember), + /* K6 */ be_nested_str_weak(init), + /* K7 */ be_nested_str_weak(no_bytes), + /* K8 */ be_nested_str_weak(tomap), + /* K9 */ be_nested_str_weak(shortaddr_hex), + /* K10 */ be_nested_str_weak(0x_X2504X), + /* K11 */ be_nested_str_weak(shortaddr), +}; + + +extern const bclass be_class_zcl_frame; + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_zcl_frame_member, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_frame, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x1C080300, // 0000 EQ R2 R1 K0 + 0x780A0004, // 0001 JMPF R2 #0007 + 0x8C080101, // 0002 GETMET R2 R0 K1 + 0x88100102, // 0003 GETMBR R4 R0 K2 + 0x7C080400, // 0004 CALL R2 2 + 0x80040400, // 0005 RET 1 R2 + 0x70020006, // 0006 JMP #000E + 0x60080003, // 0007 GETGBL R2 G3 + 0x5C0C0000, // 0008 MOVE R3 R0 + 0x7C080200, // 0009 CALL R2 1 + 0x8C080503, // 000A GETMET R2 R2 K3 + 0x5C100200, // 000B MOVE R4 R1 + 0x7C080400, // 000C CALL R2 2 + 0x80040400, // 000D RET 1 R2 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_zcl_frame_setmember, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_frame, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x1C0C0300, // 0000 EQ R3 R1 K0 + 0x780E0005, // 0001 JMPF R3 #0008 + 0x8C0C0104, // 0002 GETMET R3 R0 K4 + 0x88140102, // 0003 GETMBR R5 R0 K2 + 0x5C180400, // 0004 MOVE R6 R2 + 0x7C0C0600, // 0005 CALL R3 3 + 0x80040600, // 0006 RET 1 R3 + 0x70020007, // 0007 JMP #0010 + 0x600C0003, // 0008 GETGBL R3 G3 + 0x5C100000, // 0009 MOVE R4 R0 + 0x7C0C0200, // 000A CALL R3 1 + 0x8C0C0705, // 000B GETMET R3 R3 K5 + 0x5C140200, // 000C MOVE R5 R1 + 0x5C180400, // 000D MOVE R6 R2 + 0x7C0C0600, // 000E CALL R3 3 + 0x80040600, // 000F RET 1 R3 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_zcl_frame_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_frame, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080506, // 0003 GETMET R2 R2 K6 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x60080015, // 0006 GETGBL R2 G21 + 0x7C080000, // 0007 CALL R2 0 + 0x90020E02, // 0008 SETMBR R0 K7 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tomap +********************************************************************/ +be_local_closure(class_zcl_frame_tomap, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_frame, /* shared constants */ + be_str_weak(tomap), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040308, // 0003 GETMET R1 R1 K8 + 0x7C040200, // 0004 CALL R1 1 + 0x60080018, // 0005 GETGBL R2 G24 + 0x580C000A, // 0006 LDCONST R3 K10 + 0x8810010B, // 0007 GETMBR R4 R0 K11 + 0x7C080400, // 0008 CALL R2 2 + 0x98061202, // 0009 SETIDX R1 K9 R2 + 0x88080100, // 000A GETMBR R2 R0 K0 + 0x98060002, // 000B SETIDX R1 K0 R2 + 0x80040200, // 000C RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: tostring +********************************************************************/ +be_local_closure(class_zcl_frame_tostring, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_zcl_frame, /* shared constants */ + be_str_weak(tostring), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C040108, // 0000 GETMET R1 R0 K8 + 0x7C040200, // 0001 CALL R1 1 + 0x60080008, // 0002 GETGBL R2 G8 + 0x5C0C0200, // 0003 MOVE R3 R1 + 0x7C080200, // 0004 CALL R2 1 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: zcl_frame +********************************************************************/ +extern const bclass be_class_zcl_frame_ntv; +be_local_class(zcl_frame, + 1, + &be_class_zcl_frame_ntv, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(no_bytes, -1), be_const_var(0) }, + { be_const_key_weak(member, 2), be_const_closure(class_zcl_frame_member_closure) }, + { be_const_key_weak(tostring, 5), be_const_closure(class_zcl_frame_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_frame_init_closure) }, + { be_const_key_weak(tomap, -1), be_const_closure(class_zcl_frame_tomap_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_zcl_frame_setmember_closure) }, + })), + be_str_weak(zcl_frame) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lv.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lv.h new file mode 100644 index 000000000..c8a8c84e7 --- /dev/null +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lv.h @@ -0,0 +1,59 @@ +/* Solidification of lv.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +/******************************************************************** +** Solidified function: lv_module_init +********************************************************************/ +be_local_closure(lv_module_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(member), + /* K2 */ be_nested_str_weak(scr_act), + /* K3 */ be_nested_str_weak(screen_active), + /* K4 */ be_nested_str_weak(img), + /* K5 */ be_nested_str_weak(image), + /* K6 */ be_nested_str_weak(disp), + /* K7 */ be_nested_str_weak(display), + /* K8 */ be_nested_str_weak(btn), + /* K9 */ be_nested_str_weak(button), + /* K10 */ be_nested_str_weak(btnmatrix), + /* K11 */ be_nested_str_weak(buttonmatrix), + }), + be_str_weak(lv_module_init), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x6004000B, // 0000 GETGBL R1 G11 + 0x58080000, // 0001 LDCONST R2 K0 + 0x7C040200, // 0002 CALL R1 1 + 0x88080101, // 0003 GETMBR R2 R0 K1 + 0x90060202, // 0004 SETMBR R1 K1 R2 + 0x88080103, // 0005 GETMBR R2 R0 K3 + 0x90060402, // 0006 SETMBR R1 K2 R2 + 0x88080105, // 0007 GETMBR R2 R0 K5 + 0x90060802, // 0008 SETMBR R1 K4 R2 + 0x88080107, // 0009 GETMBR R2 R0 K7 + 0x90060C02, // 000A SETMBR R1 K6 R2 + 0x88080109, // 000B GETMBR R2 R0 K9 + 0x90061002, // 000C SETMBR R1 K8 R2 + 0x8808010B, // 000D GETMBR R2 R0 K11 + 0x90061402, // 000E SETMBR R1 K10 R2 + 0x80040200, // 000F RET 1 R1 + }) + ) +); +/*******************************************************************/ + +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_extra.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_extra.h new file mode 100644 index 000000000..9255abbd2 --- /dev/null +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_extra.h @@ -0,0 +1,687 @@ +/* Solidification of lvgl_extra.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_lv_str_arr; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_str_arr_init, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(l), + /* K1 */ be_nested_str_weak(init), + /* K2 */ be_nested_str_weak(introspect), + /* K3 */ be_nested_str_weak(add), + /* K4 */ be_nested_str_weak(toptr), + /* K5 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x60080003, // 0001 GETGBL R2 G3 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x8C080501, // 0004 GETMET R2 R2 K1 + 0x6010000C, // 0005 GETGBL R4 G12 + 0x5C140200, // 0006 MOVE R5 R1 + 0x7C100200, // 0007 CALL R4 1 + 0x54160003, // 0008 LDINT R5 4 + 0x08100805, // 0009 MUL R4 R4 R5 + 0x7C080400, // 000A CALL R2 2 + 0xA40A0400, // 000B IMPORT R2 K2 + 0x600C0010, // 000C GETGBL R3 G16 + 0x5C100200, // 000D MOVE R4 R1 + 0x7C0C0200, // 000E CALL R3 1 + 0xA802000A, // 000F EXBLK 0 #001B + 0x5C100600, // 0010 MOVE R4 R3 + 0x7C100000, // 0011 CALL R4 0 + 0x8C140103, // 0012 GETMET R5 R0 K3 + 0x601C0009, // 0013 GETGBL R7 G9 + 0x8C200504, // 0014 GETMET R8 R2 K4 + 0x5C280800, // 0015 MOVE R10 R4 + 0x7C200400, // 0016 CALL R8 2 + 0x7C1C0200, // 0017 CALL R7 1 + 0x54220003, // 0018 LDINT R8 4 + 0x7C140600, // 0019 CALL R5 3 + 0x7001FFF4, // 001A JMP #0010 + 0x580C0005, // 001B LDCONST R3 K5 + 0xAC0C0200, // 001C CATCH R3 1 0 + 0xB0080000, // 001D RAISE 2 R0 R0 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_str_arr +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(lv_str_arr, + 1, + &be_class_bytes, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_str_arr_init_closure) }, + { be_const_key_weak(l, 0), be_const_var(0) }, + })), + be_str_weak(lv_str_arr) +); + +extern const bclass be_class_lv_int_arr; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_int_arr_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str_weak(instance), + /* K1 */ be_nested_str_weak(init), + /* K2 */ be_nested_str_weak(add), + /* K3 */ be_nested_str_weak(stop_iteration), + /* K4 */ be_nested_str_weak(ptr), + /* K5 */ be_nested_str_weak(int), + /* K6 */ be_nested_str_weak(value_error), + /* K7 */ be_nested_str_weak(argument_X20must_X20be_X20a_X20list_X20or_X20a_X20pointer_X2Bsize), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x600C0004, // 0000 GETGBL R3 G4 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C0C0200, // 0002 CALL R3 1 + 0x1C0C0700, // 0003 EQ R3 R3 K0 + 0x780E001F, // 0004 JMPF R3 #0025 + 0x600C000F, // 0005 GETGBL R3 G15 + 0x5C100200, // 0006 MOVE R4 R1 + 0x60140012, // 0007 GETGBL R5 G18 + 0x7C0C0400, // 0008 CALL R3 2 + 0x780E001A, // 0009 JMPF R3 #0025 + 0x600C0003, // 000A GETGBL R3 G3 + 0x5C100000, // 000B MOVE R4 R0 + 0x7C0C0200, // 000C CALL R3 1 + 0x8C0C0701, // 000D GETMET R3 R3 K1 + 0x6014000C, // 000E GETGBL R5 G12 + 0x5C180200, // 000F MOVE R6 R1 + 0x7C140200, // 0010 CALL R5 1 + 0x541A0003, // 0011 LDINT R6 4 + 0x08140A06, // 0012 MUL R5 R5 R6 + 0x7C0C0400, // 0013 CALL R3 2 + 0x600C0010, // 0014 GETGBL R3 G16 + 0x5C100200, // 0015 MOVE R4 R1 + 0x7C0C0200, // 0016 CALL R3 1 + 0xA8020008, // 0017 EXBLK 0 #0021 + 0x5C100600, // 0018 MOVE R4 R3 + 0x7C100000, // 0019 CALL R4 0 + 0x8C140102, // 001A GETMET R5 R0 K2 + 0x601C0009, // 001B GETGBL R7 G9 + 0x5C200800, // 001C MOVE R8 R4 + 0x7C1C0200, // 001D CALL R7 1 + 0x54220003, // 001E LDINT R8 4 + 0x7C140600, // 001F CALL R5 3 + 0x7001FFF6, // 0020 JMP #0018 + 0x580C0003, // 0021 LDCONST R3 K3 + 0xAC0C0200, // 0022 CATCH R3 1 0 + 0xB0080000, // 0023 RAISE 2 R0 R0 + 0x70020013, // 0024 JMP #0039 + 0x600C0004, // 0025 GETGBL R3 G4 + 0x5C100200, // 0026 MOVE R4 R1 + 0x7C0C0200, // 0027 CALL R3 1 + 0x1C0C0704, // 0028 EQ R3 R3 K4 + 0x780E000D, // 0029 JMPF R3 #0038 + 0x600C0004, // 002A GETGBL R3 G4 + 0x5C100400, // 002B MOVE R4 R2 + 0x7C0C0200, // 002C CALL R3 1 + 0x1C0C0705, // 002D EQ R3 R3 K5 + 0x780E0008, // 002E JMPF R3 #0038 + 0x600C0003, // 002F GETGBL R3 G3 + 0x5C100000, // 0030 MOVE R4 R0 + 0x7C0C0200, // 0031 CALL R3 1 + 0x8C0C0701, // 0032 GETMET R3 R3 K1 + 0x5C140200, // 0033 MOVE R5 R1 + 0x541A0003, // 0034 LDINT R6 4 + 0x08180406, // 0035 MUL R6 R2 R6 + 0x7C0C0600, // 0036 CALL R3 3 + 0x70020000, // 0037 JMP #0039 + 0xB0060D07, // 0038 RAISE 1 K6 K7 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: item +********************************************************************/ +be_local_closure(class_lv_int_arr_item, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(get), + }), + be_str_weak(item), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x54120003, // 0001 LDINT R4 4 + 0x08100204, // 0002 MUL R4 R1 R4 + 0x54160003, // 0003 LDINT R5 4 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_lv_int_arr_setitem, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(set), + }), + be_str_weak(setitem), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x54160003, // 0001 LDINT R5 4 + 0x08140205, // 0002 MUL R5 R1 R5 + 0x5C180400, // 0003 MOVE R6 R2 + 0x541E0003, // 0004 LDINT R7 4 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_int_arr +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(lv_int_arr, + 0, + &be_class_bytes, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_int_arr_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_lv_int_arr_item_closure) }, + { be_const_key_weak(setitem, -1), be_const_closure(class_lv_int_arr_setitem_closure) }, + })), + be_str_weak(lv_int_arr) +); + +extern const bclass be_class_lv_point_arr; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_point_arr_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[11]) { /* constants */ + /* K0 */ be_nested_str_weak(instance), + /* K1 */ be_nested_str_weak(value_error), + /* K2 */ be_nested_str_weak(argument_X20must_X20be_X20a_X20list), + /* K3 */ be_nested_str_weak(init), + /* K4 */ be_nested_str_weak(lv), + /* K5 */ be_nested_str_weak(lv_point), + /* K6 */ be_nested_str_weak(elements_X20must_X20be_X20a_X20lv_point), + /* K7 */ be_nested_str_weak(add), + /* K8 */ be_nested_str_weak(x), + /* K9 */ be_nested_str_weak(y), + /* K10 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[52]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x20080500, // 0003 NE R2 R2 K0 + 0x740A0004, // 0004 JMPT R2 #000A + 0x6008000F, // 0005 GETGBL R2 G15 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C080400, // 0008 CALL R2 2 + 0x740A0000, // 0009 JMPT R2 #000B + 0xB0060302, // 000A RAISE 1 K1 K2 + 0x60080003, // 000B GETGBL R2 G3 + 0x5C0C0000, // 000C MOVE R3 R0 + 0x7C080200, // 000D CALL R2 1 + 0x8C080503, // 000E GETMET R2 R2 K3 + 0x6010000C, // 000F GETGBL R4 G12 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C100200, // 0011 CALL R4 1 + 0x54160007, // 0012 LDINT R5 8 + 0x08100805, // 0013 MUL R4 R4 R5 + 0x7C080400, // 0014 CALL R2 2 + 0x60080010, // 0015 GETGBL R2 G16 + 0x5C0C0200, // 0016 MOVE R3 R1 + 0x7C080200, // 0017 CALL R2 1 + 0xA8020016, // 0018 EXBLK 0 #0030 + 0x5C0C0400, // 0019 MOVE R3 R2 + 0x7C0C0000, // 001A CALL R3 0 + 0x60100004, // 001B GETGBL R4 G4 + 0x5C140600, // 001C MOVE R5 R3 + 0x7C100200, // 001D CALL R4 1 + 0x20100900, // 001E NE R4 R4 K0 + 0x74120005, // 001F JMPT R4 #0026 + 0x6010000F, // 0020 GETGBL R4 G15 + 0x5C140600, // 0021 MOVE R5 R3 + 0xB81A0800, // 0022 GETNGBL R6 K4 + 0x88180D05, // 0023 GETMBR R6 R6 K5 + 0x7C100400, // 0024 CALL R4 2 + 0x74120000, // 0025 JMPT R4 #0027 + 0xB0060306, // 0026 RAISE 1 K1 K6 + 0x8C100107, // 0027 GETMET R4 R0 K7 + 0x88180708, // 0028 GETMBR R6 R3 K8 + 0x541E0003, // 0029 LDINT R7 4 + 0x7C100600, // 002A CALL R4 3 + 0x8C100107, // 002B GETMET R4 R0 K7 + 0x88180709, // 002C GETMBR R6 R3 K9 + 0x541E0003, // 002D LDINT R7 4 + 0x7C100600, // 002E CALL R4 3 + 0x7001FFE8, // 002F JMP #0019 + 0x5808000A, // 0030 LDCONST R2 K10 + 0xAC080200, // 0031 CATCH R2 1 0 + 0xB0080000, // 0032 RAISE 2 R0 R0 + 0x80000000, // 0033 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_point_arr +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(lv_point_arr, + 0, + &be_class_bytes, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_point_arr_init_closure) }, + })), + be_str_weak(lv_point_arr) +); + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(global), + /* K1 */ be_nested_str_weak(lv), + /* K2 */ be_nested_str_weak(lv_coord_arr), + /* K3 */ be_nested_str_weak(lv_int_arr), + /* K4 */ be_nested_str_weak(lv_point_arr), + /* K5 */ be_nested_str_weak(coord_arr), + /* K6 */ be_nested_str_weak(int_arr), + /* K7 */ be_nested_str_weak(point_arr), + /* K8 */ be_nested_str_weak(style_prop_arr), + /* K9 */ be_nested_str_weak(lv_style_prop_arr), + /* K10 */ be_nested_str_weak(str_arr), + /* K11 */ be_nested_str_weak(lv_str_arr), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080301, // 0001 GETMBR R2 R1 K1 + 0x880C0102, // 0002 GETMBR R3 R0 K2 + 0x900A0403, // 0003 SETMBR R2 K2 R3 + 0x880C0103, // 0004 GETMBR R3 R0 K3 + 0x900A0603, // 0005 SETMBR R2 K3 R3 + 0x880C0104, // 0006 GETMBR R3 R0 K4 + 0x900A0803, // 0007 SETMBR R2 K4 R3 + 0x880C0102, // 0008 GETMBR R3 R0 K2 + 0x900A0A03, // 0009 SETMBR R2 K5 R3 + 0x880C0103, // 000A GETMBR R3 R0 K3 + 0x900A0C03, // 000B SETMBR R2 K6 R3 + 0x880C0104, // 000C GETMBR R3 R0 K4 + 0x900A0E03, // 000D SETMBR R2 K7 R3 + 0x880C0109, // 000E GETMBR R3 R0 K9 + 0x900A1003, // 000F SETMBR R2 K8 R3 + 0x880C010B, // 0010 GETMBR R3 R0 K11 + 0x900A1403, // 0011 SETMBR R2 K10 R3 + 0x80040000, // 0012 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +extern const bclass be_class_lv_style_prop_arr; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_style_prop_arr_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(instance), + /* K1 */ be_nested_str_weak(value_error), + /* K2 */ be_nested_str_weak(argument_X20must_X20be_X20a_X20list), + /* K3 */ be_nested_str_weak(init), + /* K4 */ be_nested_str_weak(add), + /* K5 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[38]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x20080500, // 0003 NE R2 R2 K0 + 0x740A0004, // 0004 JMPT R2 #000A + 0x6008000F, // 0005 GETGBL R2 G15 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x60100012, // 0007 GETGBL R4 G18 + 0x7C080400, // 0008 CALL R2 2 + 0x740A0000, // 0009 JMPT R2 #000B + 0xB0060302, // 000A RAISE 1 K1 K2 + 0x60080003, // 000B GETGBL R2 G3 + 0x5C0C0000, // 000C MOVE R3 R0 + 0x7C080200, // 000D CALL R2 1 + 0x8C080503, // 000E GETMET R2 R2 K3 + 0x6010000C, // 000F GETGBL R4 G12 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C100200, // 0011 CALL R4 1 + 0x54160003, // 0012 LDINT R5 4 + 0x08100805, // 0013 MUL R4 R4 R5 + 0x7C080400, // 0014 CALL R2 2 + 0x60080010, // 0015 GETGBL R2 G16 + 0x5C0C0200, // 0016 MOVE R3 R1 + 0x7C080200, // 0017 CALL R2 1 + 0xA8020008, // 0018 EXBLK 0 #0022 + 0x5C0C0400, // 0019 MOVE R3 R2 + 0x7C0C0000, // 001A CALL R3 0 + 0x8C100104, // 001B GETMET R4 R0 K4 + 0x60180009, // 001C GETGBL R6 G9 + 0x5C1C0600, // 001D MOVE R7 R3 + 0x7C180200, // 001E CALL R6 1 + 0x541E0003, // 001F LDINT R7 4 + 0x7C100600, // 0020 CALL R4 3 + 0x7001FFF6, // 0021 JMP #0019 + 0x58080005, // 0022 LDCONST R2 K5 + 0xAC080200, // 0023 CATCH R2 1 0 + 0xB0080000, // 0024 RAISE 2 R0 R0 + 0x80000000, // 0025 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_style_prop_arr +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(lv_style_prop_arr, + 0, + &be_class_bytes, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_style_prop_arr_init_closure) }, + })), + be_str_weak(lv_style_prop_arr) +); + +extern const bclass be_class_lv_coord_arr; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lv_coord_arr_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str_weak(instance), + /* K1 */ be_nested_str_weak(init), + /* K2 */ be_nested_str_weak(add), + /* K3 */ be_nested_str_weak(stop_iteration), + /* K4 */ be_nested_str_weak(ptr), + /* K5 */ be_nested_str_weak(int), + /* K6 */ be_nested_str_weak(value_error), + /* K7 */ be_nested_str_weak(argument_X20must_X20be_X20a_X20list_X20or_X20a_X20pointer_X2Bsize), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x600C0004, // 0000 GETGBL R3 G4 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C0C0200, // 0002 CALL R3 1 + 0x1C0C0700, // 0003 EQ R3 R3 K0 + 0x780E001F, // 0004 JMPF R3 #0025 + 0x600C000F, // 0005 GETGBL R3 G15 + 0x5C100200, // 0006 MOVE R4 R1 + 0x60140012, // 0007 GETGBL R5 G18 + 0x7C0C0400, // 0008 CALL R3 2 + 0x780E001A, // 0009 JMPF R3 #0025 + 0x600C0003, // 000A GETGBL R3 G3 + 0x5C100000, // 000B MOVE R4 R0 + 0x7C0C0200, // 000C CALL R3 1 + 0x8C0C0701, // 000D GETMET R3 R3 K1 + 0x6014000C, // 000E GETGBL R5 G12 + 0x5C180200, // 000F MOVE R6 R1 + 0x7C140200, // 0010 CALL R5 1 + 0x541A0003, // 0011 LDINT R6 4 + 0x08140A06, // 0012 MUL R5 R5 R6 + 0x7C0C0400, // 0013 CALL R3 2 + 0x600C0010, // 0014 GETGBL R3 G16 + 0x5C100200, // 0015 MOVE R4 R1 + 0x7C0C0200, // 0016 CALL R3 1 + 0xA8020008, // 0017 EXBLK 0 #0021 + 0x5C100600, // 0018 MOVE R4 R3 + 0x7C100000, // 0019 CALL R4 0 + 0x8C140102, // 001A GETMET R5 R0 K2 + 0x601C0009, // 001B GETGBL R7 G9 + 0x5C200800, // 001C MOVE R8 R4 + 0x7C1C0200, // 001D CALL R7 1 + 0x54220003, // 001E LDINT R8 4 + 0x7C140600, // 001F CALL R5 3 + 0x7001FFF6, // 0020 JMP #0018 + 0x580C0003, // 0021 LDCONST R3 K3 + 0xAC0C0200, // 0022 CATCH R3 1 0 + 0xB0080000, // 0023 RAISE 2 R0 R0 + 0x70020013, // 0024 JMP #0039 + 0x600C0004, // 0025 GETGBL R3 G4 + 0x5C100200, // 0026 MOVE R4 R1 + 0x7C0C0200, // 0027 CALL R3 1 + 0x1C0C0704, // 0028 EQ R3 R3 K4 + 0x780E000D, // 0029 JMPF R3 #0038 + 0x600C0004, // 002A GETGBL R3 G4 + 0x5C100400, // 002B MOVE R4 R2 + 0x7C0C0200, // 002C CALL R3 1 + 0x1C0C0705, // 002D EQ R3 R3 K5 + 0x780E0008, // 002E JMPF R3 #0038 + 0x600C0003, // 002F GETGBL R3 G3 + 0x5C100000, // 0030 MOVE R4 R0 + 0x7C0C0200, // 0031 CALL R3 1 + 0x8C0C0701, // 0032 GETMET R3 R3 K1 + 0x5C140200, // 0033 MOVE R5 R1 + 0x541A0003, // 0034 LDINT R6 4 + 0x08180406, // 0035 MUL R6 R2 R6 + 0x7C0C0600, // 0036 CALL R3 3 + 0x70020000, // 0037 JMP #0039 + 0xB0060D07, // 0038 RAISE 1 K6 K7 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: item +********************************************************************/ +be_local_closure(class_lv_coord_arr_item, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(get), + }), + be_str_weak(item), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x54120003, // 0001 LDINT R4 4 + 0x08100204, // 0002 MUL R4 R1 R4 + 0x54160003, // 0003 LDINT R5 4 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_lv_coord_arr_setitem, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(set), + }), + be_str_weak(setitem), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x8C0C0100, // 0000 GETMET R3 R0 K0 + 0x54160003, // 0001 LDINT R5 4 + 0x08140205, // 0002 MUL R5 R1 R5 + 0x5C180400, // 0003 MOVE R6 R2 + 0x541E0003, // 0004 LDINT R7 4 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lv_coord_arr +********************************************************************/ +extern const bclass be_class_bytes; +be_local_class(lv_coord_arr, + 0, + &be_class_bytes, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(init, -1), be_const_closure(class_lv_coord_arr_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_lv_coord_arr_item_closure) }, + { be_const_key_weak(setitem, -1), be_const_closure(class_lv_coord_arr_setitem_closure) }, + })), + be_str_weak(lv_coord_arr) +); + +/******************************************************************** +** Solidified module: lv_extra +********************************************************************/ +be_local_module(lv_extra, + "lv_extra", + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(lv_coord_arr, 4), be_const_class(be_class_lv_coord_arr) }, + { be_const_key_weak(lv_int_arr, -1), be_const_class(be_class_lv_int_arr) }, + { be_const_key_weak(lv_point_arr, -1), be_const_class(be_class_lv_point_arr) }, + { be_const_key_weak(init, -1), be_const_closure(_anonymous__closure) }, + { be_const_key_weak(lv_style_prop_arr, -1), be_const_class(be_class_lv_style_prop_arr) }, + { be_const_key_weak(lv_str_arr, 0), be_const_class(be_class_lv_str_arr) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(lv_extra); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_glob.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_glob.h new file mode 100644 index 000000000..d2bf5ca7c --- /dev/null +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/berry_lvgl/solidified_lvgl_glob.h @@ -0,0 +1,1189 @@ +/* Solidification of lvgl_glob.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'LVGL_glob' ktab size: 72, total: 131 (saved 472 bytes) +static const bvalue be_ktab_class_LVGL_glob[72] = { + /* K0 */ be_nested_str_weak(event_cb), + /* K1 */ be_nested_str_weak(cb), + /* K2 */ be_nested_str_weak(gen_cb), + /* K3 */ be_nested_str_weak(push), + /* K4 */ be_nested_str_weak(stop_iteration), + /* K5 */ be_nested_str_weak(cb_event_closure), + /* K6 */ be_nested_str_weak(contains), + /* K7 */ be_nested_str_weak(function), + /* K8 */ be_const_int(1), + /* K9 */ be_const_int(0), + /* K10 */ be_nested_str_weak(lv_event_cb), + /* K11 */ be_nested_str_weak(register_obj), + /* K12 */ be_nested_str_weak(add_event_cb), + /* K13 */ be_nested_str_weak(lv), + /* K14 */ be_nested_str_weak(EVENT_DELETE), + /* K15 */ be_nested_str_weak(add_cb_event_closure), + /* K16 */ be_nested_str_weak(_p), + /* K17 */ be_nested_str_weak(get_event_cb), + /* K18 */ be_nested_str_weak(lv_timer_cb), + /* K19 */ be_nested_str_weak(timer_cb), + /* K20 */ be_const_int(2), + /* K21 */ be_nested_str_weak(lv_), + /* K22 */ be_nested_str_weak(null_cb), + /* K23 */ be_nested_str_weak(cb_do_nothing), + /* K24 */ be_nested_str_weak(introspect), + /* K25 */ be_nested_str_weak(toptr), + /* K26 */ be_nested_str_weak(event), + /* K27 */ be_nested_str_weak(lv_event), + /* K28 */ be_nested_str_weak(get_target), + /* K29 */ be_nested_str_weak(get_object_from_ptr), + /* K30 */ be_nested_str_weak(cb_obj), + /* K31 */ be_nested_str_weak(remove), + /* K32 */ be_nested_str_weak(lv_obj_class), + /* K33 */ be_nested_str_weak(get_target_obj), + /* K34 */ be_nested_str_weak(instance), + /* K35 */ be_nested_str_weak(get_code), + /* K36 */ be_nested_str_weak(get), + /* K37 */ be_nested_str_weak(before_del), + /* K38 */ be_nested_str_weak(widget_event), + /* K39 */ be_nested_str_weak(widget_destructor), + /* K40 */ be_nested_str_weak(find), + /* K41 */ be_nested_str_weak(widget_constructor), + /* K42 */ be_nested_str_weak(LVG_X3A_X20call_X20to_X20unsupported_X20callback), + /* K43 */ be_nested_str_weak(add_handler), + /* K44 */ be_nested_str_weak(lv_extra), + /* K45 */ be_nested_str_weak(lv_obj), + /* K46 */ be_nested_str_weak(value_error), + /* K47 */ be_nested_str_weak(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj), + /* K48 */ be_nested_str_weak(widget_struct_by_class), + /* K49 */ be_nested_str_weak(widget_cb), + /* K50 */ be_nested_str_weak(widget_struct_default), + /* K51 */ be_nested_str_weak(copy), + /* K52 */ be_nested_str_weak(base_class), + /* K53 */ be_nested_str_weak(_class), + /* K54 */ be_nested_str_weak(widget_width_def), + /* K55 */ be_nested_str_weak(width_def), + /* K56 */ be_nested_str_weak(widget_height_def), + /* K57 */ be_nested_str_weak(height_def), + /* K58 */ be_nested_str_weak(widget_editable), + /* K59 */ be_nested_str_weak(editable), + /* K60 */ be_nested_str_weak(widget_group_def), + /* K61 */ be_nested_str_weak(group_def), + /* K62 */ be_nested_str_weak(widget_instance_size), + /* K63 */ be_nested_str_weak(instance_size), + /* K64 */ be_nested_str_weak(obj_class_create_obj), + /* K65 */ be_nested_str_weak(class_init_obj), + /* K66 */ be_nested_str_weak(widget_ctor_cb), + /* K67 */ be_nested_str_weak(widget_dtor_cb), + /* K68 */ be_nested_str_weak(widget_event_cb), + /* K69 */ be_nested_str_weak(constructor_cb), + /* K70 */ be_nested_str_weak(destructor_cb), + /* K71 */ be_nested_str_weak(deregister_obj), +}; + + +extern const bclass be_class_LVGL_glob; + +/******************************************************************** +** Solidified function: get_event_cb +********************************************************************/ +be_local_closure(class_LVGL_glob_get_event_cb, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 4), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(lvgl_event_dispatch), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x680C0001, // 0002 GETUPV R3 U1 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C040600, // 0004 CALL R1 3 + 0x80040200, // 0005 RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(get_event_cb), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0002, // 0003 JMPF R2 #0007 + 0x60080012, // 0004 GETGBL R2 G18 + 0x7C080000, // 0005 CALL R2 0 + 0x90020002, // 0006 SETMBR R0 K0 R2 + 0x88080100, // 0007 GETMBR R2 R0 K0 + 0x600C0010, // 0008 GETGBL R3 G16 + 0x6010000C, // 0009 GETGBL R4 G12 + 0x5C140400, // 000A MOVE R5 R2 + 0x7C100200, // 000B CALL R4 1 + 0x40100801, // 000C CONNECT R4 R4 R1 + 0x7C0C0200, // 000D CALL R3 1 + 0xA802000A, // 000E EXBLK 0 #001A + 0x5C100600, // 000F MOVE R4 R3 + 0x7C100000, // 0010 CALL R4 0 + 0xB8160200, // 0011 GETNGBL R5 K1 + 0x8C140B02, // 0012 GETMET R5 R5 K2 + 0x841C0000, // 0013 CLOSURE R7 P0 + 0x7C140400, // 0014 CALL R5 2 + 0x8C180503, // 0015 GETMET R6 R2 K3 + 0x5C200A00, // 0016 MOVE R8 R5 + 0x7C180400, // 0017 CALL R6 2 + 0xA00C0000, // 0018 CLOSE R3 + 0x7001FFF4, // 0019 JMP #000F + 0x580C0004, // 001A LDCONST R3 K4 + 0xAC0C0200, // 001B CATCH R3 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x940C0401, // 001D GETIDX R3 R2 R1 + 0xA0000000, // 001E CLOSE R0 + 0x80040600, // 001F RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_cb_event_closure +********************************************************************/ +be_local_closure(class_LVGL_glob_add_cb_event_closure, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(add_cb_event_closure), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x880C0105, // 0000 GETMBR R3 R0 K5 + 0x4C100000, // 0001 LDNIL R4 + 0x1C0C0604, // 0002 EQ R3 R3 R4 + 0x780E0002, // 0003 JMPF R3 #0007 + 0x600C0013, // 0004 GETGBL R3 G19 + 0x7C0C0000, // 0005 CALL R3 0 + 0x90020A03, // 0006 SETMBR R0 K5 R3 + 0x880C0105, // 0007 GETMBR R3 R0 K5 + 0x8C0C0706, // 0008 GETMET R3 R3 K6 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C0C0400, // 000A CALL R3 2 + 0x780E001A, // 000B JMPF R3 #0027 + 0x880C0105, // 000C GETMBR R3 R0 K5 + 0x940C0601, // 000D GETIDX R3 R3 R1 + 0x60100004, // 000E GETGBL R4 G4 + 0x5C140600, // 000F MOVE R5 R3 + 0x7C100200, // 0010 CALL R4 1 + 0x1C100907, // 0011 EQ R4 R4 K7 + 0x78120007, // 0012 JMPF R4 #001B + 0x88100105, // 0013 GETMBR R4 R0 K5 + 0x60140012, // 0014 GETGBL R5 G18 + 0x7C140000, // 0015 CALL R5 0 + 0x40180A03, // 0016 CONNECT R6 R5 R3 + 0x40180A02, // 0017 CONNECT R6 R5 R2 + 0x98100205, // 0018 SETIDX R4 R1 R5 + 0x80061000, // 0019 RET 1 K8 + 0x7002000A, // 001A JMP #0026 + 0x88100105, // 001B GETMBR R4 R0 K5 + 0x94100801, // 001C GETIDX R4 R4 R1 + 0x8C100903, // 001D GETMET R4 R4 K3 + 0x5C180400, // 001E MOVE R6 R2 + 0x7C100400, // 001F CALL R4 2 + 0x6010000C, // 0020 GETGBL R4 G12 + 0x88140105, // 0021 GETMBR R5 R0 K5 + 0x94140A01, // 0022 GETIDX R5 R5 R1 + 0x7C100200, // 0023 CALL R4 1 + 0x04100908, // 0024 SUB R4 R4 K8 + 0x80040800, // 0025 RET 1 R4 + 0x70020002, // 0026 JMP #002A + 0x880C0105, // 0027 GETMBR R3 R0 K5 + 0x980C0202, // 0028 SETIDX R3 R1 R2 + 0x80061200, // 0029 RET 1 K9 + 0x80000000, // 002A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: make_cb +********************************************************************/ +be_local_closure(class_LVGL_glob_make_cb, /* name */ + be_nested_proto( + 11, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(remove_cb), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ), + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(lvgl_timer_dispatch), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(make_cb), + &be_const_str_solidified, + ( &(const binstruction[70]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x1C100604, // 0001 EQ R4 R3 R4 + 0x78120001, // 0002 JMPF R4 #0005 + 0x4C100000, // 0003 LDNIL R4 + 0x80040800, // 0004 RET 1 R4 + 0xA4120200, // 0005 IMPORT R4 K1 + 0x1C14070A, // 0006 EQ R5 R3 K10 + 0x78160016, // 0007 JMPF R5 #001F + 0x8C14010B, // 0008 GETMET R5 R0 K11 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x7C140400, // 000A CALL R5 2 + 0x78160000, // 000B JMPF R5 #000D + 0x50140001, // 000C LDBOOL R5 0 1 + 0x50140200, // 000D LDBOOL R5 1 0 + 0x78160005, // 000E JMPF R5 #0015 + 0x8C18050C, // 000F GETMET R6 R2 K12 + 0x84200000, // 0010 CLOSURE R8 P0 + 0xB8261A00, // 0011 GETNGBL R9 K13 + 0x8824130E, // 0012 GETMBR R9 R9 K14 + 0x58280009, // 0013 LDCONST R10 K9 + 0x7C180800, // 0014 CALL R6 4 + 0x8C18010F, // 0015 GETMET R6 R0 K15 + 0x88200510, // 0016 GETMBR R8 R2 K16 + 0x5C240200, // 0017 MOVE R9 R1 + 0x7C180600, // 0018 CALL R6 3 + 0x8C1C0111, // 0019 GETMET R7 R0 K17 + 0x5C240C00, // 001A MOVE R9 R6 + 0x7C1C0400, // 001B CALL R7 2 + 0xA0000000, // 001C CLOSE R0 + 0x80040E00, // 001D RET 1 R7 + 0x70020024, // 001E JMP #0044 + 0x1C140712, // 001F EQ R5 R3 K18 + 0x7816000F, // 0020 JMPF R5 #0031 + 0x88140113, // 0021 GETMBR R5 R0 K19 + 0x4C180000, // 0022 LDNIL R6 + 0x1C140A06, // 0023 EQ R5 R5 R6 + 0x78160003, // 0024 JMPF R5 #0029 + 0x8C140902, // 0025 GETMET R5 R4 K2 + 0x841C0001, // 0026 CLOSURE R7 P1 + 0x7C140400, // 0027 CALL R5 2 + 0x90022605, // 0028 SETMBR R0 K19 R5 + 0x8C14010F, // 0029 GETMET R5 R0 K15 + 0x881C0510, // 002A GETMBR R7 R2 K16 + 0x5C200200, // 002B MOVE R8 R1 + 0x7C140600, // 002C CALL R5 3 + 0x88140113, // 002D GETMBR R5 R0 K19 + 0xA0000000, // 002E CLOSE R0 + 0x80040A00, // 002F RET 1 R5 + 0x70020012, // 0030 JMP #0044 + 0x40161314, // 0031 CONNECT R5 K9 K20 + 0x94140605, // 0032 GETIDX R5 R3 R5 + 0x1C140B15, // 0033 EQ R5 R5 K21 + 0x7816000B, // 0034 JMPF R5 #0041 + 0x88140116, // 0035 GETMBR R5 R0 K22 + 0x4C180000, // 0036 LDNIL R6 + 0x1C140A06, // 0037 EQ R5 R5 R6 + 0x78160003, // 0038 JMPF R5 #003D + 0x8C140902, // 0039 GETMET R5 R4 K2 + 0x881C0117, // 003A GETMBR R7 R0 K23 + 0x7C140400, // 003B CALL R5 2 + 0x90022C05, // 003C SETMBR R0 K22 R5 + 0x88140116, // 003D GETMBR R5 R0 K22 + 0xA0000000, // 003E CLOSE R0 + 0x80040A00, // 003F RET 1 R5 + 0x70020002, // 0040 JMP #0044 + 0x4C140000, // 0041 LDNIL R5 + 0xA0000000, // 0042 CLOSE R0 + 0x80040A00, // 0043 RET 1 R5 + 0xA0000000, // 0044 CLOSE R0 + 0x80000000, // 0045 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: lvgl_timer_dispatch +********************************************************************/ +be_local_closure(class_LVGL_glob_lvgl_timer_dispatch, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(lvgl_timer_dispatch), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0xA40A3000, // 0000 IMPORT R2 K24 + 0x8C0C0519, // 0001 GETMET R3 R2 K25 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x88100105, // 0004 GETMBR R4 R0 K5 + 0x94100803, // 0005 GETIDX R4 R4 R3 + 0x60140004, // 0006 GETGBL R5 G4 + 0x5C180800, // 0007 MOVE R6 R4 + 0x7C140200, // 0008 CALL R5 1 + 0x1C140B07, // 0009 EQ R5 R5 K7 + 0x78160003, // 000A JMPF R5 #000F + 0x5C140800, // 000B MOVE R5 R4 + 0x5C180600, // 000C MOVE R6 R3 + 0x7C140200, // 000D CALL R5 1 + 0x7002000A, // 000E JMP #001A + 0x58140009, // 000F LDCONST R5 K9 + 0x6018000C, // 0010 GETGBL R6 G12 + 0x5C1C0800, // 0011 MOVE R7 R4 + 0x7C180200, // 0012 CALL R6 1 + 0x14180A06, // 0013 LT R6 R5 R6 + 0x781A0004, // 0014 JMPF R6 #001A + 0x94180805, // 0015 GETIDX R6 R4 R5 + 0x5C1C0600, // 0016 MOVE R7 R3 + 0x7C180200, // 0017 CALL R6 1 + 0x00140B08, // 0018 ADD R5 R5 K8 + 0x7001FFF5, // 0019 JMP #0010 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: lvgl_event_dispatch +********************************************************************/ +be_local_closure(class_LVGL_glob_lvgl_event_dispatch, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(lvgl_event_dispatch), + &be_const_str_solidified, + ( &(const binstruction[42]) { /* code */ + 0xA40E3000, // 0000 IMPORT R3 K24 + 0x8C100719, // 0001 GETMET R4 R3 K25 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C100400, // 0003 CALL R4 2 + 0x8814011A, // 0004 GETMBR R5 R0 K26 + 0x78160002, // 0005 JMPF R5 #0009 + 0x8814011A, // 0006 GETMBR R5 R0 K26 + 0x90162004, // 0007 SETMBR R5 K16 R4 + 0x70020004, // 0008 JMP #000E + 0xB8161A00, // 0009 GETNGBL R5 K13 + 0x8C140B1B, // 000A GETMET R5 R5 K27 + 0x5C1C0800, // 000B MOVE R7 R4 + 0x7C140400, // 000C CALL R5 2 + 0x90023405, // 000D SETMBR R0 K26 R5 + 0x8814011A, // 000E GETMBR R5 R0 K26 + 0x8C140B1C, // 000F GETMET R5 R5 K28 + 0x7C140200, // 0010 CALL R5 1 + 0x8C18011D, // 0011 GETMET R6 R0 K29 + 0x5C200A00, // 0012 MOVE R8 R5 + 0x7C180400, // 0013 CALL R6 2 + 0x881C0105, // 0014 GETMBR R7 R0 K5 + 0x941C0E05, // 0015 GETIDX R7 R7 R5 + 0x60200004, // 0016 GETGBL R8 G4 + 0x5C240E00, // 0017 MOVE R9 R7 + 0x7C200200, // 0018 CALL R8 1 + 0x1C201107, // 0019 EQ R8 R8 K7 + 0x78220004, // 001A JMPF R8 #0020 + 0x5C200E00, // 001B MOVE R8 R7 + 0x5C240C00, // 001C MOVE R9 R6 + 0x8828011A, // 001D GETMBR R10 R0 K26 + 0x7C200400, // 001E CALL R8 2 + 0x70020008, // 001F JMP #0029 + 0x6020000C, // 0020 GETGBL R8 G12 + 0x5C240E00, // 0021 MOVE R9 R7 + 0x7C200200, // 0022 CALL R8 1 + 0x14200208, // 0023 LT R8 R1 R8 + 0x78220003, // 0024 JMPF R8 #0029 + 0x94200E01, // 0025 GETIDX R8 R7 R1 + 0x5C240C00, // 0026 MOVE R9 R6 + 0x8828011A, // 0027 GETMBR R10 R0 K26 + 0x7C200400, // 0028 CALL R8 2 + 0x80000000, // 0029 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: deregister_obj +********************************************************************/ +be_local_closure(class_LVGL_glob_deregister_obj, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(deregister_obj), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x8808011E, // 0000 GETMBR R2 R0 K30 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0003, // 0003 JMPF R2 #0008 + 0x8808011E, // 0004 GETMBR R2 R0 K30 + 0x8C08051F, // 0005 GETMET R2 R2 K31 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x88080105, // 0008 GETMBR R2 R0 K5 + 0x4C0C0000, // 0009 LDNIL R3 + 0x20080403, // 000A NE R2 R2 R3 + 0x780A0003, // 000B JMPF R2 #0010 + 0x88080105, // 000C GETMBR R2 R0 K5 + 0x8C08051F, // 000D GETMET R2 R2 K31 + 0x5C100200, // 000E MOVE R4 R1 + 0x7C080400, // 000F CALL R2 2 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_obj +********************************************************************/ +be_local_closure(class_LVGL_glob_register_obj, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(register_obj), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x8808011E, // 0000 GETMBR R2 R0 K30 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0002, // 0003 JMPF R2 #0007 + 0x60080013, // 0004 GETGBL R2 G19 + 0x7C080000, // 0005 CALL R2 0 + 0x90023C02, // 0006 SETMBR R0 K30 R2 + 0x8808011E, // 0007 GETMBR R2 R0 K30 + 0x8C080506, // 0008 GETMET R2 R2 K6 + 0x88100310, // 0009 GETMBR R4 R1 K16 + 0x7C080400, // 000A CALL R2 2 + 0x780A0002, // 000B JMPF R2 #000F + 0x50080200, // 000C LDBOOL R2 1 0 + 0x80040400, // 000D RET 1 R2 + 0x70020004, // 000E JMP #0014 + 0x8808011E, // 000F GETMBR R2 R0 K30 + 0x880C0310, // 0010 GETMBR R3 R1 K16 + 0x98080601, // 0011 SETIDX R2 R3 R1 + 0x50080000, // 0012 LDBOOL R2 0 0 + 0x80040400, // 0013 RET 1 R2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: widget_event_impl +********************************************************************/ +be_local_closure(class_LVGL_glob_widget_event_impl, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(widget_event_impl), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0xA40E3000, // 0000 IMPORT R3 K24 + 0xB8121A00, // 0001 GETNGBL R4 K13 + 0x8C100920, // 0002 GETMET R4 R4 K32 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0xB8161A00, // 0005 GETNGBL R5 K13 + 0x8C140B1B, // 0006 GETMET R5 R5 K27 + 0x8C1C0719, // 0007 GETMET R7 R3 K25 + 0x5C240400, // 0008 MOVE R9 R2 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C140400, // 000A CALL R5 2 + 0x8C180B21, // 000B GETMET R6 R5 K33 + 0x7C180200, // 000C CALL R6 1 + 0x8C1C011D, // 000D GETMET R7 R0 K29 + 0x88240D10, // 000E GETMBR R9 R6 K16 + 0x7C1C0400, // 000F CALL R7 2 + 0x60200004, // 0010 GETGBL R8 G4 + 0x5C240E00, // 0011 MOVE R9 R7 + 0x7C200200, // 0012 CALL R8 1 + 0x1C201122, // 0013 EQ R8 R8 K34 + 0x78220018, // 0014 JMPF R8 #002E + 0x8C200B23, // 0015 GETMET R8 R5 K35 + 0x7C200200, // 0016 CALL R8 1 + 0xB8261A00, // 0017 GETNGBL R9 K13 + 0x8824130E, // 0018 GETMBR R9 R9 K14 + 0x1C201009, // 0019 EQ R8 R8 R9 + 0x78220009, // 001A JMPF R8 #0025 + 0x8C200724, // 001B GETMET R8 R3 K36 + 0x5C280E00, // 001C MOVE R10 R7 + 0x582C0025, // 001D LDCONST R11 K37 + 0x7C200600, // 001E CALL R8 3 + 0x78220004, // 001F JMPF R8 #0025 + 0x8C200F25, // 0020 GETMET R8 R7 K37 + 0x5C280800, // 0021 MOVE R10 R4 + 0x5C2C0A00, // 0022 MOVE R11 R5 + 0x7C200600, // 0023 CALL R8 3 + 0x70020008, // 0024 JMP #002E + 0x8C200724, // 0025 GETMET R8 R3 K36 + 0x5C280E00, // 0026 MOVE R10 R7 + 0x582C0026, // 0027 LDCONST R11 K38 + 0x7C200600, // 0028 CALL R8 3 + 0x78220003, // 0029 JMPF R8 #002E + 0x8C200F26, // 002A GETMET R8 R7 K38 + 0x5C280800, // 002B MOVE R10 R4 + 0x5C2C0A00, // 002C MOVE R11 R5 + 0x7C200600, // 002D CALL R8 3 + 0x80000000, // 002E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: widget_dtor_impl +********************************************************************/ +be_local_closure(class_LVGL_glob_widget_dtor_impl, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(widget_dtor_impl), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA40E3000, // 0000 IMPORT R3 K24 + 0xB8121A00, // 0001 GETNGBL R4 K13 + 0x8C100920, // 0002 GETMET R4 R4 K32 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x8C14011D, // 0005 GETMET R5 R0 K29 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x7C140400, // 0007 CALL R5 2 + 0x60180004, // 0008 GETGBL R6 G4 + 0x5C1C0A00, // 0009 MOVE R7 R5 + 0x7C180200, // 000A CALL R6 1 + 0x1C180D22, // 000B EQ R6 R6 K34 + 0x781A0007, // 000C JMPF R6 #0015 + 0x8C180724, // 000D GETMET R6 R3 K36 + 0x5C200A00, // 000E MOVE R8 R5 + 0x58240027, // 000F LDCONST R9 K39 + 0x7C180600, // 0010 CALL R6 3 + 0x781A0002, // 0011 JMPF R6 #0015 + 0x8C180B27, // 0012 GETMET R6 R5 K39 + 0x5C200800, // 0013 MOVE R8 R4 + 0x7C180400, // 0014 CALL R6 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: widget_ctor_impl +********************************************************************/ +be_local_closure(class_LVGL_glob_widget_ctor_impl, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(widget_ctor_impl), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0xA40E3000, // 0000 IMPORT R3 K24 + 0xB8121A00, // 0001 GETNGBL R4 K13 + 0x8C100920, // 0002 GETMET R4 R4 K32 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x8C14011D, // 0005 GETMET R5 R0 K29 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x7C140400, // 0007 CALL R5 2 + 0x8818011E, // 0008 GETMBR R6 R0 K30 + 0x8C180D28, // 0009 GETMET R6 R6 K40 + 0x5C200A00, // 000A MOVE R8 R5 + 0x7C180400, // 000B CALL R6 2 + 0x781A0001, // 000C JMPF R6 #000F + 0x8818011E, // 000D GETMBR R6 R0 K30 + 0x94140C05, // 000E GETIDX R5 R6 R5 + 0x60180004, // 000F GETGBL R6 G4 + 0x5C1C0A00, // 0010 MOVE R7 R5 + 0x7C180200, // 0011 CALL R6 1 + 0x1C180D22, // 0012 EQ R6 R6 K34 + 0x781A0007, // 0013 JMPF R6 #001C + 0x8C180724, // 0014 GETMET R6 R3 K36 + 0x5C200A00, // 0015 MOVE R8 R5 + 0x58240029, // 0016 LDCONST R9 K41 + 0x7C180600, // 0017 CALL R6 3 + 0x781A0002, // 0018 JMPF R6 #001C + 0x8C180B29, // 0019 GETMET R6 R5 K41 + 0x5C200800, // 001A MOVE R8 R4 + 0x7C180400, // 001B CALL R6 2 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(class_LVGL_glob__anonymous_, /* name */ + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 8, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60000001, // 0000 GETGBL R0 G1 + 0x5804002A, // 0001 LDCONST R1 K42 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_LVGL_glob_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(make_cb), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x680C0000, // 0000 GETUPV R3 U0 + 0x8C0C0700, // 0001 GETMET R3 R3 K0 + 0x5C140000, // 0002 MOVE R5 R0 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0400, // 0004 MOVE R7 R2 + 0x7C0C0800, // 0005 CALL R3 4 + 0x80040600, // 0006 RET 1 R3 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0x8C08032B, // 0001 GETMET R2 R1 K43 + 0x84100000, // 0002 CLOSURE R4 P0 + 0x7C080400, // 0003 CALL R2 2 + 0xA40A5800, // 0004 IMPORT R2 K44 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_object_from_ptr +********************************************************************/ +be_local_closure(class_LVGL_glob_get_object_from_ptr, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(get_object_from_ptr), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8808011E, // 0000 GETMBR R2 R0 K30 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0004, // 0003 JMPF R2 #0009 + 0x8808011E, // 0004 GETMBR R2 R0 K30 + 0x8C080528, // 0005 GETMET R2 R2 K40 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x80040400, // 0008 RET 1 R2 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: create_custom_widget +********************************************************************/ +be_local_closure(class_LVGL_glob_create_custom_widget, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(create_custom_widget), + &be_const_str_solidified, + ( &(const binstruction[86]) { /* code */ + 0xA40E3000, // 0000 IMPORT R3 K24 + 0x6010000F, // 0001 GETGBL R4 G15 + 0x5C140200, // 0002 MOVE R5 R1 + 0xB81A1A00, // 0003 GETNGBL R6 K13 + 0x88180D2D, // 0004 GETMBR R6 R6 K45 + 0x7C100400, // 0005 CALL R4 2 + 0x74120000, // 0006 JMPT R4 #0008 + 0xB0065D2F, // 0007 RAISE 1 K46 K47 + 0x88100130, // 0008 GETMBR R4 R0 K48 + 0x4C140000, // 0009 LDNIL R5 + 0x1C100805, // 000A EQ R4 R4 R5 + 0x78120002, // 000B JMPF R4 #000F + 0x60100013, // 000C GETGBL R4 G19 + 0x7C100000, // 000D CALL R4 0 + 0x90026004, // 000E SETMBR R0 K48 R4 + 0x60100005, // 000F GETGBL R4 G5 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C100200, // 0011 CALL R4 1 + 0x88140130, // 0012 GETMBR R5 R0 K48 + 0x8C140B28, // 0013 GETMET R5 R5 K40 + 0x5C1C0800, // 0014 MOVE R7 R4 + 0x7C140400, // 0015 CALL R5 2 + 0x4C180000, // 0016 LDNIL R6 + 0x1C180A06, // 0017 EQ R6 R5 R6 + 0x781A002F, // 0018 JMPF R6 #0049 + 0x8C180131, // 0019 GETMET R6 R0 K49 + 0x7C180200, // 001A CALL R6 1 + 0x88180132, // 001B GETMBR R6 R0 K50 + 0x8C180D33, // 001C GETMET R6 R6 K51 + 0x7C180200, // 001D CALL R6 1 + 0x5C140C00, // 001E MOVE R5 R6 + 0x60180003, // 001F GETGBL R6 G3 + 0x5C1C0200, // 0020 MOVE R7 R1 + 0x7C180200, // 0021 CALL R6 1 + 0x88180D35, // 0022 GETMBR R6 R6 K53 + 0x90166806, // 0023 SETMBR R5 K52 R6 + 0x8C180706, // 0024 GETMET R6 R3 K6 + 0x5C200200, // 0025 MOVE R8 R1 + 0x58240036, // 0026 LDCONST R9 K54 + 0x7C180600, // 0027 CALL R6 3 + 0x781A0001, // 0028 JMPF R6 #002B + 0x88180336, // 0029 GETMBR R6 R1 K54 + 0x90166E06, // 002A SETMBR R5 K55 R6 + 0x8C180706, // 002B GETMET R6 R3 K6 + 0x5C200200, // 002C MOVE R8 R1 + 0x58240038, // 002D LDCONST R9 K56 + 0x7C180600, // 002E CALL R6 3 + 0x781A0001, // 002F JMPF R6 #0032 + 0x88180338, // 0030 GETMBR R6 R1 K56 + 0x90167206, // 0031 SETMBR R5 K57 R6 + 0x8C180706, // 0032 GETMET R6 R3 K6 + 0x5C200200, // 0033 MOVE R8 R1 + 0x5824003A, // 0034 LDCONST R9 K58 + 0x7C180600, // 0035 CALL R6 3 + 0x781A0001, // 0036 JMPF R6 #0039 + 0x8818033A, // 0037 GETMBR R6 R1 K58 + 0x90167606, // 0038 SETMBR R5 K59 R6 + 0x8C180706, // 0039 GETMET R6 R3 K6 + 0x5C200200, // 003A MOVE R8 R1 + 0x5824003C, // 003B LDCONST R9 K60 + 0x7C180600, // 003C CALL R6 3 + 0x781A0001, // 003D JMPF R6 #0040 + 0x8818033C, // 003E GETMBR R6 R1 K60 + 0x90167A06, // 003F SETMBR R5 K61 R6 + 0x8C180706, // 0040 GETMET R6 R3 K6 + 0x5C200200, // 0041 MOVE R8 R1 + 0x5824003E, // 0042 LDCONST R9 K62 + 0x7C180600, // 0043 CALL R6 3 + 0x781A0001, // 0044 JMPF R6 #0047 + 0x8818033E, // 0045 GETMBR R6 R1 K62 + 0x90167E06, // 0046 SETMBR R5 K63 R6 + 0x88180130, // 0047 GETMBR R6 R0 K48 + 0x98180805, // 0048 SETIDX R6 R4 R5 + 0xB81A1A00, // 0049 GETNGBL R6 K13 + 0x8C180D40, // 004A GETMET R6 R6 K64 + 0x5C200A00, // 004B MOVE R8 R5 + 0x5C240400, // 004C MOVE R9 R2 + 0x7C180600, // 004D CALL R6 3 + 0x881C0D10, // 004E GETMBR R7 R6 K16 + 0x90062007, // 004F SETMBR R1 K16 R7 + 0x8C1C010B, // 0050 GETMET R7 R0 K11 + 0x5C240200, // 0051 MOVE R9 R1 + 0x7C1C0400, // 0052 CALL R7 2 + 0x8C1C0341, // 0053 GETMET R7 R1 K65 + 0x7C1C0200, // 0054 CALL R7 1 + 0x80000000, // 0055 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: widget_cb +********************************************************************/ +be_local_closure(class_LVGL_glob_widget_cb, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 3]) { + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(widget_ctor_impl), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68080000, // 0000 GETUPV R2 U0 + 0x8C080500, // 0001 GETMET R2 R2 K0 + 0x5C100000, // 0002 MOVE R4 R0 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ), + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(widget_dtor_impl), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68080000, // 0000 GETUPV R2 U0 + 0x8C080500, // 0001 GETMET R2 R2 K0 + 0x5C100000, // 0002 MOVE R4 R0 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ), + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(widget_event_impl), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68080000, // 0000 GETUPV R2 U0 + 0x8C080500, // 0001 GETMET R2 R2 K0 + 0x5C100000, // 0002 MOVE R4 R0 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C080600, // 0004 CALL R2 3 + 0x80040400, // 0005 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(widget_cb), + &be_const_str_solidified, + ( &(const binstruction[54]) { /* code */ + 0xA4060200, // 0000 IMPORT R1 K1 + 0x88080142, // 0001 GETMBR R2 R0 K66 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C080403, // 0003 EQ R2 R2 R3 + 0x780A0003, // 0004 JMPF R2 #0009 + 0x8C080302, // 0005 GETMET R2 R1 K2 + 0x84100000, // 0006 CLOSURE R4 P0 + 0x7C080400, // 0007 CALL R2 2 + 0x90028402, // 0008 SETMBR R0 K66 R2 + 0x88080143, // 0009 GETMBR R2 R0 K67 + 0x4C0C0000, // 000A LDNIL R3 + 0x1C080403, // 000B EQ R2 R2 R3 + 0x780A0003, // 000C JMPF R2 #0011 + 0x8C080302, // 000D GETMET R2 R1 K2 + 0x84100001, // 000E CLOSURE R4 P1 + 0x7C080400, // 000F CALL R2 2 + 0x90028602, // 0010 SETMBR R0 K67 R2 + 0x88080144, // 0011 GETMBR R2 R0 K68 + 0x4C0C0000, // 0012 LDNIL R3 + 0x1C080403, // 0013 EQ R2 R2 R3 + 0x780A0003, // 0014 JMPF R2 #0019 + 0x8C080302, // 0015 GETMET R2 R1 K2 + 0x84100002, // 0016 CLOSURE R4 P2 + 0x7C080400, // 0017 CALL R2 2 + 0x90028802, // 0018 SETMBR R0 K68 R2 + 0x88080132, // 0019 GETMBR R2 R0 K50 + 0x4C0C0000, // 001A LDNIL R3 + 0x1C080403, // 001B EQ R2 R2 R3 + 0x780A0016, // 001C JMPF R2 #0034 + 0xB80A1A00, // 001D GETNGBL R2 K13 + 0x8C080520, // 001E GETMET R2 R2 K32 + 0xB8121A00, // 001F GETNGBL R4 K13 + 0x8810092D, // 0020 GETMBR R4 R4 K45 + 0x88100935, // 0021 GETMBR R4 R4 K53 + 0x7C080400, // 0022 CALL R2 2 + 0x8C080533, // 0023 GETMET R2 R2 K51 + 0x7C080200, // 0024 CALL R2 1 + 0x90026402, // 0025 SETMBR R0 K50 R2 + 0x88080132, // 0026 GETMBR R2 R0 K50 + 0xB80E1A00, // 0027 GETNGBL R3 K13 + 0x880C072D, // 0028 GETMBR R3 R3 K45 + 0x880C0735, // 0029 GETMBR R3 R3 K53 + 0x900A6803, // 002A SETMBR R2 K52 R3 + 0x88080132, // 002B GETMBR R2 R0 K50 + 0x880C0142, // 002C GETMBR R3 R0 K66 + 0x900A8A03, // 002D SETMBR R2 K69 R3 + 0x88080132, // 002E GETMBR R2 R0 K50 + 0x880C0143, // 002F GETMBR R3 R0 K67 + 0x900A8C03, // 0030 SETMBR R2 K70 R3 + 0x88080132, // 0031 GETMBR R2 R0 K50 + 0x880C0144, // 0032 GETMBR R3 R0 K68 + 0x900A0003, // 0033 SETMBR R2 K0 R3 + 0xA0000000, // 0034 CLOSE R0 + 0x80000000, // 0035 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_cb +********************************************************************/ +be_local_closure(class_LVGL_glob_remove_cb, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_LVGL_glob, /* shared constants */ + be_str_weak(remove_cb), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0xA40A3000, // 0000 IMPORT R2 K24 + 0x880C0310, // 0001 GETMBR R3 R1 K16 + 0x8C100147, // 0002 GETMET R4 R0 K71 + 0x5C180600, // 0003 MOVE R6 R3 + 0x7C100400, // 0004 CALL R4 2 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: LVGL_glob +********************************************************************/ +be_local_class(LVGL_glob, + 12, + NULL, + be_nested_map(28, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_event_cb, -1), be_const_closure(class_LVGL_glob_get_event_cb_closure) }, + { be_const_key_weak(cb_event_closure, -1), be_const_var(1) }, + { be_const_key_weak(lvgl_timer_dispatch, -1), be_const_closure(class_LVGL_glob_lvgl_timer_dispatch_closure) }, + { be_const_key_weak(deregister_obj, -1), be_const_closure(class_LVGL_glob_deregister_obj_closure) }, + { be_const_key_weak(event_cb, 2), be_const_var(2) }, + { be_const_key_weak(register_obj, -1), be_const_closure(class_LVGL_glob_register_obj_closure) }, + { be_const_key_weak(lvgl_event_dispatch, 20), be_const_closure(class_LVGL_glob_lvgl_event_dispatch_closure) }, + { be_const_key_weak(widget_event_impl, -1), be_const_closure(class_LVGL_glob_widget_event_impl_closure) }, + { be_const_key_weak(widget_ctor_cb, 16), be_const_var(7) }, + { be_const_key_weak(make_cb, 3), be_const_closure(class_LVGL_glob_make_cb_closure) }, + { be_const_key_weak(create_custom_widget, 5), be_const_closure(class_LVGL_glob_create_custom_widget_closure) }, + { be_const_key_weak(event, -1), be_const_var(4) }, + { be_const_key_weak(get_object_from_ptr, -1), be_const_closure(class_LVGL_glob_get_object_from_ptr_closure) }, + { be_const_key_weak(widget_struct_default, 7), be_const_var(10) }, + { be_const_key_weak(widget_dtor_impl, -1), be_const_closure(class_LVGL_glob_widget_dtor_impl_closure) }, + { be_const_key_weak(widget_ctor_impl, -1), be_const_closure(class_LVGL_glob_widget_ctor_impl_closure) }, + { be_const_key_weak(general_event_cb, -1), be_const_var(5) }, + { be_const_key_weak(cb_do_nothing, -1), be_const_static_closure(class_LVGL_glob__anonymous__closure) }, + { be_const_key_weak(widget_event_cb, 17), be_const_var(9) }, + { be_const_key_weak(init, -1), be_const_closure(class_LVGL_glob_init_closure) }, + { be_const_key_weak(timer_cb, -1), be_const_var(3) }, + { be_const_key_weak(widget_dtor_cb, 12), be_const_var(8) }, + { be_const_key_weak(cb_obj, 10), be_const_var(0) }, + { be_const_key_weak(widget_cb, -1), be_const_closure(class_LVGL_glob_widget_cb_closure) }, + { be_const_key_weak(null_cb, -1), be_const_var(6) }, + { be_const_key_weak(add_cb_event_closure, 4), be_const_closure(class_LVGL_glob_add_cb_event_closure_closure) }, + { be_const_key_weak(widget_struct_by_class, -1), be_const_var(11) }, + { be_const_key_weak(remove_cb, -1), be_const_closure(class_LVGL_glob_remove_cb_closure) }, + })), + be_str_weak(LVGL_glob) +); +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_0_module.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_0_module.h new file mode 100644 index 000000000..338a10cb6 --- /dev/null +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_0_module.h @@ -0,0 +1,7 @@ +/* Solidification of lv_0_module.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_1_constants.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_1_constants.h new file mode 100644 index 000000000..d9aa7a4cc --- /dev/null +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_1_constants.h @@ -0,0 +1,7 @@ +/* Solidification of lv_1_constants.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_haspmota.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_haspmota.h new file mode 100644 index 000000000..ff108b0a9 --- /dev/null +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/berry_haspmota/solidified_lv_haspmota.h @@ -0,0 +1,13486 @@ +/* Solidification of lv_haspmota.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +extern const bclass be_class_lvh_root; +// compact class 'lvh_root' ktab size: 70, total: 104 (saved 272 bytes) +static const bvalue be_ktab_class_lvh_root[70] = { + /* K0 */ be_nested_str_weak(remove_val_rule), + /* K1 */ be_nested_str_weak(_val_rule), + /* K2 */ be_nested_str_weak(tasmota), + /* K3 */ be_nested_str_weak(add_rule), + /* K4 */ be_nested_str_weak(_val_rule_formula), + /* K5 */ be_nested_str_weak(return_X20_X2F_X20val_X20_X2D_X3E_X20_X28), + /* K6 */ be_nested_str_weak(_X29), + /* K7 */ be_nested_str_weak(_val_rule_function), + /* K8 */ be_nested_str_weak(HSP_X3A_X20failed_X20to_X20compile_X20_X27_X25s_X27_X20_X2D_X20_X25s_X20_X28_X25s_X29), + /* K9 */ be_const_class(be_class_lvh_root), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(_X23), + /* K12 */ be_nested_str_weak(lv), + /* K13 */ be_nested_str_weak(color), + /* K14 */ be_nested_str_weak(string), + /* K15 */ be_nested_str_weak(introspect), + /* K16 */ be_nested_str_weak(COLOR_), + /* K17 */ be_nested_str_weak(toupper), + /* K18 */ be_nested_str_weak(get), + /* K19 */ be_nested_str_weak(_page), + /* K20 */ be_nested_str_weak(remove_obj), + /* K21 */ be_nested_str_weak(id), + /* K22 */ be_nested_str_weak(int), + /* K23 */ be_nested_str_weak(font_embedded), + /* K24 */ be_nested_str_weak(robotocondensed), + /* K25 */ be_nested_str_weak(path), + /* K26 */ be_nested_str_weak(roboto_X2Ettf), + /* K27 */ be_nested_str_weak(exists), + /* K28 */ be_nested_str_weak(RobotoCondensed_X2DRegular_X2Ettf), + /* K29 */ be_nested_str_weak(load_freetype_font), + /* K30 */ be_nested_str_weak(HSP_X3A_X20_X27roboto_X2Ettf_X27_X20file_X20missing_X20for_X20size_X3A), + /* K31 */ be_nested_str_weak(HSP_X3A_X20Unsupported_X20font_X3A), + /* K32 */ be_nested_str_weak(split), + /* K33 */ be_nested_str_weak(_X3A), + /* K34 */ be_const_int(1), + /* K35 */ be_nested_str_weak(_X2D), + /* K36 */ be_const_int(2), + /* K37 */ be_nested_str_weak(concat), + /* K38 */ be_nested_str_weak(endswith), + /* K39 */ be_nested_str_weak(_X2Ettf), + /* K40 */ be_nested_str_weak(load_font), + /* K41 */ be_nested_str_weak(_text_rule_formula), + /* K42 */ be_nested_str_weak(HSP_X3A_X20failed_X20to_X20run_X20self_X2E_val_rule_function_X20_X2D_X20_X25s_X20_X28_X25s_X29), + /* K43 */ be_nested_str_weak(val), + /* K44 */ be_nested_str_weak(resize), + /* K45 */ be_nested_str_weak(_text_rule), + /* K46 */ be_nested_str_weak(remove_rule), + /* K47 */ be_nested_str_weak(_tag), + /* K48 */ be_nested_str_weak(_text_rule_format), + /* K49 */ be_nested_str_weak(set_text), + /* K50 */ be_nested_str_weak(_val), + /* K51 */ be_nested_str_weak(set_val), + /* K52 */ be_nested_str_weak(_parent_lvh), + /* K53 */ be_nested_str_weak(_lv_class), + /* K54 */ be_nested_str_weak(_lv_obj), + /* K55 */ be_nested_str_weak(post_init), + /* K56 */ be_nested_str_weak(_meta), + /* K57 */ be_nested_str_weak(_text_rule_function), + /* K58 */ be_nested_str_weak(HSP_X3A_X20failed_X20to_X20run_X20self_X2E_text_rule_function_X20_X2D_X20_X25s_X20_X28_X25s_X29), + /* K59 */ be_nested_str_weak(), + /* K60 */ be_nested_str_weak(text), + /* K61 */ be_nested_str_weak(remove_text_rule), + /* K62 */ be_nested_str_weak(_digit2part), + /* K63 */ be_nested_str_weak(_digit2state), + /* K64 */ be_nested_str_weak(invalid_X20style_X20suffix_X20_X2502i), + /* K65 */ be_nested_str_weak(value_error), + /* K66 */ be_nested_str_weak(get_text), + /* K67 */ be_nested_str_weak(_delete), + /* K68 */ be_nested_str_weak(type_error), + /* K69 */ be_nested_str_weak(you_X20cannot_X20assign_X20to_X20_X27delete_X27), +}; + + +extern const bclass be_class_lvh_root; + +/******************************************************************** +** Solidified function: set_val_rule +********************************************************************/ +be_local_closure(class_lvh_root_set_val_rule, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(val_rule_matched), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_val_rule), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8C080100, // 0000 GETMET R2 R0 K0 + 0x7C080200, // 0001 CALL R2 1 + 0x60080008, // 0002 GETGBL R2 G8 + 0x5C0C0200, // 0003 MOVE R3 R1 + 0x7C080200, // 0004 CALL R2 1 + 0x90020202, // 0005 SETMBR R0 K1 R2 + 0xB80A0400, // 0006 GETNGBL R2 K2 + 0x8C080503, // 0007 GETMET R2 R2 K3 + 0x88100101, // 0008 GETMBR R4 R0 K1 + 0x84140000, // 0009 CLOSURE R5 P0 + 0x5C180000, // 000A MOVE R6 R0 + 0x7C080800, // 000B CALL R2 4 + 0xA0000000, // 000C CLOSE R0 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val_rule_formula +********************************************************************/ +be_local_closure(class_lvh_root_set_val_rule_formula, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_val_rule_formula), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020802, // 0003 SETMBR R0 K4 R2 + 0x88080104, // 0004 GETMBR R2 R0 K4 + 0x000A0A02, // 0005 ADD R2 K5 R2 + 0x00080506, // 0006 ADD R2 R2 K6 + 0xA8020007, // 0007 EXBLK 0 #0010 + 0x600C000D, // 0008 GETGBL R3 G13 + 0x5C100400, // 0009 MOVE R4 R2 + 0x7C0C0200, // 000A CALL R3 1 + 0x5C100600, // 000B MOVE R4 R3 + 0x7C100000, // 000C CALL R4 0 + 0x90020E04, // 000D SETMBR R0 K7 R4 + 0xA8040001, // 000E EXBLK 1 1 + 0x7002000B, // 000F JMP #001C + 0xAC0C0002, // 0010 CATCH R3 0 2 + 0x70020008, // 0011 JMP #001B + 0x60140001, // 0012 GETGBL R5 G1 + 0x60180018, // 0013 GETGBL R6 G24 + 0x581C0008, // 0014 LDCONST R7 K8 + 0x5C200400, // 0015 MOVE R8 R2 + 0x5C240600, // 0016 MOVE R9 R3 + 0x5C280800, // 0017 MOVE R10 R4 + 0x7C180800, // 0018 CALL R6 4 + 0x7C140200, // 0019 CALL R5 1 + 0x70020000, // 001A JMP #001C + 0xB0080000, // 001B RAISE 2 R0 R0 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_color +********************************************************************/ +be_local_closure(class_lvh_root_parse_color, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[14]) { /* constants */ + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_const_int(0), + /* K2 */ be_const_int(1), + /* K3 */ be_nested_str_weak(_X23), + /* K4 */ be_nested_str_weak(x), + /* K5 */ be_nested_str_weak(X), + /* K6 */ be_nested_str_weak(A), + /* K7 */ be_nested_str_weak(F), + /* K8 */ be_nested_str_weak(byte), + /* K9 */ be_nested_str_weak(a), + /* K10 */ be_nested_str_weak(f), + /* K11 */ be_nested_str_weak(0), + /* K12 */ be_nested_str_weak(9), + /* K13 */ be_nested_str_weak(stop_iteration), + }), + be_str_weak(parse_hex), + &be_const_str_solidified, + ( &(const binstruction[67]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x58080001, // 0001 LDCONST R2 K1 + 0x600C0010, // 0002 GETGBL R3 G16 + 0x6010000C, // 0003 GETGBL R4 G12 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C100200, // 0005 CALL R4 1 + 0x04100902, // 0006 SUB R4 R4 K2 + 0x40120204, // 0007 CONNECT R4 K1 R4 + 0x7C0C0200, // 0008 CALL R3 1 + 0xA8020034, // 0009 EXBLK 0 #003F + 0x5C100600, // 000A MOVE R4 R3 + 0x7C100000, // 000B CALL R4 0 + 0x94140004, // 000C GETIDX R5 R0 R4 + 0x1C180B03, // 000D EQ R6 R5 K3 + 0x781A0000, // 000E JMPF R6 #0010 + 0x7001FFF9, // 000F JMP #000A + 0x1C180B04, // 0010 EQ R6 R5 K4 + 0x741A0001, // 0011 JMPT R6 #0014 + 0x1C180B05, // 0012 EQ R6 R5 K5 + 0x781A0000, // 0013 JMPF R6 #0015 + 0x7001FFF4, // 0014 JMP #000A + 0x28180B06, // 0015 GE R6 R5 K6 + 0x781A000B, // 0016 JMPF R6 #0023 + 0x18180B07, // 0017 LE R6 R5 K7 + 0x781A0009, // 0018 JMPF R6 #0023 + 0x541A0003, // 0019 LDINT R6 4 + 0x38180406, // 001A SHL R6 R2 R6 + 0x8C1C0308, // 001B GETMET R7 R1 K8 + 0x5C240A00, // 001C MOVE R9 R5 + 0x7C1C0400, // 001D CALL R7 2 + 0x54220036, // 001E LDINT R8 55 + 0x041C0E08, // 001F SUB R7 R7 R8 + 0x30180C07, // 0020 OR R6 R6 R7 + 0x5C080C00, // 0021 MOVE R2 R6 + 0x7002001A, // 0022 JMP #003E + 0x28180B09, // 0023 GE R6 R5 K9 + 0x781A000B, // 0024 JMPF R6 #0031 + 0x18180B0A, // 0025 LE R6 R5 K10 + 0x781A0009, // 0026 JMPF R6 #0031 + 0x541A0003, // 0027 LDINT R6 4 + 0x38180406, // 0028 SHL R6 R2 R6 + 0x8C1C0308, // 0029 GETMET R7 R1 K8 + 0x5C240A00, // 002A MOVE R9 R5 + 0x7C1C0400, // 002B CALL R7 2 + 0x54220056, // 002C LDINT R8 87 + 0x041C0E08, // 002D SUB R7 R7 R8 + 0x30180C07, // 002E OR R6 R6 R7 + 0x5C080C00, // 002F MOVE R2 R6 + 0x7002000C, // 0030 JMP #003E + 0x28180B0B, // 0031 GE R6 R5 K11 + 0x781A000A, // 0032 JMPF R6 #003E + 0x18180B0C, // 0033 LE R6 R5 K12 + 0x781A0008, // 0034 JMPF R6 #003E + 0x541A0003, // 0035 LDINT R6 4 + 0x38180406, // 0036 SHL R6 R2 R6 + 0x8C1C0308, // 0037 GETMET R7 R1 K8 + 0x5C240A00, // 0038 MOVE R9 R5 + 0x7C1C0400, // 0039 CALL R7 2 + 0x5422002F, // 003A LDINT R8 48 + 0x041C0E08, // 003B SUB R7 R7 R8 + 0x30180C07, // 003C OR R6 R6 R7 + 0x5C080C00, // 003D MOVE R2 R6 + 0x7001FFCA, // 003E JMP #000A + 0x580C000D, // 003F LDCONST R3 K13 + 0xAC0C0200, // 0040 CATCH R3 1 0 + 0xB0080000, // 0041 RAISE 2 R0 R0 + 0x80040400, // 0042 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(parse_color), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x58040009, // 0000 LDCONST R1 K9 + 0x84080000, // 0001 CLOSURE R2 P0 + 0x600C0008, // 0002 GETGBL R3 G8 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x5C000600, // 0005 MOVE R0 R3 + 0x940C010A, // 0006 GETIDX R3 R0 K10 + 0x1C0C070B, // 0007 EQ R3 R3 K11 + 0x780E0007, // 0008 JMPF R3 #0011 + 0xB80E1800, // 0009 GETNGBL R3 K12 + 0x8C0C070D, // 000A GETMET R3 R3 K13 + 0x5C140400, // 000B MOVE R5 R2 + 0x5C180000, // 000C MOVE R6 R0 + 0x7C140200, // 000D CALL R5 1 + 0x7C0C0400, // 000E CALL R3 2 + 0x80040600, // 000F RET 1 R3 + 0x70020011, // 0010 JMP #0023 + 0xA40E1C00, // 0011 IMPORT R3 K14 + 0xA4121E00, // 0012 IMPORT R4 K15 + 0x8C140711, // 0013 GETMET R5 R3 K17 + 0x5C1C0000, // 0014 MOVE R7 R0 + 0x7C140400, // 0015 CALL R5 2 + 0x00162005, // 0016 ADD R5 K16 R5 + 0x8C180912, // 0017 GETMET R6 R4 K18 + 0xB8221800, // 0018 GETNGBL R8 K12 + 0x5C240A00, // 0019 MOVE R9 R5 + 0x7C180600, // 001A CALL R6 3 + 0x4C1C0000, // 001B LDNIL R7 + 0x201C0C07, // 001C NE R7 R6 R7 + 0x781E0004, // 001D JMPF R7 #0023 + 0xB81E1800, // 001E GETNGBL R7 K12 + 0x8C1C0F0D, // 001F GETMET R7 R7 K13 + 0x5C240C00, // 0020 MOVE R9 R6 + 0x7C1C0400, // 0021 CALL R7 2 + 0x80040E00, // 0022 RET 1 R7 + 0xB80E1800, // 0023 GETNGBL R3 K12 + 0x8C0C070D, // 0024 GETMET R3 R3 K13 + 0x5814000A, // 0025 LDCONST R5 K10 + 0x7C0C0400, // 0026 CALL R3 2 + 0x80040600, // 0027 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _delete +********************************************************************/ +be_local_closure(class_lvh_root__delete, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(_delete), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88040113, // 0000 GETMBR R1 R0 K19 + 0x8C040314, // 0001 GETMET R1 R1 K20 + 0x880C0115, // 0002 GETMBR R3 R0 K21 + 0x7C040400, // 0003 CALL R1 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_font +********************************************************************/ +be_local_closure(class_lvh_root_parse_font, /* name */ + be_nested_proto( + 15, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(parse_font), + &be_const_str_solidified, + ( &(const binstruction[172]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x600C0004, // 0001 GETGBL R3 G4 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x1C0C0716, // 0004 EQ R3 R3 K22 + 0x780E0038, // 0005 JMPF R3 #003F + 0xA8020007, // 0006 EXBLK 0 #000F + 0xB80E1800, // 0007 GETNGBL R3 K12 + 0x8C0C0717, // 0008 GETMET R3 R3 K23 + 0x58140018, // 0009 LDCONST R5 K24 + 0x5C180200, // 000A MOVE R6 R1 + 0x7C0C0600, // 000B CALL R3 3 + 0x5C080600, // 000C MOVE R2 R3 + 0xA8040001, // 000D EXBLK 1 1 + 0x7002002E, // 000E JMP #003E + 0xAC0C0000, // 000F CATCH R3 0 0 + 0x7002002B, // 0010 JMP #003D + 0xA40E3200, // 0011 IMPORT R3 K25 + 0xA802001E, // 0012 EXBLK 0 #0032 + 0x5810001A, // 0013 LDCONST R4 K26 + 0x8C14071B, // 0014 GETMET R5 R3 K27 + 0x5C1C0800, // 0015 MOVE R7 R4 + 0x7C140400, // 0016 CALL R5 2 + 0x74160005, // 0017 JMPT R5 #001E + 0x5810001C, // 0018 LDCONST R4 K28 + 0x8C14071B, // 0019 GETMET R5 R3 K27 + 0x5C1C0800, // 001A MOVE R7 R4 + 0x7C140400, // 001B CALL R5 2 + 0x74160000, // 001C JMPT R5 #001E + 0x4C100000, // 001D LDNIL R4 + 0x4C140000, // 001E LDNIL R5 + 0x20140805, // 001F NE R5 R4 R5 + 0x78160007, // 0020 JMPF R5 #0029 + 0xB8161800, // 0021 GETNGBL R5 K12 + 0x8C140B1D, // 0022 GETMET R5 R5 K29 + 0x5C1C0800, // 0023 MOVE R7 R4 + 0x5C200200, // 0024 MOVE R8 R1 + 0x5824000A, // 0025 LDCONST R9 K10 + 0x7C140800, // 0026 CALL R5 4 + 0x5C080A00, // 0027 MOVE R2 R5 + 0x70020006, // 0028 JMP #0030 + 0x60140001, // 0029 GETGBL R5 G1 + 0x5818001E, // 002A LDCONST R6 K30 + 0x5C1C0200, // 002B MOVE R7 R1 + 0x7C140400, // 002C CALL R5 2 + 0x4C140000, // 002D LDNIL R5 + 0xA8040001, // 002E EXBLK 1 1 + 0x80040A00, // 002F RET 1 R5 + 0xA8040001, // 0030 EXBLK 1 1 + 0x70020009, // 0031 JMP #003C + 0xAC100000, // 0032 CATCH R4 0 0 + 0x70020006, // 0033 JMP #003B + 0x60100001, // 0034 GETGBL R4 G1 + 0x5814001F, // 0035 LDCONST R5 K31 + 0x5C180200, // 0036 MOVE R6 R1 + 0x7C100400, // 0037 CALL R4 2 + 0x4C100000, // 0038 LDNIL R4 + 0x80040800, // 0039 RET 1 R4 + 0x70020000, // 003A JMP #003C + 0xB0080000, // 003B RAISE 2 R0 R0 + 0x70020000, // 003C JMP #003E + 0xB0080000, // 003D RAISE 2 R0 R0 + 0x70020062, // 003E JMP #00A2 + 0x600C0004, // 003F GETGBL R3 G4 + 0x5C100200, // 0040 MOVE R4 R1 + 0x7C0C0200, // 0041 CALL R3 1 + 0x1C0C070E, // 0042 EQ R3 R3 K14 + 0x780E005D, // 0043 JMPF R3 #00A2 + 0xA40E1C00, // 0044 IMPORT R3 K14 + 0x8C100720, // 0045 GETMET R4 R3 K32 + 0x5C180200, // 0046 MOVE R6 R1 + 0x581C0021, // 0047 LDCONST R7 K33 + 0x58200022, // 0048 LDCONST R8 K34 + 0x7C100800, // 0049 CALL R4 4 + 0x8C140720, // 004A GETMET R5 R3 K32 + 0x5C1C0200, // 004B MOVE R7 R1 + 0x58200023, // 004C LDCONST R8 K35 + 0x7C140600, // 004D CALL R5 3 + 0x5C180200, // 004E MOVE R6 R1 + 0x581C000A, // 004F LDCONST R7 K10 + 0x50200000, // 0050 LDBOOL R8 0 0 + 0x6024000C, // 0051 GETGBL R9 G12 + 0x5C280800, // 0052 MOVE R10 R4 + 0x7C240200, // 0053 CALL R9 1 + 0x24241322, // 0054 GT R9 R9 K34 + 0x78260003, // 0055 JMPF R9 #005A + 0x6024000C, // 0056 GETGBL R9 G12 + 0x9428090A, // 0057 GETIDX R10 R4 K10 + 0x7C240200, // 0058 CALL R9 1 + 0x74260000, // 0059 JMPT R9 #005B + 0x50240001, // 005A LDBOOL R9 0 1 + 0x50240200, // 005B LDBOOL R9 1 0 + 0x6028000C, // 005C GETGBL R10 G12 + 0x5C2C0A00, // 005D MOVE R11 R5 + 0x7C280200, // 005E CALL R10 1 + 0x28281524, // 005F GE R10 R10 K36 + 0x782A000B, // 0060 JMPF R10 #006D + 0x60280009, // 0061 GETGBL R10 G9 + 0x542DFFFE, // 0062 LDINT R11 -1 + 0x942C0A0B, // 0063 GETIDX R11 R5 R11 + 0x7C280200, // 0064 CALL R10 1 + 0x5C1C1400, // 0065 MOVE R7 R10 + 0x5429FFFD, // 0066 LDINT R10 -2 + 0x402A140A, // 0067 CONNECT R10 K10 R10 + 0x94280A0A, // 0068 GETIDX R10 R5 R10 + 0x8C281525, // 0069 GETMET R10 R10 K37 + 0x58300023, // 006A LDCONST R12 K35 + 0x7C280400, // 006B CALL R10 2 + 0x5C181400, // 006C MOVE R6 R10 + 0x8C280726, // 006D GETMET R10 R3 K38 + 0x5C300C00, // 006E MOVE R12 R6 + 0x58340027, // 006F LDCONST R13 K39 + 0x50380200, // 0070 LDBOOL R14 1 0 + 0x7C280800, // 0071 CALL R10 4 + 0x782A0006, // 0072 JMPF R10 #007A + 0x8C280720, // 0073 GETMET R10 R3 K32 + 0x5C300C00, // 0074 MOVE R12 R6 + 0x58340021, // 0075 LDCONST R13 K33 + 0x7C280600, // 0076 CALL R10 3 + 0x542DFFFE, // 0077 LDINT R11 -1 + 0x9418140B, // 0078 GETIDX R6 R10 R11 + 0x50200200, // 0079 LDBOOL R8 1 0 + 0x78220007, // 007A JMPF R8 #0083 + 0xB82A1800, // 007B GETNGBL R10 K12 + 0x8C28151D, // 007C GETMET R10 R10 K29 + 0x5C300C00, // 007D MOVE R12 R6 + 0x5C340E00, // 007E MOVE R13 R7 + 0x5838000A, // 007F LDCONST R14 K10 + 0x7C280800, // 0080 CALL R10 4 + 0x5C081400, // 0081 MOVE R2 R10 + 0x7002001E, // 0082 JMP #00A2 + 0x78260005, // 0083 JMPF R9 #008A + 0xB82A1800, // 0084 GETNGBL R10 K12 + 0x8C281528, // 0085 GETMET R10 R10 K40 + 0x5C300200, // 0086 MOVE R12 R1 + 0x7C280400, // 0087 CALL R10 2 + 0x5C081400, // 0088 MOVE R2 R10 + 0x70020017, // 0089 JMP #00A2 + 0x24280F0A, // 008A GT R10 R7 K10 + 0x782A0015, // 008B JMPF R10 #00A2 + 0x6028000C, // 008C GETGBL R10 G12 + 0x5C2C0C00, // 008D MOVE R11 R6 + 0x7C280200, // 008E CALL R10 1 + 0x2428150A, // 008F GT R10 R10 K10 + 0x782A0010, // 0090 JMPF R10 #00A2 + 0xA8020007, // 0091 EXBLK 0 #009A + 0xB82A1800, // 0092 GETNGBL R10 K12 + 0x8C281517, // 0093 GETMET R10 R10 K23 + 0x5C300C00, // 0094 MOVE R12 R6 + 0x5C340E00, // 0095 MOVE R13 R7 + 0x7C280600, // 0096 CALL R10 3 + 0x5C081400, // 0097 MOVE R2 R10 + 0xA8040001, // 0098 EXBLK 1 1 + 0x70020007, // 0099 JMP #00A2 + 0xAC280000, // 009A CATCH R10 0 0 + 0x70020004, // 009B JMP #00A1 + 0x60280001, // 009C GETGBL R10 G1 + 0x582C001F, // 009D LDCONST R11 K31 + 0x5C300200, // 009E MOVE R12 R1 + 0x7C280400, // 009F CALL R10 2 + 0x70020000, // 00A0 JMP #00A2 + 0xB0080000, // 00A1 RAISE 2 R0 R0 + 0x4C0C0000, // 00A2 LDNIL R3 + 0x200C0403, // 00A3 NE R3 R2 R3 + 0x780E0001, // 00A4 JMPF R3 #00A7 + 0x80040400, // 00A5 RET 1 R2 + 0x70020003, // 00A6 JMP #00AB + 0x600C0001, // 00A7 GETGBL R3 G1 + 0x5810001F, // 00A8 LDCONST R4 K31 + 0x5C140200, // 00A9 MOVE R5 R1 + 0x7C0C0400, // 00AA CALL R3 2 + 0x80000000, // 00AB RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val_rule +********************************************************************/ +be_local_closure(class_lvh_root_get_val_rule, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_val_rule), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_rule_formula +********************************************************************/ +be_local_closure(class_lvh_root_get_text_rule_formula, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_text_rule_formula), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040129, // 0000 GETMBR R1 R0 K41 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: val_rule_matched +********************************************************************/ +be_local_closure(class_lvh_root_val_rule_matched, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(val_rule_matched), + &be_const_str_solidified, + ( &(const binstruction[36]) { /* code */ + 0x6008000A, // 0000 GETGBL R2 G10 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0403, // 0004 EQ R3 R2 R3 + 0x780E0001, // 0005 JMPF R3 #0008 + 0x500C0000, // 0006 LDBOOL R3 0 0 + 0x80040600, // 0007 RET 1 R3 + 0x880C0107, // 0008 GETMBR R3 R0 K7 + 0x4C100000, // 0009 LDNIL R4 + 0x20100604, // 000A NE R4 R3 R4 + 0x78120011, // 000B JMPF R4 #001E + 0xA8020005, // 000C EXBLK 0 #0013 + 0x5C100600, // 000D MOVE R4 R3 + 0x5C140400, // 000E MOVE R5 R2 + 0x7C100200, // 000F CALL R4 1 + 0x5C080800, // 0010 MOVE R2 R4 + 0xA8040001, // 0011 EXBLK 1 1 + 0x7002000A, // 0012 JMP #001E + 0xAC100002, // 0013 CATCH R4 0 2 + 0x70020007, // 0014 JMP #001D + 0x60180001, // 0015 GETGBL R6 G1 + 0x601C0018, // 0016 GETGBL R7 G24 + 0x5820002A, // 0017 LDCONST R8 K42 + 0x5C240800, // 0018 MOVE R9 R4 + 0x5C280A00, // 0019 MOVE R10 R5 + 0x7C1C0600, // 001A CALL R7 3 + 0x7C180200, // 001B CALL R6 1 + 0x70020000, // 001C JMP #001E + 0xB0080000, // 001D RAISE 2 R0 R0 + 0x60100009, // 001E GETGBL R4 G9 + 0x5C140400, // 001F MOVE R5 R2 + 0x7C100200, // 0020 CALL R4 1 + 0x90025604, // 0021 SETMBR R0 K43 R4 + 0x50100000, // 0022 LDBOOL R4 0 0 + 0x80040800, // 0023 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_root_get_text, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_trailing_zeroes +********************************************************************/ +be_local_closure(class_lvh_root_remove_trailing_zeroes, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(remove_trailing_zeroes), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x58040009, // 0000 LDCONST R1 K9 + 0x6008000C, // 0001 GETGBL R2 G12 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C080200, // 0003 CALL R2 1 + 0x580C000A, // 0004 LDCONST R3 K10 + 0x14100602, // 0005 LT R4 R3 R2 + 0x78120007, // 0006 JMPF R4 #000F + 0x5411FFFE, // 0007 LDINT R4 -1 + 0x04100803, // 0008 SUB R4 R4 R3 + 0x94100004, // 0009 GETIDX R4 R0 R4 + 0x2010090A, // 000A NE R4 R4 K10 + 0x78120000, // 000B JMPF R4 #000D + 0x70020001, // 000C JMP #000F + 0x000C0722, // 000D ADD R3 R3 K34 + 0x7001FFF5, // 000E JMP #0005 + 0x2410070A, // 000F GT R4 R3 K10 + 0x78120005, // 0010 JMPF R4 #0017 + 0x8C10012C, // 0011 GETMET R4 R0 K44 + 0x6018000C, // 0012 GETGBL R6 G12 + 0x5C1C0000, // 0013 MOVE R7 R0 + 0x7C180200, // 0014 CALL R6 1 + 0x04180C03, // 0015 SUB R6 R6 R3 + 0x7C100400, // 0016 CALL R4 2 + 0x80040000, // 0017 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_text_rule +********************************************************************/ +be_local_closure(class_lvh_root_remove_text_rule, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(remove_text_rule), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8804012D, // 0000 GETMBR R1 R0 K45 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060004, // 0003 JMPF R1 #0009 + 0xB8060400, // 0004 GETNGBL R1 K2 + 0x8C04032E, // 0005 GETMET R1 R1 K46 + 0x880C012D, // 0006 GETMBR R3 R0 K45 + 0x5C100000, // 0007 MOVE R4 R0 + 0x7C040600, // 0008 CALL R1 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_tag +********************************************************************/ +be_local_closure(class_lvh_root_set_tag, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_tag), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90025E01, // 0000 SETMBR R0 K47 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_rule_format +********************************************************************/ +be_local_closure(class_lvh_root_set_text_rule_format, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_text_rule_format), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90026002, // 0003 SETMBR R0 K48 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_rule +********************************************************************/ +be_local_closure(class_lvh_root_get_text_rule, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_text_rule), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804012D, // 0000 GETMBR R1 R0 K45 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value_str +********************************************************************/ +be_local_closure(class_lvh_root_set_value_str, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_value_str), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C080131, // 0000 GETMET R2 R0 K49 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_config +********************************************************************/ +be_local_closure(class_lvh_root_post_config, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(post_config), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040132, // 0000 GETMBR R1 R0 K50 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060002, // 0003 JMPF R1 #0007 + 0x8C040133, // 0004 GETMET R1 R0 K51 + 0x880C0132, // 0005 GETMBR R3 R0 K50 + 0x7C040400, // 0006 CALL R1 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_root_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x90022602, // 0000 SETMBR R0 K19 R2 + 0x90026805, // 0001 SETMBR R0 K52 R5 + 0x4C180000, // 0002 LDNIL R6 + 0x1C180806, // 0003 EQ R6 R4 R6 + 0x781A0007, // 0004 JMPF R6 #000D + 0x88180135, // 0005 GETMBR R6 R0 K53 + 0x781A0005, // 0006 JMPF R6 #000D + 0x88180135, // 0007 GETMBR R6 R0 K53 + 0x5C1C0C00, // 0008 MOVE R7 R6 + 0x5C200200, // 0009 MOVE R8 R1 + 0x7C1C0200, // 000A CALL R7 1 + 0x90026C07, // 000B SETMBR R0 K54 R7 + 0x70020000, // 000C JMP #000E + 0x90026C04, // 000D SETMBR R0 K54 R4 + 0x8C180137, // 000E GETMET R6 R0 K55 + 0x7C180200, // 000F CALL R6 1 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_tag +********************************************************************/ +be_local_closure(class_lvh_root_get_tag, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_tag), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x8804012F, // 0000 GETMBR R1 R0 K47 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_meta +********************************************************************/ +be_local_closure(class_lvh_root_set_meta, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_meta), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x90027001, // 0000 SETMBR R0 K56 R1 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: text_rule_matched +********************************************************************/ +be_local_closure(class_lvh_root_text_rule_matched, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(text_rule_matched), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x60080004, // 0000 GETGBL R2 G4 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x1C080516, // 0003 EQ R2 R2 K22 + 0x780A0003, // 0004 JMPF R2 #0009 + 0x6008000A, // 0005 GETGBL R2 G10 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x7C080200, // 0007 CALL R2 1 + 0x5C040400, // 0008 MOVE R1 R2 + 0x88080139, // 0009 GETMBR R2 R0 K57 + 0x4C0C0000, // 000A LDNIL R3 + 0x200C0403, // 000B NE R3 R2 R3 + 0x780E0011, // 000C JMPF R3 #001F + 0xA8020005, // 000D EXBLK 0 #0014 + 0x5C0C0400, // 000E MOVE R3 R2 + 0x5C100200, // 000F MOVE R4 R1 + 0x7C0C0200, // 0010 CALL R3 1 + 0x5C040600, // 0011 MOVE R1 R3 + 0xA8040001, // 0012 EXBLK 1 1 + 0x7002000A, // 0013 JMP #001F + 0xAC0C0002, // 0014 CATCH R3 0 2 + 0x70020007, // 0015 JMP #001E + 0x60140001, // 0016 GETGBL R5 G1 + 0x60180018, // 0017 GETGBL R6 G24 + 0x581C003A, // 0018 LDCONST R7 K58 + 0x5C200600, // 0019 MOVE R8 R3 + 0x5C240800, // 001A MOVE R9 R4 + 0x7C180600, // 001B CALL R6 3 + 0x7C140200, // 001C CALL R5 1 + 0x70020000, // 001D JMP #001F + 0xB0080000, // 001E RAISE 2 R0 R0 + 0x880C0130, // 001F GETMBR R3 R0 K48 + 0x60100004, // 0020 GETGBL R4 G4 + 0x5C140600, // 0021 MOVE R5 R3 + 0x7C100200, // 0022 CALL R4 1 + 0x1C10090E, // 0023 EQ R4 R4 K14 + 0x78120005, // 0024 JMPF R4 #002B + 0x60100018, // 0025 GETGBL R4 G24 + 0x5C140600, // 0026 MOVE R5 R3 + 0x5C180200, // 0027 MOVE R6 R1 + 0x7C100400, // 0028 CALL R4 2 + 0x5C0C0800, // 0029 MOVE R3 R4 + 0x70020000, // 002A JMP #002C + 0x580C003B, // 002B LDCONST R3 K59 + 0x90027803, // 002C SETMBR R0 K60 R3 + 0x50100000, // 002D LDBOOL R4 0 0 + 0x80040800, // 002E RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_meta +********************************************************************/ +be_local_closure(class_lvh_root_get_meta, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_meta), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040138, // 0000 GETMBR R1 R0 K56 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_rule_formula +********************************************************************/ +be_local_closure(class_lvh_root_set_text_rule_formula, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_text_rule_formula), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90025202, // 0003 SETMBR R0 K41 R2 + 0x88080129, // 0004 GETMBR R2 R0 K41 + 0x000A0A02, // 0005 ADD R2 K5 R2 + 0x00080506, // 0006 ADD R2 R2 K6 + 0xA8020007, // 0007 EXBLK 0 #0010 + 0x600C000D, // 0008 GETGBL R3 G13 + 0x5C100400, // 0009 MOVE R4 R2 + 0x7C0C0200, // 000A CALL R3 1 + 0x5C100600, // 000B MOVE R4 R3 + 0x7C100000, // 000C CALL R4 0 + 0x90027204, // 000D SETMBR R0 K57 R4 + 0xA8040001, // 000E EXBLK 1 1 + 0x7002000B, // 000F JMP #001C + 0xAC0C0002, // 0010 CATCH R3 0 2 + 0x70020008, // 0011 JMP #001B + 0x60140001, // 0012 GETGBL R5 G1 + 0x60180018, // 0013 GETGBL R6 G24 + 0x581C0008, // 0014 LDCONST R7 K8 + 0x5C200400, // 0015 MOVE R8 R2 + 0x5C240600, // 0016 MOVE R9 R3 + 0x5C280800, // 0017 MOVE R10 R4 + 0x7C180800, // 0018 CALL R6 4 + 0x7C140200, // 0019 CALL R5 1 + 0x70020000, // 001A JMP #001C + 0xB0080000, // 001B RAISE 2 R0 R0 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_root_set_text, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_rule +********************************************************************/ +be_local_closure(class_lvh_root_set_text_rule, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(text_rule_matched), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_text_rule), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8C08013D, // 0000 GETMET R2 R0 K61 + 0x7C080200, // 0001 CALL R2 1 + 0x60080008, // 0002 GETGBL R2 G8 + 0x5C0C0200, // 0003 MOVE R3 R1 + 0x7C080200, // 0004 CALL R2 1 + 0x90025A02, // 0005 SETMBR R0 K45 R2 + 0xB80A0400, // 0006 GETNGBL R2 K2 + 0x8C080503, // 0007 GETMET R2 R2 K3 + 0x8810012D, // 0008 GETMBR R4 R0 K45 + 0x84140000, // 0009 CLOSURE R5 P0 + 0x5C180000, // 000A MOVE R6 R0 + 0x7C080800, // 000B CALL R2 4 + 0xA0000000, // 000C CLOSE R0 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_val_rule +********************************************************************/ +be_local_closure(class_lvh_root_remove_val_rule, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(remove_val_rule), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060004, // 0003 JMPF R1 #0009 + 0xB8060400, // 0004 GETNGBL R1 K2 + 0x8C04032E, // 0005 GETMET R1 R1 K46 + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x5C100000, // 0007 MOVE R4 R0 + 0x7C040600, // 0008 CALL R1 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_rule_format +********************************************************************/ +be_local_closure(class_lvh_root_get_text_rule_format, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_text_rule_format), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040130, // 0000 GETMBR R1 R0 K48 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_obj +********************************************************************/ +be_local_closure(class_lvh_root_get_obj, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_obj), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040136, // 0000 GETMBR R1 R0 K54 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_color_attribute +********************************************************************/ +be_local_closure(class_lvh_root_is_color_attribute, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(is_color_attribute), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0xA40A1C00, // 0000 IMPORT R2 K14 + 0x8C0C0526, // 0001 GETMET R3 R2 K38 + 0x60140008, // 0002 GETGBL R5 G8 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C140200, // 0004 CALL R5 1 + 0x5818000D, // 0005 LDCONST R6 K13 + 0x7C0C0600, // 0006 CALL R3 3 + 0x80040600, // 0007 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: digits_to_style +********************************************************************/ +be_local_closure(class_lvh_root_digits_to_style, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(digits_to_style), + &be_const_str_solidified, + ( &(const binstruction[44]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C080202, // 0001 EQ R2 R1 R2 + 0x780A0000, // 0002 JMPF R2 #0004 + 0x80061400, // 0003 RET 1 K10 + 0x540A0009, // 0004 LDINT R2 10 + 0x0C080202, // 0005 DIV R2 R1 R2 + 0x540E0009, // 0006 LDINT R3 10 + 0x10080403, // 0007 MOD R2 R2 R3 + 0x540E0009, // 0008 LDINT R3 10 + 0x100C0203, // 0009 MOD R3 R1 R3 + 0x5810000A, // 000A LDCONST R4 K10 + 0x2814050A, // 000B GE R5 R2 K10 + 0x78160008, // 000C JMPF R5 #0016 + 0x6014000C, // 000D GETGBL R5 G12 + 0x8818013E, // 000E GETMBR R6 R0 K62 + 0x7C140200, // 000F CALL R5 1 + 0x14140405, // 0010 LT R5 R2 R5 + 0x78160003, // 0011 JMPF R5 #0016 + 0x8814013E, // 0012 GETMBR R5 R0 K62 + 0x94140A02, // 0013 GETIDX R5 R5 R2 + 0x30100805, // 0014 OR R4 R4 R5 + 0x70020000, // 0015 JMP #0017 + 0x4C100000, // 0016 LDNIL R4 + 0x2814070A, // 0017 GE R5 R3 K10 + 0x78160008, // 0018 JMPF R5 #0022 + 0x6014000C, // 0019 GETGBL R5 G12 + 0x8818013F, // 001A GETMBR R6 R0 K63 + 0x7C140200, // 001B CALL R5 1 + 0x14140605, // 001C LT R5 R3 R5 + 0x78160003, // 001D JMPF R5 #0022 + 0x8814013F, // 001E GETMBR R5 R0 K63 + 0x94140A03, // 001F GETIDX R5 R5 R3 + 0x30100805, // 0020 OR R4 R4 R5 + 0x70020000, // 0021 JMP #0023 + 0x4C100000, // 0022 LDNIL R4 + 0x4C140000, // 0023 LDNIL R5 + 0x1C140805, // 0024 EQ R5 R4 R5 + 0x78160004, // 0025 JMPF R5 #002B + 0x60140018, // 0026 GETGBL R5 G24 + 0x58180040, // 0027 LDCONST R6 K64 + 0x5C1C0200, // 0028 MOVE R7 R1 + 0x7C140400, // 0029 CALL R5 2 + 0xB0068205, // 002A RAISE 1 K65 R5 + 0x80040800, // 002B RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_value_str +********************************************************************/ +be_local_closure(class_lvh_root_get_value_str, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_value_str), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040142, // 0000 GETMET R1 R0 K66 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val_rule_formula +********************************************************************/ +be_local_closure(class_lvh_root_get_val_rule_formula, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_val_rule_formula), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_delete +********************************************************************/ +be_local_closure(class_lvh_root_get_delete, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 0, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(get_delete), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040143, // 0000 GETMET R1 R0 K67 + 0x7C040200, // 0001 CALL R1 1 + 0x84040000, // 0002 CLOSURE R1 P0 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_delete +********************************************************************/ +be_local_closure(class_lvh_root_set_delete, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_root, /* shared constants */ + be_str_weak(set_delete), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0xB0068945, // 0000 RAISE 1 K68 K69 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_root +********************************************************************/ +be_local_class(lvh_root, + 14, + NULL, + be_nested_map(53, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_tag, -1), be_const_var(5) }, + { be_const_key_weak(_text_rule_formula, 33), be_const_var(11) }, + { be_const_key_weak(set_val_rule_formula, -1), be_const_closure(class_lvh_root_set_val_rule_formula_closure) }, + { be_const_key_weak(set_val_rule, 0), be_const_closure(class_lvh_root_set_val_rule_closure) }, + { be_const_key_weak(parse_color, -1), be_const_static_closure(class_lvh_root_parse_color_closure) }, + { be_const_key_weak(_delete, -1), be_const_closure(class_lvh_root__delete_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_nil() }, + { be_const_key_weak(get_val_rule, -1), be_const_closure(class_lvh_root_get_val_rule_closure) }, + { be_const_key_weak(get_delete, 24), be_const_closure(class_lvh_root_get_delete_closure) }, + { be_const_key_weak(_val_rule_formula, -1), be_const_var(8) }, + { be_const_key_weak(_val_rule_function, 28), be_const_var(9) }, + { be_const_key_weak(get_text_rule_formula, -1), be_const_closure(class_lvh_root_get_text_rule_formula_closure) }, + { be_const_key_weak(val_rule_matched, -1), be_const_closure(class_lvh_root_val_rule_matched_closure) }, + { be_const_key_weak(_text_rule_function, 48), be_const_var(12) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_root_get_text_closure) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_root_post_config_closure) }, + { be_const_key_weak(id, -1), be_const_var(0) }, + { be_const_key_weak(remove_trailing_zeroes, 27), be_const_static_closure(class_lvh_root_remove_trailing_zeroes_closure) }, + { be_const_key_weak(_val_rule, 37), be_const_var(7) }, + { be_const_key_weak(set_text_rule_format, -1), be_const_closure(class_lvh_root_set_text_rule_format_closure) }, + { be_const_key_weak(get_text_rule, -1), be_const_closure(class_lvh_root_get_text_rule_closure) }, + { be_const_key_weak(_attr_ignore, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(9, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(tostring), + be_nested_str_weak(obj), + be_nested_str_weak(page), + be_nested_str_weak(comment), + be_nested_str_weak(parentid), + be_nested_str_weak(prev), + be_nested_str_weak(next), + be_nested_str_weak(back), + be_nested_str_weak(berry_run), + })) ) } )) }, + { be_const_key_weak(set_value_str, -1), be_const_closure(class_lvh_root_set_value_str_closure) }, + { be_const_key_weak(_text_rule_format, -1), be_const_var(13) }, + { be_const_key_weak(get_val_rule_formula, -1), be_const_closure(class_lvh_root_get_val_rule_formula_closure) }, + { be_const_key_weak(_lv_obj, -1), be_const_var(1) }, + { be_const_key_weak(digits_to_style, -1), be_const_closure(class_lvh_root_digits_to_style_closure) }, + { be_const_key_weak(remove_text_rule, -1), be_const_closure(class_lvh_root_remove_text_rule_closure) }, + { be_const_key_weak(_digit2state, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(6, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(32), + be_const_int(33), + be_const_int(128), + be_const_int(160), + })) ) } )) }, + { be_const_key_weak(set_tag, 25), be_const_closure(class_lvh_root_set_tag_closure) }, + { be_const_key_weak(_EVENTS, -1), be_const_bytes_instance() }, + { be_const_key_weak(text_rule_matched, -1), be_const_closure(class_lvh_root_text_rule_matched_closure) }, + { be_const_key_weak(_attr_map, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(start_angle, -1), be_nested_str_weak(bg_start_angle) }, + { be_const_key_weak(h, -1), be_nested_str_weak(height) }, + { be_const_key_weak(start_angle1, 3), be_nested_str_weak(start_angle) }, + { be_const_key_weak(w, -1), be_nested_str_weak(width) }, + { be_const_key_weak(end_angle, -1), be_nested_str_weak(bg_end_angle) }, + { be_const_key_weak(end_angle1, 0), be_nested_str_weak(end_angle) }, + })) ) } )) }, + { be_const_key_weak(_digit2part, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(10, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(131072), + be_const_int(196608), + be_const_int(327680), + be_const_int(327680), + be_const_int(262144), + be_const_int(327680), + be_const_int(393216), + be_const_int(65536), + be_const_int(524288), + })) ) } )) }, + { be_const_key_weak(set_text_rule, 47), be_const_closure(class_lvh_root_set_text_rule_closure) }, + { be_const_key_weak(set_meta, 18), be_const_closure(class_lvh_root_set_meta_closure) }, + { be_const_key_weak(_parent_lvh, -1), be_const_var(3) }, + { be_const_key_weak(_val, 32), be_const_var(6) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_root_set_text_closure) }, + { be_const_key_weak(set_text_rule_formula, 36), be_const_closure(class_lvh_root_set_text_rule_formula_closure) }, + { be_const_key_weak(parse_font, 34), be_const_closure(class_lvh_root_parse_font_closure) }, + { be_const_key_weak(remove_val_rule, -1), be_const_closure(class_lvh_root_remove_val_rule_closure) }, + { be_const_key_weak(get_text_rule_format, -1), be_const_closure(class_lvh_root_get_text_rule_format_closure) }, + { be_const_key_weak(get_obj, -1), be_const_closure(class_lvh_root_get_obj_closure) }, + { be_const_key_weak(is_color_attribute, -1), be_const_closure(class_lvh_root_is_color_attribute_closure) }, + { be_const_key_weak(get_tag, 26), be_const_closure(class_lvh_root_get_tag_closure) }, + { be_const_key_weak(get_value_str, -1), be_const_closure(class_lvh_root_get_value_str_closure) }, + { be_const_key_weak(_text_rule, -1), be_const_var(10) }, + { be_const_key_weak(init, 15), be_const_closure(class_lvh_root_init_closure) }, + { be_const_key_weak(_meta, -1), be_const_var(4) }, + { be_const_key_weak(get_meta, 8), be_const_closure(class_lvh_root_get_meta_closure) }, + { be_const_key_weak(_page, 6), be_const_var(2) }, + { be_const_key_weak(set_delete, -1), be_const_closure(class_lvh_root_set_delete_closure) }, + })), + be_str_weak(lvh_root) +); +// compact class 'lvh_obj' ktab size: 142, total: 289 (saved 1176 bytes) +static const bvalue be_ktab_class_lvh_obj[142] = { + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_style_line_width), + /* K3 */ be_nested_str_weak(_lv_part2_selector), + /* K4 */ be_nested_str_weak(get_style_pad_right), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(STATE_DEFAULT), + /* K7 */ be_nested_str_weak(set_style_text_color), + /* K8 */ be_nested_str_weak(parse_color), + /* K9 */ be_nested_str_weak(remove_val_rule), + /* K10 */ be_nested_str_weak(remove_text_rule), + /* K11 */ be_nested_str_weak(_lv_label), + /* K12 */ be_nested_str_weak(del), + /* K13 */ be_nested_str_weak(_delete), + /* K14 */ be_nested_str_weak(_page), + /* K15 */ be_nested_str_weak(_hm), + /* K16 */ be_nested_str_weak(_EVENTS), + /* K17 */ be_const_int(0), + /* K18 */ be_nested_str_weak(register_event), + /* K19 */ be_const_int(1), + /* K20 */ be_nested_str_weak(get_style_pad_bottom), + /* K21 */ be_nested_str_weak(has_state), + /* K22 */ be_nested_str_weak(STATE_DISABLED), + /* K23 */ be_nested_str_weak(check_label), + /* K24 */ be_nested_str_weak(set_text), + /* K25 */ be_nested_str_weak(get_style_pad_top), + /* K26 */ be_nested_str_weak(string), + /* K27 */ be_nested_str_weak(introspect), + /* K28 */ be_nested_str_weak(startswith), + /* K29 */ be_nested_str_weak(set_), + /* K30 */ be_nested_str_weak(get_), + /* K31 */ be_const_int(3), + /* K32 */ be_nested_str_weak(byte), + /* K33 */ be_const_int(2147483647), + /* K34 */ be_nested_str_weak(digits_to_style), + /* K35 */ be_nested_str_weak(_attr_ignore), + /* K36 */ be_nested_str_weak(find), + /* K37 */ be_nested_str_weak(get), + /* K38 */ be_nested_str_weak(function), + /* K39 */ be_nested_str_weak(_attr_map), + /* K40 */ be_nested_str_weak(get_style_), + /* K41 */ be_nested_str_weak(undefined), + /* K42 */ be_nested_str_weak(set_style_pad_left), + /* K43 */ be_nested_str_weak(contains), + /* K44 */ be_nested_str_weak(label), + /* K45 */ be_nested_str_weak(get_obj), + /* K46 */ be_nested_str_weak(set_align), + /* K47 */ be_nested_str_weak(ALIGN_CENTER), + /* K48 */ be_nested_str_weak(get_style_text_color), + /* K49 */ be_nested_str_weak(register_event_cb), + /* K50 */ be_nested_str_weak(clear_state), + /* K51 */ be_nested_str_weak(add_state), + /* K52 */ be_nested_str_weak(real), + /* K53 */ be_nested_str_weak(math), + /* K54 */ be_nested_str_weak(round), + /* K55 */ be_nested_str_weak(endswith), + /* K56 */ be_nested_str_weak(_X25), + /* K57 */ be_nested_str_weak(pct), + /* K58 */ be_nested_str_weak(is_color_attribute), + /* K59 */ be_nested_str_weak(set_style_), + /* K60 */ be_nested_str_weak(HSP_X3A_X20unknown_X20attribute_X3A), + /* K61 */ be_nested_str_weak(toupper), + /* K62 */ be_nested_str_weak(TRUE), + /* K63 */ be_nested_str_weak(FALSE), + /* K64 */ be_nested_str_weak(STATE_CHECKED), + /* K65 */ be_nested_str_weak(set_style_pad_all), + /* K66 */ be_nested_str_weak(get_x), + /* K67 */ be_nested_str_weak(set_x), + /* K68 */ be_nested_str_weak(_action), + /* K69 */ be_nested_str_weak(), + /* K70 */ be_nested_str_weak(has_flag), + /* K71 */ be_nested_str_weak(OBJ_FLAG_FLEX_IN_NEW_TRACK), + /* K72 */ be_nested_str_weak(add_flag), + /* K73 */ be_nested_str_weak(clear_flag), + /* K74 */ be_nested_str_weak(expand), + /* K75 */ be_nested_str_weak(set_width), + /* K76 */ be_nested_str_weak(SIZE_CONTENT), + /* K77 */ be_nested_str_weak(break), + /* K78 */ be_nested_str_weak(LABEL_LONG_WRAP), + /* K79 */ be_nested_str_weak(dots), + /* K80 */ be_nested_str_weak(LABEL_LONG_DOT), + /* K81 */ be_nested_str_weak(scroll), + /* K82 */ be_nested_str_weak(LABEL_LONG_SCROLL), + /* K83 */ be_nested_str_weak(loop), + /* K84 */ be_nested_str_weak(LABEL_LONG_SCROLL_CIRCULAR), + /* K85 */ be_nested_str_weak(crop), + /* K86 */ be_nested_str_weak(LABEL_LONG_CLIP), + /* K87 */ be_nested_str_weak(set_long_mode), + /* K88 */ be_nested_str_weak(set_style_pad_bottom), + /* K89 */ be_nested_str_weak(_val), + /* K90 */ be_nested_str_weak(set_value), + /* K91 */ be_nested_str_weak(OBJ_FLAG_HIDDEN), + /* K92 */ be_nested_str_weak(get_enabled), + /* K93 */ be_nested_str_weak(get_text), + /* K94 */ be_nested_str_weak(get_value_color), + /* K95 */ be_nested_str_weak(get_long_mode), + /* K96 */ be_nested_str_weak(OBJ_FLAG_CLICKABLE), + /* K97 */ be_nested_str_weak(get_value), + /* K98 */ be_nested_str_weak(parse_font), + /* K99 */ be_nested_str_weak(set_style_text_font), + /* K100 */ be_nested_str_weak(get_style_radius), + /* K101 */ be_nested_str_weak(set_style_pad_top), + /* K102 */ be_nested_str_weak(set_text_font), + /* K103 */ be_nested_str_weak(set_enabled), + /* K104 */ be_nested_str_weak(set_style_pad_right), + /* K105 */ be_nested_str_weak(set_text_color), + /* K106 */ be_nested_str_weak(get_code), + /* K107 */ be_nested_str_weak(action), + /* K108 */ be_nested_str_weak(EVENT_CLICKED), + /* K109 */ be_nested_str_weak(tasmota), + /* K110 */ be_nested_str_weak(set_timer), + /* K111 */ be_nested_str_weak(_event_map), + /* K112 */ be_nested_str_weak(json), + /* K113 */ be_nested_str_weak(EVENT_VALUE_CHANGED), + /* K114 */ be_nested_str_weak(val), + /* K115 */ be_nested_str_weak(module), + /* K116 */ be_nested_str_weak(_X2C_X22val_X22_X3A_X25s), + /* K117 */ be_nested_str_weak(dump), + /* K118 */ be_nested_str_weak(text), + /* K119 */ be_nested_str_weak(_X2C_X22text_X22_X3A_X25s), + /* K120 */ be_nested_str_weak(_tag), + /* K121 */ be_nested_str_weak(_X2C_X22tag_X22_X3A_X25s), + /* K122 */ be_nested_str_weak(get_sub_id), + /* K123 */ be_nested_str_weak(_), + /* K124 */ be_nested_str_weak(_X7B_X22hasp_X22_X3A_X7B_X22p_X25ib_X25i_X25s_X22_X3A_X7B_X22event_X22_X3A_X22_X25s_X22_X25s_X7D_X7D_X7D), + /* K125 */ be_nested_str_weak(_page_id), + /* K126 */ be_nested_str_weak(id), + /* K127 */ be_nested_str_weak(get_style_line_width), + /* K128 */ be_nested_str_weak(set_style_radius), + /* K129 */ be_nested_str_weak(get_style_text_align), + /* K130 */ be_nested_str_weak(TEXT_ALIGN_LEFT), + /* K131 */ be_nested_str_weak(left), + /* K132 */ be_nested_str_weak(TEXT_ALIGN_CENTER), + /* K133 */ be_nested_str_weak(center), + /* K134 */ be_nested_str_weak(TEXT_ALIGN_RIGHT), + /* K135 */ be_nested_str_weak(right), + /* K136 */ be_nested_str_weak(get_style_pad_left), + /* K137 */ be_nested_str_weak(get_text_font), + /* K138 */ be_nested_str_weak(get_y), + /* K139 */ be_nested_str_weak(set_y), + /* K140 */ be_const_int(2), + /* K141 */ be_nested_str_weak(set_style_text_align), +}; + + +extern const bclass be_class_lvh_obj; + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_obj_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60180003, // 0000 GETGBL R6 G3 + 0x5C1C0000, // 0001 MOVE R7 R0 + 0x7C180200, // 0002 CALL R6 1 + 0x8C180D00, // 0003 GETMET R6 R6 K0 + 0x5C200200, // 0004 MOVE R8 R1 + 0x5C240400, // 0005 MOVE R9 R2 + 0x5C280600, // 0006 MOVE R10 R3 + 0x5C2C0800, // 0007 MOVE R11 R4 + 0x5C300A00, // 0008 MOVE R12 R5 + 0x7C180C00, // 0009 CALL R6 6 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_font +********************************************************************/ +be_local_closure(class_lvh_obj_get_text_font, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_text_font), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_all +********************************************************************/ +be_local_closure(class_lvh_obj_get_pad_all, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_pad_all), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_line_width +********************************************************************/ +be_local_closure(class_lvh_obj_set_line_width, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_line_width), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x880C0101, // 0000 GETMBR R3 R0 K1 + 0x8C0C0702, // 0001 GETMET R3 R3 K2 + 0x60140009, // 0002 GETGBL R5 G9 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C140200, // 0004 CALL R5 1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_right +********************************************************************/ +be_local_closure(class_lvh_obj_get_pad_right, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_pad_right), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x8C040304, // 0005 GETMET R1 R1 K4 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x88100906, // 0008 GETMBR R4 R4 K6 + 0x300C0604, // 0009 OR R3 R3 R4 + 0x7C040400, // 000A CALL R1 2 + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_color +********************************************************************/ +be_local_closure(class_lvh_obj_set_text_color, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_text_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x880C0101, // 0000 GETMBR R3 R0 K1 + 0x8C0C0707, // 0001 GETMET R3 R3 K7 + 0x8C140108, // 0002 GETMET R5 R0 K8 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x7C140400, // 0004 CALL R5 2 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _delete +********************************************************************/ +be_local_closure(class_lvh_obj__delete, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(_delete), + &be_const_str_solidified, + ( &(const binstruction[24]) { /* code */ + 0x8C040109, // 0000 GETMET R1 R0 K9 + 0x7C040200, // 0001 CALL R1 1 + 0x8C04010A, // 0002 GETMET R1 R0 K10 + 0x7C040200, // 0003 CALL R1 1 + 0x8804010B, // 0004 GETMBR R1 R0 K11 + 0x78060004, // 0005 JMPF R1 #000B + 0x8804010B, // 0006 GETMBR R1 R0 K11 + 0x8C04030C, // 0007 GETMET R1 R1 K12 + 0x7C040200, // 0008 CALL R1 1 + 0x4C040000, // 0009 LDNIL R1 + 0x90021601, // 000A SETMBR R0 K11 R1 + 0x88040101, // 000B GETMBR R1 R0 K1 + 0x78060004, // 000C JMPF R1 #0012 + 0x88040101, // 000D GETMBR R1 R0 K1 + 0x8C04030C, // 000E GETMET R1 R1 K12 + 0x7C040200, // 000F CALL R1 1 + 0x4C040000, // 0010 LDNIL R1 + 0x90020201, // 0011 SETMBR R0 K1 R1 + 0x60040003, // 0012 GETGBL R1 G3 + 0x5C080000, // 0013 MOVE R2 R0 + 0x7C040200, // 0014 CALL R1 1 + 0x8C04030D, // 0015 GETMET R1 R1 K13 + 0x7C040200, // 0016 CALL R1 1 + 0x80000000, // 0017 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_event_cb +********************************************************************/ +be_local_closure(class_lvh_obj_register_event_cb, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(register_event_cb), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x8804010E, // 0000 GETMBR R1 R0 K14 + 0x8804030F, // 0001 GETMBR R1 R1 K15 + 0x88080110, // 0002 GETMBR R2 R0 K16 + 0x580C0011, // 0003 LDCONST R3 K17 + 0x6010000C, // 0004 GETGBL R4 G12 + 0x5C140400, // 0005 MOVE R5 R2 + 0x7C100200, // 0006 CALL R4 1 + 0x14100604, // 0007 LT R4 R3 R4 + 0x78120005, // 0008 JMPF R4 #000F + 0x8C100312, // 0009 GETMET R4 R1 K18 + 0x5C180000, // 000A MOVE R6 R0 + 0x941C0403, // 000B GETIDX R7 R2 R3 + 0x7C100600, // 000C CALL R4 3 + 0x000C0713, // 000D ADD R3 R3 K19 + 0x7001FFF4, // 000E JMP #0004 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_bottom +********************************************************************/ +be_local_closure(class_lvh_obj_get_pad_bottom, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_pad_bottom), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x8C040314, // 0005 GETMET R1 R1 K20 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x88100906, // 0008 GETMBR R4 R4 K6 + 0x300C0604, // 0009 OR R3 R3 R4 + 0x7C040400, // 000A CALL R1 2 + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_enabled +********************************************************************/ +be_local_closure(class_lvh_obj_get_enabled, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_enabled), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040315, // 0001 GETMET R1 R1 K21 + 0xB80E0A00, // 0002 GETNGBL R3 K5 + 0x880C0716, // 0003 GETMBR R3 R3 K22 + 0x7C040400, // 0004 CALL R1 2 + 0x78060000, // 0005 JMPF R1 #0007 + 0x50040001, // 0006 LDBOOL R1 0 1 + 0x50040200, // 0007 LDBOOL R1 1 0 + 0x80040200, // 0008 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_obj_set_text, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C080117, // 0000 GETMET R2 R0 K23 + 0x7C080200, // 0001 CALL R2 1 + 0x8808010B, // 0002 GETMBR R2 R0 K11 + 0x8C080518, // 0003 GETMET R2 R2 K24 + 0x60100008, // 0004 GETGBL R4 G8 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C100200, // 0006 CALL R4 1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_top +********************************************************************/ +be_local_closure(class_lvh_obj_get_pad_top, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_pad_top), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x8C040319, // 0005 GETMET R1 R1 K25 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x88100906, // 0008 GETMBR R4 R4 K6 + 0x300C0604, // 0009 OR R3 R3 R4 + 0x7C040400, // 000A CALL R1 2 + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_lvh_obj_member, /* name */ + be_nested_proto( + 11, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[125]) { /* code */ + 0xA40A3400, // 0000 IMPORT R2 K26 + 0xA40E3600, // 0001 IMPORT R3 K27 + 0x8C10051C, // 0002 GETMET R4 R2 K28 + 0x5C180200, // 0003 MOVE R6 R1 + 0x581C001D, // 0004 LDCONST R7 K29 + 0x7C100600, // 0005 CALL R4 3 + 0x74120004, // 0006 JMPT R4 #000C + 0x8C10051C, // 0007 GETMET R4 R2 K28 + 0x5C180200, // 0008 MOVE R6 R1 + 0x581C001E, // 0009 LDCONST R7 K30 + 0x7C100600, // 000A CALL R4 3 + 0x78120000, // 000B JMPF R4 #000D + 0x80000800, // 000C RET 0 + 0x4C100000, // 000D LDNIL R4 + 0x6014000C, // 000E GETGBL R5 G12 + 0x5C180200, // 000F MOVE R6 R1 + 0x7C140200, // 0010 CALL R5 1 + 0x28140B1F, // 0011 GE R5 R5 K31 + 0x7816001F, // 0012 JMPF R5 #0033 + 0x8C140520, // 0013 GETMET R5 R2 K32 + 0x541DFFFE, // 0014 LDINT R7 -1 + 0x941C0207, // 0015 GETIDX R7 R1 R7 + 0x7C140400, // 0016 CALL R5 2 + 0x8C180520, // 0017 GETMET R6 R2 K32 + 0x5421FFFD, // 0018 LDINT R8 -2 + 0x94200208, // 0019 GETIDX R8 R1 R8 + 0x7C180400, // 001A CALL R6 2 + 0x541E002F, // 001B LDINT R7 48 + 0x281C0A07, // 001C GE R7 R5 R7 + 0x781E0014, // 001D JMPF R7 #0033 + 0x541E0038, // 001E LDINT R7 57 + 0x181C0A07, // 001F LE R7 R5 R7 + 0x781E0011, // 0020 JMPF R7 #0033 + 0x541E002F, // 0021 LDINT R7 48 + 0x281C0C07, // 0022 GE R7 R6 R7 + 0x781E000E, // 0023 JMPF R7 #0033 + 0x541E0038, // 0024 LDINT R7 57 + 0x181C0C07, // 0025 LE R7 R6 R7 + 0x781E000B, // 0026 JMPF R7 #0033 + 0x601C0009, // 0027 GETGBL R7 G9 + 0x5421FFFD, // 0028 LDINT R8 -2 + 0x40201121, // 0029 CONNECT R8 R8 K33 + 0x94200208, // 002A GETIDX R8 R1 R8 + 0x7C1C0200, // 002B CALL R7 1 + 0x5421FFFC, // 002C LDINT R8 -3 + 0x40222208, // 002D CONNECT R8 K17 R8 + 0x94040208, // 002E GETIDX R1 R1 R8 + 0x8C200122, // 002F GETMET R8 R0 K34 + 0x5C280E00, // 0030 MOVE R10 R7 + 0x7C200400, // 0031 CALL R8 2 + 0x5C101000, // 0032 MOVE R4 R8 + 0x88140123, // 0033 GETMBR R5 R0 K35 + 0x8C140B24, // 0034 GETMET R5 R5 K36 + 0x5C1C0200, // 0035 MOVE R7 R1 + 0x7C140400, // 0036 CALL R5 2 + 0x4C180000, // 0037 LDNIL R6 + 0x20140A06, // 0038 NE R5 R5 R6 + 0x78160000, // 0039 JMPF R5 #003B + 0x80000A00, // 003A RET 0 + 0x8C140725, // 003B GETMET R5 R3 K37 + 0x5C1C0000, // 003C MOVE R7 R0 + 0x00223C01, // 003D ADD R8 K30 R1 + 0x7C140600, // 003E CALL R5 3 + 0x60180004, // 003F GETGBL R6 G4 + 0x5C1C0A00, // 0040 MOVE R7 R5 + 0x7C180200, // 0041 CALL R6 1 + 0x1C180D26, // 0042 EQ R6 R6 K38 + 0x781A0009, // 0043 JMPF R6 #004E + 0x5C180A00, // 0044 MOVE R6 R5 + 0x5C1C0000, // 0045 MOVE R7 R0 + 0x4C200000, // 0046 LDNIL R8 + 0x20200808, // 0047 NE R8 R4 R8 + 0x78220001, // 0048 JMPF R8 #004B + 0x5C200800, // 0049 MOVE R8 R4 + 0x70020000, // 004A JMP #004C + 0x58200011, // 004B LDCONST R8 K17 + 0x7C180400, // 004C CALL R6 2 + 0x80040C00, // 004D RET 1 R6 + 0x88180127, // 004E GETMBR R6 R0 K39 + 0x8C180D24, // 004F GETMET R6 R6 K36 + 0x5C200200, // 0050 MOVE R8 R1 + 0x5C240200, // 0051 MOVE R9 R1 + 0x7C180600, // 0052 CALL R6 3 + 0x5C040C00, // 0053 MOVE R1 R6 + 0x4C180000, // 0054 LDNIL R6 + 0x1C180806, // 0055 EQ R6 R4 R6 + 0x781A000D, // 0056 JMPF R6 #0065 + 0x8C180725, // 0057 GETMET R6 R3 K37 + 0x88200101, // 0058 GETMBR R8 R0 K1 + 0x00263C01, // 0059 ADD R9 K30 R1 + 0x7C180600, // 005A CALL R6 3 + 0x5C140C00, // 005B MOVE R5 R6 + 0x60180004, // 005C GETGBL R6 G4 + 0x5C1C0A00, // 005D MOVE R7 R5 + 0x7C180200, // 005E CALL R6 1 + 0x1C180D26, // 005F EQ R6 R6 K38 + 0x781A0003, // 0060 JMPF R6 #0065 + 0x5C180A00, // 0061 MOVE R6 R5 + 0x881C0101, // 0062 GETMBR R7 R0 K1 + 0x7C180200, // 0063 CALL R6 1 + 0x80040C00, // 0064 RET 1 R6 + 0x8C180725, // 0065 GETMET R6 R3 K37 + 0x88200101, // 0066 GETMBR R8 R0 K1 + 0x00265001, // 0067 ADD R9 K40 R1 + 0x7C180600, // 0068 CALL R6 3 + 0x5C140C00, // 0069 MOVE R5 R6 + 0x60180004, // 006A GETGBL R6 G4 + 0x5C1C0A00, // 006B MOVE R7 R5 + 0x7C180200, // 006C CALL R6 1 + 0x1C180D26, // 006D EQ R6 R6 K38 + 0x781A0009, // 006E JMPF R6 #0079 + 0x5C180A00, // 006F MOVE R6 R5 + 0x881C0101, // 0070 GETMBR R7 R0 K1 + 0x4C200000, // 0071 LDNIL R8 + 0x20200808, // 0072 NE R8 R4 R8 + 0x78220001, // 0073 JMPF R8 #0076 + 0x5C200800, // 0074 MOVE R8 R4 + 0x70020000, // 0075 JMP #0077 + 0x58200011, // 0076 LDCONST R8 K17 + 0x7C180400, // 0077 CALL R6 2 + 0x80040C00, // 0078 RET 1 R6 + 0x6018000B, // 0079 GETGBL R6 G11 + 0x581C0029, // 007A LDCONST R7 K41 + 0x7C180200, // 007B CALL R6 1 + 0x80040C00, // 007C RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_left2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_pad_left2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_pad_left2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C08052A, // 0005 GETMET R2 R2 K42 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: check_label +********************************************************************/ +be_local_closure(class_lvh_obj_check_label, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(check_label), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060013, // 0003 JMPF R1 #0018 + 0xA4063600, // 0004 IMPORT R1 K27 + 0x8C08032B, // 0005 GETMET R2 R1 K43 + 0x88100101, // 0006 GETMBR R4 R0 K1 + 0x58140018, // 0007 LDCONST R5 K24 + 0x7C080600, // 0008 CALL R2 3 + 0x780A0002, // 0009 JMPF R2 #000D + 0x88080101, // 000A GETMBR R2 R0 K1 + 0x90021602, // 000B SETMBR R0 K11 R2 + 0x7002000A, // 000C JMP #0018 + 0xB80A0A00, // 000D GETNGBL R2 K5 + 0x8C08052C, // 000E GETMET R2 R2 K44 + 0x8C10012D, // 000F GETMET R4 R0 K45 + 0x7C100200, // 0010 CALL R4 1 + 0x7C080400, // 0011 CALL R2 2 + 0x90021602, // 0012 SETMBR R0 K11 R2 + 0x8808010B, // 0013 GETMBR R2 R0 K11 + 0x8C08052E, // 0014 GETMET R2 R2 K46 + 0xB8120A00, // 0015 GETNGBL R4 K5 + 0x8810092F, // 0016 GETMBR R4 R4 K47 + 0x7C080400, // 0017 CALL R2 2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_color +********************************************************************/ +be_local_closure(class_lvh_obj_get_text_color, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_text_color), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C080530, // 0001 GETMET R2 R2 K48 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_obj_post_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040131, // 0000 GETMET R1 R0 K49 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_enabled +********************************************************************/ +be_local_closure(class_lvh_obj_set_enabled, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_enabled), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x78060005, // 0000 JMPF R1 #0007 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080532, // 0002 GETMET R2 R2 K50 + 0xB8120A00, // 0003 GETNGBL R4 K5 + 0x88100916, // 0004 GETMBR R4 R4 K22 + 0x7C080400, // 0005 CALL R2 2 + 0x70020004, // 0006 JMP #000C + 0x88080101, // 0007 GETMBR R2 R0 K1 + 0x8C080533, // 0008 GETMET R2 R2 K51 + 0xB8120A00, // 0009 GETNGBL R4 K5 + 0x88100916, // 000A GETMBR R4 R4 K22 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_lvh_obj_setmember, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[164]) { /* code */ + 0xA40E3400, // 0000 IMPORT R3 K26 + 0xA4123600, // 0001 IMPORT R4 K27 + 0x8C14071C, // 0002 GETMET R5 R3 K28 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5820001D, // 0004 LDCONST R8 K29 + 0x7C140600, // 0005 CALL R5 3 + 0x74160004, // 0006 JMPT R5 #000C + 0x8C14071C, // 0007 GETMET R5 R3 K28 + 0x5C1C0200, // 0008 MOVE R7 R1 + 0x5820001E, // 0009 LDCONST R8 K30 + 0x7C140600, // 000A CALL R5 3 + 0x78160000, // 000B JMPF R5 #000D + 0x80000A00, // 000C RET 0 + 0x60140004, // 000D GETGBL R5 G4 + 0x5C180400, // 000E MOVE R6 R2 + 0x7C140200, // 000F CALL R5 1 + 0x1C140B34, // 0010 EQ R5 R5 K52 + 0x78160006, // 0011 JMPF R5 #0019 + 0xA4166A00, // 0012 IMPORT R5 K53 + 0x60180009, // 0013 GETGBL R6 G9 + 0x8C1C0B36, // 0014 GETMET R7 R5 K54 + 0x5C240400, // 0015 MOVE R9 R2 + 0x7C1C0400, // 0016 CALL R7 2 + 0x7C180200, // 0017 CALL R6 1 + 0x5C080C00, // 0018 MOVE R2 R6 + 0x8C140737, // 0019 GETMET R5 R3 K55 + 0x5C1C0200, // 001A MOVE R7 R1 + 0x58200038, // 001B LDCONST R8 K56 + 0x7C140600, // 001C CALL R5 3 + 0x78160009, // 001D JMPF R5 #0028 + 0x5415FFFD, // 001E LDINT R5 -2 + 0x40162205, // 001F CONNECT R5 K17 R5 + 0x94040205, // 0020 GETIDX R1 R1 R5 + 0xB8160A00, // 0021 GETNGBL R5 K5 + 0x8C140B39, // 0022 GETMET R5 R5 K57 + 0x601C0009, // 0023 GETGBL R7 G9 + 0x5C200400, // 0024 MOVE R8 R2 + 0x7C1C0200, // 0025 CALL R7 1 + 0x7C140400, // 0026 CALL R5 2 + 0x5C080A00, // 0027 MOVE R2 R5 + 0x4C140000, // 0028 LDNIL R5 + 0x6018000C, // 0029 GETGBL R6 G12 + 0x5C1C0200, // 002A MOVE R7 R1 + 0x7C180200, // 002B CALL R6 1 + 0x28180D1F, // 002C GE R6 R6 K31 + 0x781A001F, // 002D JMPF R6 #004E + 0x8C180720, // 002E GETMET R6 R3 K32 + 0x5421FFFE, // 002F LDINT R8 -1 + 0x94200208, // 0030 GETIDX R8 R1 R8 + 0x7C180400, // 0031 CALL R6 2 + 0x8C1C0720, // 0032 GETMET R7 R3 K32 + 0x5425FFFD, // 0033 LDINT R9 -2 + 0x94240209, // 0034 GETIDX R9 R1 R9 + 0x7C1C0400, // 0035 CALL R7 2 + 0x5422002F, // 0036 LDINT R8 48 + 0x28200C08, // 0037 GE R8 R6 R8 + 0x78220014, // 0038 JMPF R8 #004E + 0x54220038, // 0039 LDINT R8 57 + 0x18200C08, // 003A LE R8 R6 R8 + 0x78220011, // 003B JMPF R8 #004E + 0x5422002F, // 003C LDINT R8 48 + 0x28200E08, // 003D GE R8 R7 R8 + 0x7822000E, // 003E JMPF R8 #004E + 0x54220038, // 003F LDINT R8 57 + 0x18200E08, // 0040 LE R8 R7 R8 + 0x7822000B, // 0041 JMPF R8 #004E + 0x60200009, // 0042 GETGBL R8 G9 + 0x5425FFFD, // 0043 LDINT R9 -2 + 0x40241321, // 0044 CONNECT R9 R9 K33 + 0x94240209, // 0045 GETIDX R9 R1 R9 + 0x7C200200, // 0046 CALL R8 1 + 0x5425FFFC, // 0047 LDINT R9 -3 + 0x40262209, // 0048 CONNECT R9 K17 R9 + 0x94040209, // 0049 GETIDX R1 R1 R9 + 0x8C240122, // 004A GETMET R9 R0 K34 + 0x5C2C1000, // 004B MOVE R11 R8 + 0x7C240400, // 004C CALL R9 2 + 0x5C141200, // 004D MOVE R5 R9 + 0x88180123, // 004E GETMBR R6 R0 K35 + 0x8C180D24, // 004F GETMET R6 R6 K36 + 0x5C200200, // 0050 MOVE R8 R1 + 0x7C180400, // 0051 CALL R6 2 + 0x4C1C0000, // 0052 LDNIL R7 + 0x20180C07, // 0053 NE R6 R6 R7 + 0x781A0000, // 0054 JMPF R6 #0056 + 0x80000C00, // 0055 RET 0 + 0x8C180925, // 0056 GETMET R6 R4 K37 + 0x5C200000, // 0057 MOVE R8 R0 + 0x00263A01, // 0058 ADD R9 K29 R1 + 0x7C180600, // 0059 CALL R6 3 + 0x601C0004, // 005A GETGBL R7 G4 + 0x5C200C00, // 005B MOVE R8 R6 + 0x7C1C0200, // 005C CALL R7 1 + 0x1C1C0F26, // 005D EQ R7 R7 K38 + 0x781E000A, // 005E JMPF R7 #006A + 0x5C1C0C00, // 005F MOVE R7 R6 + 0x5C200000, // 0060 MOVE R8 R0 + 0x5C240400, // 0061 MOVE R9 R2 + 0x4C280000, // 0062 LDNIL R10 + 0x20280A0A, // 0063 NE R10 R5 R10 + 0x782A0001, // 0064 JMPF R10 #0067 + 0x5C280A00, // 0065 MOVE R10 R5 + 0x70020000, // 0066 JMP #0068 + 0x58280011, // 0067 LDCONST R10 K17 + 0x7C1C0600, // 0068 CALL R7 3 + 0x80000E00, // 0069 RET 0 + 0x881C0127, // 006A GETMBR R7 R0 K39 + 0x8C1C0F24, // 006B GETMET R7 R7 K36 + 0x5C240200, // 006C MOVE R9 R1 + 0x5C280200, // 006D MOVE R10 R1 + 0x7C1C0600, // 006E CALL R7 3 + 0x5C040E00, // 006F MOVE R1 R7 + 0x8C1C013A, // 0070 GETMET R7 R0 K58 + 0x5C240200, // 0071 MOVE R9 R1 + 0x7C1C0400, // 0072 CALL R7 2 + 0x781E0003, // 0073 JMPF R7 #0078 + 0x8C1C0108, // 0074 GETMET R7 R0 K8 + 0x5C240400, // 0075 MOVE R9 R2 + 0x7C1C0400, // 0076 CALL R7 2 + 0x5C080E00, // 0077 MOVE R2 R7 + 0x4C1C0000, // 0078 LDNIL R7 + 0x1C1C0A07, // 0079 EQ R7 R5 R7 + 0x781E000E, // 007A JMPF R7 #008A + 0x8C1C0925, // 007B GETMET R7 R4 K37 + 0x88240101, // 007C GETMBR R9 R0 K1 + 0x002A3A01, // 007D ADD R10 K29 R1 + 0x7C1C0600, // 007E CALL R7 3 + 0x5C180E00, // 007F MOVE R6 R7 + 0x601C0004, // 0080 GETGBL R7 G4 + 0x5C200C00, // 0081 MOVE R8 R6 + 0x7C1C0200, // 0082 CALL R7 1 + 0x1C1C0F26, // 0083 EQ R7 R7 K38 + 0x781E0004, // 0084 JMPF R7 #008A + 0x5C1C0C00, // 0085 MOVE R7 R6 + 0x88200101, // 0086 GETMBR R8 R0 K1 + 0x5C240400, // 0087 MOVE R9 R2 + 0x7C1C0400, // 0088 CALL R7 2 + 0x80040E00, // 0089 RET 1 R7 + 0x8C1C0925, // 008A GETMET R7 R4 K37 + 0x88240101, // 008B GETMBR R9 R0 K1 + 0x002A7601, // 008C ADD R10 K59 R1 + 0x7C1C0600, // 008D CALL R7 3 + 0x5C180E00, // 008E MOVE R6 R7 + 0x601C0004, // 008F GETGBL R7 G4 + 0x5C200C00, // 0090 MOVE R8 R6 + 0x7C1C0200, // 0091 CALL R7 1 + 0x1C1C0F26, // 0092 EQ R7 R7 K38 + 0x781E000A, // 0093 JMPF R7 #009F + 0x5C1C0C00, // 0094 MOVE R7 R6 + 0x88200101, // 0095 GETMBR R8 R0 K1 + 0x5C240400, // 0096 MOVE R9 R2 + 0x4C280000, // 0097 LDNIL R10 + 0x20280A0A, // 0098 NE R10 R5 R10 + 0x782A0001, // 0099 JMPF R10 #009C + 0x5C280A00, // 009A MOVE R10 R5 + 0x70020000, // 009B JMP #009D + 0x58280011, // 009C LDCONST R10 K17 + 0x7C1C0600, // 009D CALL R7 3 + 0x80040E00, // 009E RET 1 R7 + 0x601C0001, // 009F GETGBL R7 G1 + 0x5820003C, // 00A0 LDCONST R8 K60 + 0x5C240200, // 00A1 MOVE R9 R1 + 0x7C1C0400, // 00A2 CALL R7 2 + 0x80000000, // 00A3 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_toggle +********************************************************************/ +be_local_closure(class_lvh_obj_set_toggle, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_toggle), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0xA40A3400, // 0000 IMPORT R2 K26 + 0x600C0004, // 0001 GETGBL R3 G4 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x1C0C071A, // 0004 EQ R3 R3 K26 + 0x780E000C, // 0005 JMPF R3 #0013 + 0x8C0C053D, // 0006 GETMET R3 R2 K61 + 0x60140008, // 0007 GETGBL R5 G8 + 0x5C180200, // 0008 MOVE R6 R1 + 0x7C140200, // 0009 CALL R5 1 + 0x7C0C0400, // 000A CALL R3 2 + 0x5C040600, // 000B MOVE R1 R3 + 0x1C0C033E, // 000C EQ R3 R1 K62 + 0x780E0001, // 000D JMPF R3 #0010 + 0x50040200, // 000E LDBOOL R1 1 0 + 0x70020002, // 000F JMP #0013 + 0x1C0C033F, // 0010 EQ R3 R1 K63 + 0x780E0000, // 0011 JMPF R3 #0013 + 0x50040000, // 0012 LDBOOL R1 0 0 + 0x78060005, // 0013 JMPF R1 #001A + 0x880C0101, // 0014 GETMBR R3 R0 K1 + 0x8C0C0733, // 0015 GETMET R3 R3 K51 + 0xB8160A00, // 0016 GETNGBL R5 K5 + 0x88140B40, // 0017 GETMBR R5 R5 K64 + 0x7C0C0400, // 0018 CALL R3 2 + 0x70020004, // 0019 JMP #001F + 0x880C0101, // 001A GETMBR R3 R0 K1 + 0x8C0C0732, // 001B GETMET R3 R3 K50 + 0xB8160A00, // 001C GETNGBL R5 K5 + 0x88140B40, // 001D GETMBR R5 R5 K64 + 0x7C0C0400, // 001E CALL R3 2 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_all2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_pad_all2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_pad_all2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080541, // 0005 GETMET R2 R2 K65 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_value_ofs_x +********************************************************************/ +be_local_closure(class_lvh_obj_get_value_ofs_x, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_value_ofs_x), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x8C040342, // 0001 GETMET R1 R1 K66 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value_ofs_x +********************************************************************/ +be_local_closure(class_lvh_obj_set_value_ofs_x, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_value_ofs_x), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C080117, // 0000 GETMET R2 R0 K23 + 0x7C080200, // 0001 CALL R2 1 + 0x8808010B, // 0002 GETMBR R2 R0 K11 + 0x8C080543, // 0003 GETMET R2 R2 K67 + 0x60100009, // 0004 GETGBL R4 G9 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C100200, // 0006 CALL R4 1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_action +********************************************************************/ +be_local_closure(class_lvh_obj_set_action, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_action), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90028802, // 0003 SETMBR R0 K68 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_action +********************************************************************/ +be_local_closure(class_lvh_obj_get_action, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_action), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040144, // 0000 GETMBR R1 R0 K68 + 0x78060001, // 0001 JMPF R1 #0004 + 0x5C080200, // 0002 MOVE R2 R1 + 0x70020000, // 0003 JMP #0005 + 0x58080045, // 0004 LDCONST R2 K69 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_flex_in_new_track +********************************************************************/ +be_local_closure(class_lvh_obj_get_flex_in_new_track, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_flex_in_new_track), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040346, // 0001 GETMET R1 R1 K70 + 0xB80E0A00, // 0002 GETNGBL R3 K5 + 0x880C0747, // 0003 GETMBR R3 R3 K71 + 0x7C040400, // 0004 CALL R1 2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_flex_in_new_track +********************************************************************/ +be_local_closure(class_lvh_obj_set_flex_in_new_track, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_flex_in_new_track), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x78060005, // 0000 JMPF R1 #0007 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080548, // 0002 GETMET R2 R2 K72 + 0xB8120A00, // 0003 GETNGBL R4 K5 + 0x88100947, // 0004 GETMBR R4 R4 K71 + 0x7C080400, // 0005 CALL R2 2 + 0x70020004, // 0006 JMP #000C + 0x88080101, // 0007 GETMBR R2 R0 K1 + 0x8C080549, // 0008 GETMET R2 R2 K73 + 0xB8120A00, // 0009 GETNGBL R4 K5 + 0x88100947, // 000A GETMBR R4 R4 K71 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_label_mode +********************************************************************/ +be_local_closure(class_lvh_obj_set_label_mode, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_label_mode), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C0C034A, // 0001 EQ R3 R1 K74 + 0x780E0005, // 0002 JMPF R3 #0009 + 0x880C0101, // 0003 GETMBR R3 R0 K1 + 0x8C0C074B, // 0004 GETMET R3 R3 K75 + 0xB8160A00, // 0005 GETNGBL R5 K5 + 0x88140B4C, // 0006 GETMBR R5 R5 K76 + 0x7C0C0400, // 0007 CALL R3 2 + 0x70020017, // 0008 JMP #0021 + 0x1C0C034D, // 0009 EQ R3 R1 K77 + 0x780E0002, // 000A JMPF R3 #000E + 0xB80E0A00, // 000B GETNGBL R3 K5 + 0x8808074E, // 000C GETMBR R2 R3 K78 + 0x70020012, // 000D JMP #0021 + 0x1C0C034F, // 000E EQ R3 R1 K79 + 0x780E0002, // 000F JMPF R3 #0013 + 0xB80E0A00, // 0010 GETNGBL R3 K5 + 0x88080750, // 0011 GETMBR R2 R3 K80 + 0x7002000D, // 0012 JMP #0021 + 0x1C0C0351, // 0013 EQ R3 R1 K81 + 0x780E0002, // 0014 JMPF R3 #0018 + 0xB80E0A00, // 0015 GETNGBL R3 K5 + 0x88080752, // 0016 GETMBR R2 R3 K82 + 0x70020008, // 0017 JMP #0021 + 0x1C0C0353, // 0018 EQ R3 R1 K83 + 0x780E0002, // 0019 JMPF R3 #001D + 0xB80E0A00, // 001A GETNGBL R3 K5 + 0x88080754, // 001B GETMBR R2 R3 K84 + 0x70020003, // 001C JMP #0021 + 0x1C0C0355, // 001D EQ R3 R1 K85 + 0x780E0001, // 001E JMPF R3 #0021 + 0xB80E0A00, // 001F GETNGBL R3 K5 + 0x88080756, // 0020 GETMBR R2 R3 K86 + 0x4C0C0000, // 0021 LDNIL R3 + 0x200C0403, // 0022 NE R3 R2 R3 + 0x780E0005, // 0023 JMPF R3 #002A + 0x8C0C0117, // 0024 GETMET R3 R0 K23 + 0x7C0C0200, // 0025 CALL R3 1 + 0x880C010B, // 0026 GETMBR R3 R0 K11 + 0x8C0C0757, // 0027 GETMET R3 R3 K87 + 0x5C140400, // 0028 MOVE R5 R2 + 0x7C0C0400, // 0029 CALL R3 2 + 0x80000000, // 002A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_sub_id +********************************************************************/ +be_local_closure(class_lvh_obj_get_sub_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_sub_id), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_bottom2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_pad_bottom2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_pad_bottom2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080558, // 0005 GETMET R2 R2 K88 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_obj_set_val, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0xA40A3600, // 0000 IMPORT R2 K27 + 0x9002B201, // 0001 SETMBR R0 K89 R1 + 0x8C0C052B, // 0002 GETMET R3 R2 K43 + 0x88140101, // 0003 GETMBR R5 R0 K1 + 0x5818005A, // 0004 LDCONST R6 K90 + 0x7C0C0600, // 0005 CALL R3 3 + 0x780E0003, // 0006 JMPF R3 #000B + 0x880C0101, // 0007 GETMBR R3 R0 K1 + 0x8C0C075A, // 0008 GETMET R3 R3 K90 + 0x5C140200, // 0009 MOVE R5 R1 + 0x7C0C0400, // 000A CALL R3 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_hidden +********************************************************************/ +be_local_closure(class_lvh_obj_get_hidden, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_hidden), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040346, // 0001 GETMET R1 R1 K70 + 0xB80E0A00, // 0002 GETNGBL R3 K5 + 0x880C075B, // 0003 GETMBR R3 R3 K91 + 0x7C040400, // 0004 CALL R1 2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_click +********************************************************************/ +be_local_closure(class_lvh_obj_get_click, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_click), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04015C, // 0000 GETMET R1 R0 K92 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_obj_get_text, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060001, // 0003 JMPF R1 #0006 + 0x4C040000, // 0004 LDNIL R1 + 0x80040200, // 0005 RET 1 R1 + 0x8804010B, // 0006 GETMBR R1 R0 K11 + 0x8C04035D, // 0007 GETMET R1 R1 K93 + 0x7C040200, // 0008 CALL R1 1 + 0x80040200, // 0009 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_value_color +********************************************************************/ +be_local_closure(class_lvh_obj_get_value_color, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_value_color), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C04015E, // 0000 GETMET R1 R0 K94 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_label_mode +********************************************************************/ +be_local_closure(class_lvh_obj_get_label_mode, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_label_mode), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060003, // 0003 JMPF R1 #0008 + 0x8804010B, // 0004 GETMBR R1 R0 K11 + 0x8C04035F, // 0005 GETMET R1 R1 K95 + 0x7C040200, // 0006 CALL R1 1 + 0x80040200, // 0007 RET 1 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_adjustable +********************************************************************/ +be_local_closure(class_lvh_obj_set_adjustable, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_adjustable), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x78060005, // 0000 JMPF R1 #0007 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080548, // 0002 GETMET R2 R2 K72 + 0xB8120A00, // 0003 GETNGBL R4 K5 + 0x88100960, // 0004 GETMBR R4 R4 K96 + 0x7C080400, // 0005 CALL R2 2 + 0x70020004, // 0006 JMP #000C + 0x88080101, // 0007 GETMBR R2 R0 K1 + 0x8C080549, // 0008 GETMET R2 R2 K73 + 0xB8120A00, // 0009 GETNGBL R4 K5 + 0x88100960, // 000A GETMBR R4 R4 K96 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_obj_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040361, // 0001 GETMET R1 R1 K97 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_font +********************************************************************/ +be_local_closure(class_lvh_obj_set_text_font, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_text_font), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x8C080162, // 0000 GETMET R2 R0 K98 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0004, // 0005 JMPF R3 #000B + 0x880C0101, // 0006 GETMBR R3 R0 K1 + 0x8C0C0763, // 0007 GETMET R3 R3 K99 + 0x5C140400, // 0008 MOVE R5 R2 + 0x58180011, // 0009 LDCONST R6 K17 + 0x7C0C0600, // 000A CALL R3 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_radius2 +********************************************************************/ +be_local_closure(class_lvh_obj_get_radius2, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_radius2), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x8C040364, // 0005 GETMET R1 R1 K100 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x88100906, // 0008 GETMBR R4 R4 K6 + 0x300C0604, // 0009 OR R3 R3 R4 + 0x7C040400, // 000A CALL R1 2 + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_top2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_pad_top2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_pad_top2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080565, // 0005 GETMET R2 R2 K101 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value_font +********************************************************************/ +be_local_closure(class_lvh_obj_set_value_font, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_value_font), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C080166, // 0000 GETMET R2 R0 K102 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_click +********************************************************************/ +be_local_closure(class_lvh_obj_set_click, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_click), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C080167, // 0000 GETMET R2 R0 K103 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_right2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_pad_right2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_pad_right2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080568, // 0005 GETMET R2 R2 K104 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value_color +********************************************************************/ +be_local_closure(class_lvh_obj_set_value_color, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_value_color), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C0C0169, // 0000 GETMET R3 R0 K105 + 0x5C140200, // 0001 MOVE R5 R1 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C0C0600, // 0003 CALL R3 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_adjustable +********************************************************************/ +be_local_closure(class_lvh_obj_get_adjustable, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_adjustable), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040346, // 0001 GETMET R1 R1 K70 + 0xB80E0A00, // 0002 GETNGBL R3 K5 + 0x880C0760, // 0003 GETMBR R3 R3 K96 + 0x7C040400, // 0004 CALL R1 2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_cb +********************************************************************/ +be_local_closure(class_lvh_obj_event_cb, /* name */ + be_nested_proto( + 16, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 3]) { /* upvals */ + be_local_const_upval(1, 2), + be_local_const_upval(1, 0), + be_local_const_upval(1, 3), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(do_action), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x68080001, // 0002 GETUPV R2 U1 + 0x680C0002, // 0003 GETUPV R3 U2 + 0x7C000600, // 0004 CALL R0 3 + 0x80040000, // 0005 RET 1 R0 + }) + ), + be_nested_proto( + 5, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 9), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(publish_rule), + /* K2 */ be_nested_str_weak(log), + /* K3 */ be_nested_str_weak(HSP_X3A_X20publish_X20_X25s), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x68080000, // 0002 GETUPV R2 U0 + 0x7C000400, // 0003 CALL R0 2 + 0xB8020000, // 0004 GETNGBL R0 K0 + 0x8C000102, // 0005 GETMET R0 R0 K2 + 0x60080018, // 0006 GETGBL R2 G24 + 0x580C0003, // 0007 LDCONST R3 K3 + 0x68100000, // 0008 GETUPV R4 U0 + 0x7C080400, // 0009 CALL R2 2 + 0x540E0003, // 000A LDINT R3 4 + 0x7C000600, // 000B CALL R0 3 + 0x80000000, // 000C RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(event_cb), + &be_const_str_solidified, + ( &(const binstruction[107]) { /* code */ + 0x8808010E, // 0000 GETMBR R2 R0 K14 + 0x8808050F, // 0001 GETMBR R2 R2 K15 + 0x8C0C036A, // 0002 GETMET R3 R1 K106 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8810016B, // 0004 GETMBR R4 R0 K107 + 0x20100945, // 0005 NE R4 R4 K69 + 0x78120008, // 0006 JMPF R4 #0010 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x8810096C, // 0008 GETMBR R4 R4 K108 + 0x1C100604, // 0009 EQ R4 R3 R4 + 0x78120004, // 000A JMPF R4 #0010 + 0xB812DA00, // 000B GETNGBL R4 K109 + 0x8C10096E, // 000C GETMET R4 R4 K110 + 0x58180011, // 000D LDCONST R6 K17 + 0x841C0000, // 000E CLOSURE R7 P0 + 0x7C100600, // 000F CALL R4 3 + 0x8810016F, // 0010 GETMBR R4 R0 K111 + 0x8C100924, // 0011 GETMET R4 R4 K36 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C100400, // 0013 CALL R4 2 + 0x4C140000, // 0014 LDNIL R5 + 0x20140805, // 0015 NE R5 R4 R5 + 0x78160051, // 0016 JMPF R5 #0069 + 0xA416E000, // 0017 IMPORT R5 K112 + 0x58180045, // 0018 LDCONST R6 K69 + 0xB81E0A00, // 0019 GETNGBL R7 K5 + 0x881C0F71, // 001A GETMBR R7 R7 K113 + 0x1C1C0607, // 001B EQ R7 R3 R7 + 0x781E0026, // 001C JMPF R7 #0044 + 0xA41E3600, // 001D IMPORT R7 K27 + 0x8C200F25, // 001E GETMET R8 R7 K37 + 0x5C280000, // 001F MOVE R10 R0 + 0x582C0072, // 0020 LDCONST R11 K114 + 0x7C200600, // 0021 CALL R8 3 + 0x4C240000, // 0022 LDNIL R9 + 0x20241009, // 0023 NE R9 R8 R9 + 0x7826000B, // 0024 JMPF R9 #0031 + 0x60240004, // 0025 GETGBL R9 G4 + 0x5C281000, // 0026 MOVE R10 R8 + 0x7C240200, // 0027 CALL R9 1 + 0x20241373, // 0028 NE R9 R9 K115 + 0x78260006, // 0029 JMPF R9 #0031 + 0x60240018, // 002A GETGBL R9 G24 + 0x58280074, // 002B LDCONST R10 K116 + 0x8C2C0B75, // 002C GETMET R11 R5 K117 + 0x5C341000, // 002D MOVE R13 R8 + 0x7C2C0400, // 002E CALL R11 2 + 0x7C240400, // 002F CALL R9 2 + 0x5C181200, // 0030 MOVE R6 R9 + 0x8C240F25, // 0031 GETMET R9 R7 K37 + 0x5C2C0000, // 0032 MOVE R11 R0 + 0x58300076, // 0033 LDCONST R12 K118 + 0x7C240600, // 0034 CALL R9 3 + 0x4C280000, // 0035 LDNIL R10 + 0x2028120A, // 0036 NE R10 R9 R10 + 0x782A000B, // 0037 JMPF R10 #0044 + 0x60280004, // 0038 GETGBL R10 G4 + 0x5C2C1200, // 0039 MOVE R11 R9 + 0x7C280200, // 003A CALL R10 1 + 0x20281573, // 003B NE R10 R10 K115 + 0x782A0006, // 003C JMPF R10 #0044 + 0x60280018, // 003D GETGBL R10 G24 + 0x582C0077, // 003E LDCONST R11 K119 + 0x8C300B75, // 003F GETMET R12 R5 K117 + 0x5C381200, // 0040 MOVE R14 R9 + 0x7C300400, // 0041 CALL R12 2 + 0x7C280400, // 0042 CALL R10 2 + 0x00180C0A, // 0043 ADD R6 R6 R10 + 0x881C0178, // 0044 GETMBR R7 R0 K120 + 0x4C200000, // 0045 LDNIL R8 + 0x201C0E08, // 0046 NE R7 R7 R8 + 0x781E0006, // 0047 JMPF R7 #004F + 0x601C0018, // 0048 GETGBL R7 G24 + 0x58200079, // 0049 LDCONST R8 K121 + 0x8C240B75, // 004A GETMET R9 R5 K117 + 0x882C0178, // 004B GETMBR R11 R0 K120 + 0x7C240400, // 004C CALL R9 2 + 0x7C1C0400, // 004D CALL R7 2 + 0x00180C07, // 004E ADD R6 R6 R7 + 0x8C1C017A, // 004F GETMET R7 R0 K122 + 0x7C1C0200, // 0050 CALL R7 1 + 0x4C200000, // 0051 LDNIL R8 + 0x20200E08, // 0052 NE R8 R7 R8 + 0x78220004, // 0053 JMPF R8 #0059 + 0x60200008, // 0054 GETGBL R8 G8 + 0x5C240E00, // 0055 MOVE R9 R7 + 0x7C200200, // 0056 CALL R8 1 + 0x0022F608, // 0057 ADD R8 K123 R8 + 0x70020000, // 0058 JMP #005A + 0x58200045, // 0059 LDCONST R8 K69 + 0x60240018, // 005A GETGBL R9 G24 + 0x5828007C, // 005B LDCONST R10 K124 + 0x882C010E, // 005C GETMBR R11 R0 K14 + 0x882C177D, // 005D GETMBR R11 R11 K125 + 0x8830017E, // 005E GETMBR R12 R0 K126 + 0x5C341000, // 005F MOVE R13 R8 + 0x5C380800, // 0060 MOVE R14 R4 + 0x5C3C0C00, // 0061 MOVE R15 R6 + 0x7C240C00, // 0062 CALL R9 6 + 0xB82ADA00, // 0063 GETNGBL R10 K109 + 0x8C28156E, // 0064 GETMET R10 R10 K110 + 0x58300011, // 0065 LDCONST R12 K17 + 0x84340001, // 0066 CLOSURE R13 P1 + 0x7C280600, // 0067 CALL R10 3 + 0xA0140000, // 0068 CLOSE R5 + 0xA0000000, // 0069 CLOSE R0 + 0x80000000, // 006A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_line_width +********************************************************************/ +be_local_closure(class_lvh_obj_get_line_width, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_line_width), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C08057F, // 0001 GETMET R2 R2 K127 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_radius2 +********************************************************************/ +be_local_closure(class_lvh_obj_set_radius2, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_radius2), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x88080103, // 0000 GETMBR R2 R0 K3 + 0x4C0C0000, // 0001 LDNIL R3 + 0x20080403, // 0002 NE R2 R2 R3 + 0x780A0009, // 0003 JMPF R2 #000E + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080580, // 0005 GETMET R2 R2 K128 + 0x60100009, // 0006 GETGBL R4 G9 + 0x5C140200, // 0007 MOVE R5 R1 + 0x7C100200, // 0008 CALL R4 1 + 0x88140103, // 0009 GETMBR R5 R0 K3 + 0xB81A0A00, // 000A GETNGBL R6 K5 + 0x88180D06, // 000B GETMBR R6 R6 K6 + 0x30140A06, // 000C OR R5 R5 R6 + 0x7C080600, // 000D CALL R2 3 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_hidden +********************************************************************/ +be_local_closure(class_lvh_obj_set_hidden, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_hidden), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x78060005, // 0000 JMPF R1 #0007 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080548, // 0002 GETMET R2 R2 K72 + 0xB8120A00, // 0003 GETNGBL R4 K5 + 0x8810095B, // 0004 GETMBR R4 R4 K91 + 0x7C080400, // 0005 CALL R2 2 + 0x70020004, // 0006 JMP #000C + 0x88080101, // 0007 GETMBR R2 R0 K1 + 0x8C080549, // 0008 GETMET R2 R2 K73 + 0xB8120A00, // 0009 GETNGBL R4 K5 + 0x8810095B, // 000A GETMBR R4 R4 K91 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_align +********************************************************************/ +be_local_closure(class_lvh_obj_get_align, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_align), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x1C080311, // 0000 EQ R2 R1 K17 + 0x780A0000, // 0001 JMPF R2 #0003 + 0x58040011, // 0002 LDCONST R1 K17 + 0x8808010B, // 0003 GETMBR R2 R0 K11 + 0x4C0C0000, // 0004 LDNIL R3 + 0x1C080403, // 0005 EQ R2 R2 R3 + 0x780A0001, // 0006 JMPF R2 #0009 + 0x4C080000, // 0007 LDNIL R2 + 0x80040400, // 0008 RET 1 R2 + 0x8808010B, // 0009 GETMBR R2 R0 K11 + 0x8C080581, // 000A GETMET R2 R2 K129 + 0x5C100200, // 000B MOVE R4 R1 + 0x7C080400, // 000C CALL R2 2 + 0xB80E0A00, // 000D GETNGBL R3 K5 + 0x880C0782, // 000E GETMBR R3 R3 K130 + 0x1C0C0403, // 000F EQ R3 R2 R3 + 0x780E0001, // 0010 JMPF R3 #0013 + 0x80070600, // 0011 RET 1 K131 + 0x7002000C, // 0012 JMP #0020 + 0xB80E0A00, // 0013 GETNGBL R3 K5 + 0x880C0784, // 0014 GETMBR R3 R3 K132 + 0x1C0C0403, // 0015 EQ R3 R2 R3 + 0x780E0001, // 0016 JMPF R3 #0019 + 0x80070A00, // 0017 RET 1 K133 + 0x70020006, // 0018 JMP #0020 + 0xB80E0A00, // 0019 GETNGBL R3 K5 + 0x880C0786, // 001A GETMBR R3 R3 K134 + 0x1C0C0403, // 001B EQ R3 R2 R3 + 0x780E0001, // 001C JMPF R3 #001F + 0x80070E00, // 001D RET 1 K135 + 0x70020000, // 001E JMP #0020 + 0x80040400, // 001F RET 1 R2 + 0x80000000, // 0020 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_left +********************************************************************/ +be_local_closure(class_lvh_obj_get_pad_left, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_pad_left), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060007, // 0003 JMPF R1 #000C + 0x88040101, // 0004 GETMBR R1 R0 K1 + 0x8C040388, // 0005 GETMET R1 R1 K136 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0xB8120A00, // 0007 GETNGBL R4 K5 + 0x88100906, // 0008 GETMBR R4 R4 K6 + 0x300C0604, // 0009 OR R3 R3 R4 + 0x7C040400, // 000A CALL R1 2 + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_toggle +********************************************************************/ +be_local_closure(class_lvh_obj_get_toggle, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_toggle), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040315, // 0001 GETMET R1 R1 K21 + 0xB80E0A00, // 0002 GETNGBL R3 K5 + 0x880C0740, // 0003 GETMBR R3 R3 K64 + 0x7C040400, // 0004 CALL R1 2 + 0x80040200, // 0005 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_value_font +********************************************************************/ +be_local_closure(class_lvh_obj_get_value_font, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_value_font), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040189, // 0000 GETMET R1 R0 K137 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_value_ofs_y +********************************************************************/ +be_local_closure(class_lvh_obj_get_value_ofs_y, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(get_value_ofs_y), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8804010B, // 0000 GETMBR R1 R0 K11 + 0x8C04038A, // 0001 GETMET R1 R1 K138 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_value_ofs_y +********************************************************************/ +be_local_closure(class_lvh_obj_set_value_ofs_y, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_value_ofs_y), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x8C080117, // 0000 GETMET R2 R0 K23 + 0x7C080200, // 0001 CALL R2 1 + 0x8808010B, // 0002 GETMBR R2 R0 K11 + 0x8C08058B, // 0003 GETMET R2 R2 K139 + 0x60100009, // 0004 GETGBL R4 G9 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C100200, // 0006 CALL R4 1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_align +********************************************************************/ +be_local_closure(class_lvh_obj_set_align, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_obj, /* shared constants */ + be_str_weak(set_align), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x1C100511, // 0001 EQ R4 R2 K17 + 0x78120000, // 0002 JMPF R4 #0004 + 0x58080011, // 0003 LDCONST R2 K17 + 0x8C100117, // 0004 GETMET R4 R0 K23 + 0x7C100200, // 0005 CALL R4 1 + 0x1C100311, // 0006 EQ R4 R1 K17 + 0x74120001, // 0007 JMPT R4 #000A + 0x1C100383, // 0008 EQ R4 R1 K131 + 0x78120002, // 0009 JMPF R4 #000D + 0xB8120A00, // 000A GETNGBL R4 K5 + 0x880C0982, // 000B GETMBR R3 R4 K130 + 0x7002000C, // 000C JMP #001A + 0x1C100313, // 000D EQ R4 R1 K19 + 0x74120001, // 000E JMPT R4 #0011 + 0x1C100385, // 000F EQ R4 R1 K133 + 0x78120002, // 0010 JMPF R4 #0014 + 0xB8120A00, // 0011 GETNGBL R4 K5 + 0x880C0984, // 0012 GETMBR R3 R4 K132 + 0x70020005, // 0013 JMP #001A + 0x1C10038C, // 0014 EQ R4 R1 K140 + 0x74120001, // 0015 JMPT R4 #0018 + 0x1C100387, // 0016 EQ R4 R1 K135 + 0x78120001, // 0017 JMPF R4 #001A + 0xB8120A00, // 0018 GETNGBL R4 K5 + 0x880C0986, // 0019 GETMBR R3 R4 K134 + 0x8810010B, // 001A GETMBR R4 R0 K11 + 0x8C10098D, // 001B GETMET R4 R4 K141 + 0x5C180600, // 001C MOVE R6 R3 + 0x5C1C0400, // 001D MOVE R7 R2 + 0x7C100600, // 001E CALL R4 3 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_obj +********************************************************************/ +extern const bclass be_class_lvh_root; +be_local_class(lvh_obj, + 2, + &be_class_lvh_root, + be_nested_map(63, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_delete, -1), be_const_closure(class_lvh_obj__delete_closure) }, + { be_const_key_weak(get_action, -1), be_const_closure(class_lvh_obj_get_action_closure) }, + { be_const_key_weak(get_text_font, -1), be_const_closure(class_lvh_obj_get_text_font_closure) }, + { be_const_key_weak(get_pad_all, -1), be_const_closure(class_lvh_obj_get_pad_all_closure) }, + { be_const_key_weak(set_pad_bottom2, -1), be_const_closure(class_lvh_obj_set_pad_bottom2_closure) }, + { be_const_key_weak(get_value_font, -1), be_const_closure(class_lvh_obj_get_value_font_closure) }, + { be_const_key_weak(get_hidden, -1), be_const_closure(class_lvh_obj_get_hidden_closure) }, + { be_const_key_weak(_event_map, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(7, -1), be_nested_str_weak(up) }, + { be_const_key_int(8, 2), be_nested_str_weak(release) }, + { be_const_key_int(1, -1), be_nested_str_weak(down) }, + { be_const_key_int(3, -1), be_nested_str_weak(lost) }, + { be_const_key_int(32, -1), be_nested_str_weak(changed) }, + { be_const_key_int(5, -1), be_nested_str_weak(long) }, + { be_const_key_int(6, -1), be_nested_str_weak(hold) }, + })) ) } )) }, + { be_const_key_weak(register_event_cb, -1), be_const_closure(class_lvh_obj_register_event_cb_closure) }, + { be_const_key_weak(get_pad_left, 11), be_const_closure(class_lvh_obj_get_pad_left_closure) }, + { be_const_key_weak(get_align, 12), be_const_closure(class_lvh_obj_get_align_closure) }, + { be_const_key_weak(get_value_color, -1), be_const_closure(class_lvh_obj_get_value_color_closure) }, + { be_const_key_weak(get_label_mode, -1), be_const_closure(class_lvh_obj_get_label_mode_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_lvh_obj_member_closure) }, + { be_const_key_weak(set_pad_left2, -1), be_const_closure(class_lvh_obj_set_pad_left2_closure) }, + { be_const_key_weak(check_label, -1), be_const_closure(class_lvh_obj_check_label_closure) }, + { be_const_key_weak(set_adjustable, 0), be_const_closure(class_lvh_obj_set_adjustable_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_obj_post_init_closure) }, + { be_const_key_weak(set_enabled, 35), be_const_closure(class_lvh_obj_set_enabled_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_obj_setmember_closure) }, + { be_const_key_weak(set_toggle, -1), be_const_closure(class_lvh_obj_set_toggle_closure) }, + { be_const_key_weak(_lv_part2_selector, -1), be_const_nil() }, + { be_const_key_weak(set_pad_all2, 6), be_const_closure(class_lvh_obj_set_pad_all2_closure) }, + { be_const_key_weak(get_value_ofs_x, -1), be_const_closure(class_lvh_obj_get_value_ofs_x_closure) }, + { be_const_key_weak(set_value_ofs_x, -1), be_const_closure(class_lvh_obj_set_value_ofs_x_closure) }, + { be_const_key_weak(set_action, -1), be_const_closure(class_lvh_obj_set_action_closure) }, + { be_const_key_weak(set_text, 1), be_const_closure(class_lvh_obj_set_text_closure) }, + { be_const_key_weak(get_flex_in_new_track, -1), be_const_closure(class_lvh_obj_get_flex_in_new_track_closure) }, + { be_const_key_weak(set_flex_in_new_track, -1), be_const_closure(class_lvh_obj_set_flex_in_new_track_closure) }, + { be_const_key_weak(_action, 56), be_const_var(1) }, + { be_const_key_weak(set_label_mode, 5), be_const_closure(class_lvh_obj_set_label_mode_closure) }, + { be_const_key_weak(get_sub_id, -1), be_const_closure(class_lvh_obj_get_sub_id_closure) }, + { be_const_key_weak(get_pad_top, 4), be_const_closure(class_lvh_obj_get_pad_top_closure) }, + { be_const_key_weak(init, 59), be_const_closure(class_lvh_obj_init_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_obj_get_val_closure) }, + { be_const_key_weak(event_cb, -1), be_const_closure(class_lvh_obj_event_cb_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_obj_get_text_closure) }, + { be_const_key_weak(_lv_label, -1), be_const_var(0) }, + { be_const_key_weak(get_pad_right, 9), be_const_closure(class_lvh_obj_get_pad_right_closure) }, + { be_const_key_weak(set_value_font, -1), be_const_closure(class_lvh_obj_set_value_font_closure) }, + { be_const_key_weak(_EVENTS, 16), be_const_bytes_instance(010703080520) }, + { be_const_key_weak(get_pad_bottom, 50), be_const_closure(class_lvh_obj_get_pad_bottom_closure) }, + { be_const_key_weak(set_text_font, -1), be_const_closure(class_lvh_obj_set_text_font_closure) }, + { be_const_key_weak(set_pad_right2, -1), be_const_closure(class_lvh_obj_set_pad_right2_closure) }, + { be_const_key_weak(set_pad_top2, -1), be_const_closure(class_lvh_obj_set_pad_top2_closure) }, + { be_const_key_weak(set_line_width, 39), be_const_closure(class_lvh_obj_set_line_width_closure) }, + { be_const_key_weak(set_click, -1), be_const_closure(class_lvh_obj_set_click_closure) }, + { be_const_key_weak(get_text_color, 43), be_const_closure(class_lvh_obj_get_text_color_closure) }, + { be_const_key_weak(set_value_color, -1), be_const_closure(class_lvh_obj_set_value_color_closure) }, + { be_const_key_weak(get_adjustable, -1), be_const_closure(class_lvh_obj_get_adjustable_closure) }, + { be_const_key_weak(get_radius2, 34), be_const_closure(class_lvh_obj_get_radius2_closure) }, + { be_const_key_weak(get_line_width, -1), be_const_closure(class_lvh_obj_get_line_width_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_obj) }, + { be_const_key_weak(set_radius2, -1), be_const_closure(class_lvh_obj_set_radius2_closure) }, + { be_const_key_weak(set_hidden, -1), be_const_closure(class_lvh_obj_set_hidden_closure) }, + { be_const_key_weak(set_text_color, 10), be_const_closure(class_lvh_obj_set_text_color_closure) }, + { be_const_key_weak(get_click, -1), be_const_closure(class_lvh_obj_get_click_closure) }, + { be_const_key_weak(get_enabled, 7), be_const_closure(class_lvh_obj_get_enabled_closure) }, + { be_const_key_weak(get_toggle, -1), be_const_closure(class_lvh_obj_get_toggle_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_obj_set_val_closure) }, + { be_const_key_weak(get_value_ofs_y, -1), be_const_closure(class_lvh_obj_get_value_ofs_y_closure) }, + { be_const_key_weak(set_value_ofs_y, -1), be_const_closure(class_lvh_obj_set_value_ofs_y_closure) }, + { be_const_key_weak(set_align, -1), be_const_closure(class_lvh_obj_set_align_closure) }, + })), + be_str_weak(lvh_obj) +); + +extern const bclass be_class_lvh_fixed; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_fixed_post_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[11]) { /* constants */ + /* K0 */ be_nested_str_weak(post_init), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_style_pad_all), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(set_style_radius), + /* K5 */ be_nested_str_weak(set_style_border_width), + /* K6 */ be_nested_str_weak(set_style_margin_all), + /* K7 */ be_nested_str_weak(set_style_bg_opa), + /* K8 */ be_nested_str_weak(set_size), + /* K9 */ be_nested_str_weak(lv), + /* K10 */ be_nested_str_weak(pct), + }), + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x88040101, // 0005 GETMBR R1 R0 K1 + 0x8C080302, // 0006 GETMET R2 R1 K2 + 0x58100003, // 0007 LDCONST R4 K3 + 0x58140003, // 0008 LDCONST R5 K3 + 0x7C080600, // 0009 CALL R2 3 + 0x8C080304, // 000A GETMET R2 R1 K4 + 0x58100003, // 000B LDCONST R4 K3 + 0x58140003, // 000C LDCONST R5 K3 + 0x7C080600, // 000D CALL R2 3 + 0x8C080305, // 000E GETMET R2 R1 K5 + 0x58100003, // 000F LDCONST R4 K3 + 0x58140003, // 0010 LDCONST R5 K3 + 0x7C080600, // 0011 CALL R2 3 + 0x8C080306, // 0012 GETMET R2 R1 K6 + 0x58100003, // 0013 LDCONST R4 K3 + 0x58140003, // 0014 LDCONST R5 K3 + 0x7C080600, // 0015 CALL R2 3 + 0x8C080307, // 0016 GETMET R2 R1 K7 + 0x58100003, // 0017 LDCONST R4 K3 + 0x58140003, // 0018 LDCONST R5 K3 + 0x7C080600, // 0019 CALL R2 3 + 0x8C080308, // 001A GETMET R2 R1 K8 + 0xB8121200, // 001B GETNGBL R4 K9 + 0x8C10090A, // 001C GETMET R4 R4 K10 + 0x541A0063, // 001D LDINT R6 100 + 0x7C100400, // 001E CALL R4 2 + 0xB8161200, // 001F GETNGBL R5 K9 + 0x8C140B0A, // 0020 GETMET R5 R5 K10 + 0x541E0063, // 0021 LDINT R7 100 + 0x7C140400, // 0022 CALL R5 2 + 0x7C080600, // 0023 CALL R2 3 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_fixed +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_fixed, + 0, + &be_class_lvh_obj, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_fixed_post_init_closure) }, + })), + be_str_weak(lvh_fixed) +); + +extern const bclass be_class_lvh_flex; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_flex_post_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(post_init), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_flex_flow), + /* K3 */ be_nested_str_weak(lv), + /* K4 */ be_nested_str_weak(FLEX_FLOW_ROW), + }), + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x88040101, // 0005 GETMBR R1 R0 K1 + 0x8C080302, // 0006 GETMET R2 R1 K2 + 0xB8120600, // 0007 GETNGBL R4 K3 + 0x88100904, // 0008 GETMBR R4 R4 K4 + 0x7C080400, // 0009 CALL R2 2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_flex +********************************************************************/ +extern const bclass be_class_lvh_fixed; +be_local_class(lvh_flex, + 0, + &be_class_lvh_fixed, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_flex_post_init_closure) }, + { be_const_key_weak(_EVENTS, -1), be_const_bytes_instance() }, + })), + be_str_weak(lvh_flex) +); + +extern const bclass be_class_lvh_label; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_label_post_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(_lv_label), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(post_init), + }), + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x60040003, // 0002 GETGBL R1 G3 + 0x5C080000, // 0003 MOVE R2 R0 + 0x7C040200, // 0004 CALL R1 1 + 0x8C040302, // 0005 GETMET R1 R1 K2 + 0x7C040200, // 0006 CALL R1 1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_label +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_label, + 0, + &be_class_lvh_obj, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_label_post_init_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_label) }, + })), + be_str_weak(lvh_label) +); +// compact class 'lvh_arc' ktab size: 26, total: 49 (saved 184 bytes) +static const bvalue be_ktab_class_lvh_arc[26] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(get_mode), + /* K2 */ be_nested_str_weak(_label_angle), + /* K3 */ be_nested_str_weak(_lv_label), + /* K4 */ be_nested_str_weak(rotate_obj_to_angle), + /* K5 */ be_nested_str_weak(set_range), + /* K6 */ be_nested_str_weak(get_max), + /* K7 */ be_nested_str_weak(refresh_label_to_angle), + /* K8 */ be_nested_str_weak(get_arc_line_width), + /* K9 */ be_nested_str_weak(lv), + /* K10 */ be_nested_str_weak(PART_INDICATOR), + /* K11 */ be_nested_str_weak(STATE_DEFAULT), + /* K12 */ be_const_int(0), + /* K13 */ be_nested_str_weak(ARC_MODE_NORMAL), + /* K14 */ be_const_int(1), + /* K15 */ be_nested_str_weak(ARC_MODE_REVERSE), + /* K16 */ be_const_int(2), + /* K17 */ be_nested_str_weak(ARC_MODE_SYMMETRICAL), + /* K18 */ be_nested_str_weak(set_mode), + /* K19 */ be_nested_str_weak(set_style_arc_width), + /* K20 */ be_nested_str_weak(get_min_value), + /* K21 */ be_nested_str_weak(get_max_value), + /* K22 */ be_nested_str_weak(set_val), + /* K23 */ be_nested_str_weak(post_config), + /* K24 */ be_nested_str_weak(get_min), + /* K25 */ be_nested_str_weak(set_text), +}; + + +extern const bclass be_class_lvh_arc; + +/******************************************************************** +** Solidified function: get_type +********************************************************************/ +be_local_closure(class_lvh_arc_get_type, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(get_type), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: refresh_label_to_angle +********************************************************************/ +be_local_closure(class_lvh_arc_refresh_label_to_angle, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(refresh_label_to_angle), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x4C080000, // 0001 LDNIL R2 + 0x20040202, // 0002 NE R1 R1 R2 + 0x78060008, // 0003 JMPF R1 #000D + 0x88040103, // 0004 GETMBR R1 R0 K3 + 0x4C080000, // 0005 LDNIL R2 + 0x20040202, // 0006 NE R1 R1 R2 + 0x78060004, // 0007 JMPF R1 #000D + 0x88040100, // 0008 GETMBR R1 R0 K0 + 0x8C040304, // 0009 GETMET R1 R1 K4 + 0x880C0103, // 000A GETMBR R3 R0 K3 + 0x88100102, // 000B GETMBR R4 R0 K2 + 0x7C040600, // 000C CALL R1 3 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_min +********************************************************************/ +be_local_closure(class_lvh_arc_set_min, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_min), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080505, // 0001 GETMET R2 R2 K5 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x8C140106, // 0005 GETMET R5 R0 K6 + 0x7C140200, // 0006 CALL R5 1 + 0x7C080600, // 0007 CALL R2 3 + 0x8C080107, // 0008 GETMET R2 R0 K7 + 0x7C080200, // 0009 CALL R2 1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_line_width1 +********************************************************************/ +be_local_closure(class_lvh_arc_get_line_width1, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(get_line_width1), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040308, // 0001 GETMET R1 R1 K8 + 0xB80E1200, // 0002 GETNGBL R3 K9 + 0x880C070A, // 0003 GETMBR R3 R3 K10 + 0xB8121200, // 0004 GETNGBL R4 K9 + 0x8810090B, // 0005 GETMBR R4 R4 K11 + 0x300C0604, // 0006 OR R3 R3 R4 + 0x7C040400, // 0007 CALL R1 2 + 0x80040200, // 0008 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_type +********************************************************************/ +be_local_closure(class_lvh_arc_set_type, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_type), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x1C0C030C, // 0001 EQ R3 R1 K12 + 0x780E0002, // 0002 JMPF R3 #0006 + 0xB80E1200, // 0003 GETNGBL R3 K9 + 0x8808070D, // 0004 GETMBR R2 R3 K13 + 0x70020008, // 0005 JMP #000F + 0x1C0C030E, // 0006 EQ R3 R1 K14 + 0x780E0002, // 0007 JMPF R3 #000B + 0xB80E1200, // 0008 GETNGBL R3 K9 + 0x8808070F, // 0009 GETMBR R2 R3 K15 + 0x70020003, // 000A JMP #000F + 0x1C0C0310, // 000B EQ R3 R1 K16 + 0x780E0001, // 000C JMPF R3 #000F + 0xB80E1200, // 000D GETNGBL R3 K9 + 0x88080711, // 000E GETMBR R2 R3 K17 + 0x4C0C0000, // 000F LDNIL R3 + 0x200C0403, // 0010 NE R3 R2 R3 + 0x780E0003, // 0011 JMPF R3 #0016 + 0x880C0100, // 0012 GETMBR R3 R0 K0 + 0x8C0C0712, // 0013 GETMET R3 R3 K18 + 0x5C140400, // 0014 MOVE R5 R2 + 0x7C0C0400, // 0015 CALL R3 2 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_line_width1 +********************************************************************/ +be_local_closure(class_lvh_arc_set_line_width1, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_line_width1), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080513, // 0001 GETMET R2 R2 K19 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0xB8161200, // 0005 GETNGBL R5 K9 + 0x88140B0A, // 0006 GETMBR R5 R5 K10 + 0xB81A1200, // 0007 GETNGBL R6 K9 + 0x88180D0B, // 0008 GETMBR R6 R6 K11 + 0x30140A06, // 0009 OR R5 R5 R6 + 0x7C080600, // 000A CALL R2 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_min +********************************************************************/ +be_local_closure(class_lvh_arc_get_min, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(get_min), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040314, // 0001 GETMET R1 R1 K20 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_line_width +********************************************************************/ +be_local_closure(class_lvh_arc_set_line_width, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_line_width), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x8C0C0713, // 0001 GETMET R3 R3 K19 + 0x60140009, // 0002 GETGBL R5 G9 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C140200, // 0004 CALL R5 1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_max +********************************************************************/ +be_local_closure(class_lvh_arc_get_max, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(get_max), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040315, // 0001 GETMET R1 R1 K21 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_label_to_angle +********************************************************************/ +be_local_closure(class_lvh_arc_set_label_to_angle, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_label_to_angle), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020402, // 0003 SETMBR R0 K2 R2 + 0x8C080107, // 0004 GETMET R2 R0 K7 + 0x7C080200, // 0005 CALL R2 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_arc_set_val, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080516, // 0003 GETMET R2 R2 K22 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080107, // 0006 GETMET R2 R0 K7 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_config +********************************************************************/ +be_local_closure(class_lvh_arc_post_config, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(post_config), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040317, // 0003 GETMET R1 R1 K23 + 0x7C040200, // 0004 CALL R1 1 + 0x8C040107, // 0005 GETMET R1 R0 K7 + 0x7C040200, // 0006 CALL R1 1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_line_width +********************************************************************/ +be_local_closure(class_lvh_arc_get_line_width, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(get_line_width), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080508, // 0001 GETMET R2 R2 K8 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_max +********************************************************************/ +be_local_closure(class_lvh_arc_set_max, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_max), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080505, // 0001 GETMET R2 R2 K5 + 0x8C100118, // 0002 GETMET R4 R0 K24 + 0x7C100200, // 0003 CALL R4 1 + 0x60140009, // 0004 GETGBL R5 G9 + 0x5C180200, // 0005 MOVE R6 R1 + 0x7C140200, // 0006 CALL R5 1 + 0x7C080600, // 0007 CALL R2 3 + 0x8C080107, // 0008 GETMET R2 R0 K7 + 0x7C080200, // 0009 CALL R2 1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_arc_set_text, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_arc, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080519, // 0003 GETMET R2 R2 K25 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080107, // 0006 GETMET R2 R0 K7 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_arc +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_arc, + 1, + &be_class_lvh_obj, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_label_angle, -1), be_const_var(0) }, + { be_const_key_weak(refresh_label_to_angle, -1), be_const_closure(class_lvh_arc_refresh_label_to_angle_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_arc_set_max_closure) }, + { be_const_key_weak(get_line_width, -1), be_const_closure(class_lvh_arc_get_line_width_closure) }, + { be_const_key_weak(set_min, 13), be_const_closure(class_lvh_arc_set_min_closure) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_arc_post_config_closure) }, + { be_const_key_weak(set_type, 11), be_const_closure(class_lvh_arc_set_type_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_arc) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_arc_get_min_closure) }, + { be_const_key_weak(set_line_width, -1), be_const_closure(class_lvh_arc_set_line_width_closure) }, + { be_const_key_weak(get_max, -1), be_const_closure(class_lvh_arc_get_max_closure) }, + { be_const_key_weak(set_line_width1, -1), be_const_closure(class_lvh_arc_set_line_width1_closure) }, + { be_const_key_weak(_lv_part2_selector, -1), be_const_int(196608) }, + { be_const_key_weak(set_label_to_angle, 0), be_const_closure(class_lvh_arc_set_label_to_angle_closure) }, + { be_const_key_weak(get_line_width1, 5), be_const_closure(class_lvh_arc_get_line_width1_closure) }, + { be_const_key_weak(set_val, 3), be_const_closure(class_lvh_arc_set_val_closure) }, + { be_const_key_weak(get_type, 2), be_const_closure(class_lvh_arc_get_type_closure) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_arc_set_text_closure) }, + })), + be_str_weak(lvh_arc) +); + +extern const bclass be_class_lvh_switch; + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_switch_set_val, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(_val), + /* K1 */ be_nested_str_weak(set_toggle), + }), + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x8C080101, // 0001 GETMET R2 R0 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_switch_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(get_toggle), + }), + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_switch +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_switch, + 0, + &be_class_lvh_obj, + be_nested_map(4, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_val, 1), be_const_closure(class_lvh_switch_get_val_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_switch_set_val_closure) }, + { be_const_key_weak(_lv_part2_selector, -1), be_const_int(196608) }, + { be_const_key_weak(_lv_class, 0), be_const_class(be_class_lv_switch) }, + })), + be_str_weak(lvh_switch) +); +// compact class 'lvh_msgbox' ktab size: 41, total: 67 (saved 208 bytes) +static const bvalue be_ktab_class_lvh_msgbox[41] = { + /* K0 */ be_nested_str_weak(_buttons), + /* K1 */ be_nested_str_weak(_modal), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(modal), + /* K4 */ be_nested_str_weak(_lv_obj), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(msgbox), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(init), + /* K9 */ be_nested_str_weak(text_align), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(bg_opa), + /* K12 */ be_nested_str_weak(add_title), + /* K13 */ be_nested_str_weak(string), + /* K14 */ be_nested_str_weak(startswith), + /* K15 */ be_nested_str_weak(footer_), + /* K16 */ be_nested_str_weak(_footer), + /* K17 */ be_nested_str_weak(setmember), + /* K18 */ be_const_int(2147483647), + /* K19 */ be_nested_str_weak(header_), + /* K20 */ be_nested_str_weak(_header), + /* K21 */ be_nested_str_weak(title_), + /* K22 */ be_nested_str_weak(_title), + /* K23 */ be_nested_str_weak(content_), + /* K24 */ be_nested_str_weak(_content), + /* K25 */ be_nested_str_weak(buttons_), + /* K26 */ be_nested_str_weak(stop_iteration), + /* K27 */ be_nested_str_weak(add_text), + /* K28 */ be_nested_str_weak(_add_button), + /* K29 */ be_nested_str_weak(HTP_X3A_X20_X27msgbox_X27_X20needs_X20_X27options_X27_X20to_X20be_X20a_X20list_X20of_X20strings), + /* K30 */ be_nested_str_weak(member), + /* K31 */ be_nested_str_weak(_page), + /* K32 */ be_nested_str_weak(_hm), + /* K33 */ be_nested_str_weak(lvh_obj), + /* K34 */ be_nested_str_weak(add_footer_button), + /* K35 */ be_nested_str_weak(push), + /* K36 */ be_nested_str_weak(post_config), + /* K37 */ be_nested_str_weak(get_header), + /* K38 */ be_nested_str_weak(get_footer), + /* K39 */ be_nested_str_weak(get_content), + /* K40 */ be_nested_str_weak(get_title), +}; + + +extern const bclass be_class_lvh_msgbox; + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_msgbox_get_text, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_msgbox_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x60180012, // 0000 GETGBL R6 G18 + 0x7C180000, // 0001 CALL R6 0 + 0x90020006, // 0002 SETMBR R0 K0 R6 + 0x60180017, // 0003 GETGBL R6 G23 + 0x8C1C0702, // 0004 GETMET R7 R3 K2 + 0x58240003, // 0005 LDCONST R9 K3 + 0x50280000, // 0006 LDBOOL R10 0 0 + 0x7C1C0600, // 0007 CALL R7 3 + 0x7C180200, // 0008 CALL R6 1 + 0x90020206, // 0009 SETMBR R0 K1 R6 + 0x88180101, // 000A GETMBR R6 R0 K1 + 0x781A0004, // 000B JMPF R6 #0011 + 0xB81A0A00, // 000C GETNGBL R6 K5 + 0x8C180D06, // 000D GETMET R6 R6 K6 + 0x58200007, // 000E LDCONST R8 K7 + 0x7C180400, // 000F CALL R6 2 + 0x90020806, // 0010 SETMBR R0 K4 R6 + 0x60180003, // 0011 GETGBL R6 G3 + 0x5C1C0000, // 0012 MOVE R7 R0 + 0x7C180200, // 0013 CALL R6 1 + 0x8C180D08, // 0014 GETMET R6 R6 K8 + 0x5C200200, // 0015 MOVE R8 R1 + 0x5C240400, // 0016 MOVE R9 R2 + 0x5C280600, // 0017 MOVE R10 R3 + 0x882C0104, // 0018 GETMBR R11 R0 K4 + 0x5C300A00, // 0019 MOVE R12 R5 + 0x7C180C00, // 001A CALL R6 6 + 0x9002130A, // 001B SETMBR R0 K9 K10 + 0x541A00FE, // 001C LDINT R6 255 + 0x90021606, // 001D SETMBR R0 K11 R6 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_title +********************************************************************/ +be_local_closure(class_lvh_msgbox_set_title, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(set_title), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080104, // 0000 GETMBR R2 R0 K4 + 0x8C08050C, // 0001 GETMET R2 R2 K12 + 0x60100008, // 0002 GETGBL R4 G8 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_lvh_msgbox_setmember, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[93]) { /* code */ + 0xA40E1A00, // 0000 IMPORT R3 K13 + 0x8C10070E, // 0001 GETMET R4 R3 K14 + 0x5C180200, // 0002 MOVE R6 R1 + 0x581C000F, // 0003 LDCONST R7 K15 + 0x7C100600, // 0004 CALL R4 3 + 0x78120009, // 0005 JMPF R4 #0010 + 0x88100110, // 0006 GETMBR R4 R0 K16 + 0x78120007, // 0007 JMPF R4 #0010 + 0x88100110, // 0008 GETMBR R4 R0 K16 + 0x8C100911, // 0009 GETMET R4 R4 K17 + 0x541A0006, // 000A LDINT R6 7 + 0x40180D12, // 000B CONNECT R6 R6 K18 + 0x94180206, // 000C GETIDX R6 R1 R6 + 0x5C1C0400, // 000D MOVE R7 R2 + 0x7C100600, // 000E CALL R4 3 + 0x7002004B, // 000F JMP #005C + 0x8C10070E, // 0010 GETMET R4 R3 K14 + 0x5C180200, // 0011 MOVE R6 R1 + 0x581C0013, // 0012 LDCONST R7 K19 + 0x7C100600, // 0013 CALL R4 3 + 0x78120009, // 0014 JMPF R4 #001F + 0x88100114, // 0015 GETMBR R4 R0 K20 + 0x78120007, // 0016 JMPF R4 #001F + 0x88100114, // 0017 GETMBR R4 R0 K20 + 0x8C100911, // 0018 GETMET R4 R4 K17 + 0x541A0006, // 0019 LDINT R6 7 + 0x40180D12, // 001A CONNECT R6 R6 K18 + 0x94180206, // 001B GETIDX R6 R1 R6 + 0x5C1C0400, // 001C MOVE R7 R2 + 0x7C100600, // 001D CALL R4 3 + 0x7002003C, // 001E JMP #005C + 0x8C10070E, // 001F GETMET R4 R3 K14 + 0x5C180200, // 0020 MOVE R6 R1 + 0x581C0015, // 0021 LDCONST R7 K21 + 0x7C100600, // 0022 CALL R4 3 + 0x78120009, // 0023 JMPF R4 #002E + 0x88100116, // 0024 GETMBR R4 R0 K22 + 0x78120007, // 0025 JMPF R4 #002E + 0x88100116, // 0026 GETMBR R4 R0 K22 + 0x8C100911, // 0027 GETMET R4 R4 K17 + 0x541A0005, // 0028 LDINT R6 6 + 0x40180D12, // 0029 CONNECT R6 R6 K18 + 0x94180206, // 002A GETIDX R6 R1 R6 + 0x5C1C0400, // 002B MOVE R7 R2 + 0x7C100600, // 002C CALL R4 3 + 0x7002002D, // 002D JMP #005C + 0x8C10070E, // 002E GETMET R4 R3 K14 + 0x5C180200, // 002F MOVE R6 R1 + 0x581C0017, // 0030 LDCONST R7 K23 + 0x7C100600, // 0031 CALL R4 3 + 0x78120009, // 0032 JMPF R4 #003D + 0x88100118, // 0033 GETMBR R4 R0 K24 + 0x78120007, // 0034 JMPF R4 #003D + 0x88100118, // 0035 GETMBR R4 R0 K24 + 0x8C100911, // 0036 GETMET R4 R4 K17 + 0x541A0007, // 0037 LDINT R6 8 + 0x40180D12, // 0038 CONNECT R6 R6 K18 + 0x94180206, // 0039 GETIDX R6 R1 R6 + 0x5C1C0400, // 003A MOVE R7 R2 + 0x7C100600, // 003B CALL R4 3 + 0x7002001E, // 003C JMP #005C + 0x8C10070E, // 003D GETMET R4 R3 K14 + 0x5C180200, // 003E MOVE R6 R1 + 0x581C0019, // 003F LDCONST R7 K25 + 0x7C100600, // 0040 CALL R4 3 + 0x78120012, // 0041 JMPF R4 #0055 + 0x88100100, // 0042 GETMBR R4 R0 K0 + 0x78120010, // 0043 JMPF R4 #0055 + 0x60100010, // 0044 GETGBL R4 G16 + 0x88140100, // 0045 GETMBR R5 R0 K0 + 0x7C100200, // 0046 CALL R4 1 + 0xA8020008, // 0047 EXBLK 0 #0051 + 0x5C140800, // 0048 MOVE R5 R4 + 0x7C140000, // 0049 CALL R5 0 + 0x8C180B11, // 004A GETMET R6 R5 K17 + 0x54220007, // 004B LDINT R8 8 + 0x40201112, // 004C CONNECT R8 R8 K18 + 0x94200208, // 004D GETIDX R8 R1 R8 + 0x5C240400, // 004E MOVE R9 R2 + 0x7C180600, // 004F CALL R6 3 + 0x7001FFF6, // 0050 JMP #0048 + 0x5810001A, // 0051 LDCONST R4 K26 + 0xAC100200, // 0052 CATCH R4 1 0 + 0xB0080000, // 0053 RAISE 2 R0 R0 + 0x70020006, // 0054 JMP #005C + 0x60100003, // 0055 GETGBL R4 G3 + 0x5C140000, // 0056 MOVE R5 R0 + 0x7C100200, // 0057 CALL R4 1 + 0x8C100911, // 0058 GETMET R4 R4 K17 + 0x5C180200, // 0059 MOVE R6 R1 + 0x5C1C0400, // 005A MOVE R7 R2 + 0x7C100600, // 005B CALL R4 3 + 0x80000000, // 005C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_options +********************************************************************/ +be_local_closure(class_lvh_msgbox_get_options, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(get_options), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_msgbox_set_text, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080104, // 0000 GETMBR R2 R0 K4 + 0x8C08051B, // 0001 GETMET R2 R2 K27 + 0x60100008, // 0002 GETGBL R4 G8 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_event_cb +********************************************************************/ +be_local_closure(class_lvh_msgbox_register_event_cb, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(register_event_cb), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_title +********************************************************************/ +be_local_closure(class_lvh_msgbox_get_title, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(get_title), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_options +********************************************************************/ +be_local_closure(class_lvh_msgbox_set_options, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(set_options), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x60100012, // 0002 GETGBL R4 G18 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0012, // 0004 JMPF R2 #0018 + 0x6008000C, // 0005 GETGBL R2 G12 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x7C080200, // 0007 CALL R2 1 + 0x24080507, // 0008 GT R2 R2 K7 + 0x780A000D, // 0009 JMPF R2 #0018 + 0x60080010, // 000A GETGBL R2 G16 + 0x5C0C0200, // 000B MOVE R3 R1 + 0x7C080200, // 000C CALL R2 1 + 0xA8020005, // 000D EXBLK 0 #0014 + 0x5C0C0400, // 000E MOVE R3 R2 + 0x7C0C0000, // 000F CALL R3 0 + 0x8C10011C, // 0010 GETMET R4 R0 K28 + 0x5C180600, // 0011 MOVE R6 R3 + 0x7C100400, // 0012 CALL R4 2 + 0x7001FFF9, // 0013 JMP #000E + 0x5808001A, // 0014 LDCONST R2 K26 + 0xAC080200, // 0015 CATCH R2 1 0 + 0xB0080000, // 0016 RAISE 2 R0 R0 + 0x70020002, // 0017 JMP #001B + 0x60080001, // 0018 GETGBL R2 G1 + 0x580C001D, // 0019 LDCONST R3 K29 + 0x7C080200, // 001A CALL R2 1 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_lvh_msgbox_member, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[69]) { /* code */ + 0xA40A1A00, // 0000 IMPORT R2 K13 + 0x8C0C050E, // 0001 GETMET R3 R2 K14 + 0x5C140200, // 0002 MOVE R5 R1 + 0x5818000F, // 0003 LDCONST R6 K15 + 0x7C0C0600, // 0004 CALL R3 3 + 0x780E0009, // 0005 JMPF R3 #0010 + 0x880C0110, // 0006 GETMBR R3 R0 K16 + 0x780E0007, // 0007 JMPF R3 #0010 + 0x880C0110, // 0008 GETMBR R3 R0 K16 + 0x8C0C071E, // 0009 GETMET R3 R3 K30 + 0x54160006, // 000A LDINT R5 7 + 0x40140B12, // 000B CONNECT R5 R5 K18 + 0x94140205, // 000C GETIDX R5 R1 R5 + 0x7C0C0400, // 000D CALL R3 2 + 0x80040600, // 000E RET 1 R3 + 0x70020033, // 000F JMP #0044 + 0x8C0C050E, // 0010 GETMET R3 R2 K14 + 0x5C140200, // 0011 MOVE R5 R1 + 0x58180013, // 0012 LDCONST R6 K19 + 0x7C0C0600, // 0013 CALL R3 3 + 0x780E0009, // 0014 JMPF R3 #001F + 0x880C0114, // 0015 GETMBR R3 R0 K20 + 0x780E0007, // 0016 JMPF R3 #001F + 0x880C0114, // 0017 GETMBR R3 R0 K20 + 0x8C0C071E, // 0018 GETMET R3 R3 K30 + 0x54160006, // 0019 LDINT R5 7 + 0x40140B12, // 001A CONNECT R5 R5 K18 + 0x94140205, // 001B GETIDX R5 R1 R5 + 0x7C0C0400, // 001C CALL R3 2 + 0x80040600, // 001D RET 1 R3 + 0x70020024, // 001E JMP #0044 + 0x8C0C050E, // 001F GETMET R3 R2 K14 + 0x5C140200, // 0020 MOVE R5 R1 + 0x58180015, // 0021 LDCONST R6 K21 + 0x7C0C0600, // 0022 CALL R3 3 + 0x780E0009, // 0023 JMPF R3 #002E + 0x880C0116, // 0024 GETMBR R3 R0 K22 + 0x780E0007, // 0025 JMPF R3 #002E + 0x880C0116, // 0026 GETMBR R3 R0 K22 + 0x8C0C071E, // 0027 GETMET R3 R3 K30 + 0x54160005, // 0028 LDINT R5 6 + 0x40140B12, // 0029 CONNECT R5 R5 K18 + 0x94140205, // 002A GETIDX R5 R1 R5 + 0x7C0C0400, // 002B CALL R3 2 + 0x80040600, // 002C RET 1 R3 + 0x70020015, // 002D JMP #0044 + 0x8C0C050E, // 002E GETMET R3 R2 K14 + 0x5C140200, // 002F MOVE R5 R1 + 0x58180017, // 0030 LDCONST R6 K23 + 0x7C0C0600, // 0031 CALL R3 3 + 0x780E0009, // 0032 JMPF R3 #003D + 0x880C0118, // 0033 GETMBR R3 R0 K24 + 0x780E0007, // 0034 JMPF R3 #003D + 0x880C0118, // 0035 GETMBR R3 R0 K24 + 0x8C0C071E, // 0036 GETMET R3 R3 K30 + 0x54160007, // 0037 LDINT R5 8 + 0x40140B12, // 0038 CONNECT R5 R5 K18 + 0x94140205, // 0039 GETIDX R5 R1 R5 + 0x7C0C0400, // 003A CALL R3 2 + 0x80040600, // 003B RET 1 R3 + 0x70020006, // 003C JMP #0044 + 0x600C0003, // 003D GETGBL R3 G3 + 0x5C100000, // 003E MOVE R4 R0 + 0x7C0C0200, // 003F CALL R3 1 + 0x8C0C071E, // 0040 GETMET R3 R3 K30 + 0x5C140200, // 0041 MOVE R5 R1 + 0x7C0C0400, // 0042 CALL R3 2 + 0x80040600, // 0043 RET 1 R3 + 0x80000000, // 0044 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _add_button +********************************************************************/ +be_local_closure(class_lvh_msgbox__add_button, /* name */ + be_nested_proto( + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(_add_button), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x8808011F, // 0000 GETMBR R2 R0 K31 + 0x88080520, // 0001 GETMBR R2 R2 K32 + 0x88080521, // 0002 GETMBR R2 R2 K33 + 0x880C0104, // 0003 GETMBR R3 R0 K4 + 0x8C0C0722, // 0004 GETMET R3 R3 K34 + 0x5C140200, // 0005 MOVE R5 R1 + 0x7C0C0400, // 0006 CALL R3 2 + 0x5C100400, // 0007 MOVE R4 R2 + 0x4C140000, // 0008 LDNIL R5 + 0x8818011F, // 0009 GETMBR R6 R0 K31 + 0x601C0013, // 000A GETGBL R7 G19 + 0x7C1C0000, // 000B CALL R7 0 + 0x5C200600, // 000C MOVE R8 R3 + 0x5C240000, // 000D MOVE R9 R0 + 0x7C100A00, // 000E CALL R4 5 + 0x88140100, // 000F GETMBR R5 R0 K0 + 0x8C140B23, // 0010 GETMET R5 R5 K35 + 0x5C1C0800, // 0011 MOVE R7 R4 + 0x7C140400, // 0012 CALL R5 2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_config +********************************************************************/ +be_local_closure(class_lvh_msgbox_post_config, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 3]) { /* upvals */ + be_local_const_upval(1, 2), + be_local_const_upval(1, 1), + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(_page), + /* K1 */ be_nested_str_weak(value_error), + }), + be_str_weak(get_obj_safe), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0xA802000F, // 0000 EXBLK 0 #0011 + 0x5C040000, // 0001 MOVE R1 R0 + 0x68080000, // 0002 GETUPV R2 U0 + 0x7C040200, // 0003 CALL R1 1 + 0x68080001, // 0004 GETUPV R2 U1 + 0x4C0C0000, // 0005 LDNIL R3 + 0x68100002, // 0006 GETUPV R4 U2 + 0x88100900, // 0007 GETMBR R4 R4 K0 + 0x60140013, // 0008 GETGBL R5 G19 + 0x7C140000, // 0009 CALL R5 0 + 0x5C180200, // 000A MOVE R6 R1 + 0x681C0002, // 000B GETUPV R7 U2 + 0x7C080A00, // 000C CALL R2 5 + 0xA8040001, // 000D EXBLK 1 1 + 0x80040400, // 000E RET 1 R2 + 0xA8040001, // 000F EXBLK 1 1 + 0x70020006, // 0010 JMP #0018 + 0x58040001, // 0011 LDCONST R1 K1 + 0xAC040200, // 0012 CATCH R1 1 0 + 0x70020002, // 0013 JMP #0017 + 0x4C040000, // 0014 LDNIL R1 + 0x80040200, // 0015 RET 1 R1 + 0x70020000, // 0016 JMP #0018 + 0xB0080000, // 0017 RAISE 2 R0 R0 + 0x80000000, // 0018 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_msgbox, /* shared constants */ + be_str_weak(post_config), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x8804011F, // 0000 GETMBR R1 R0 K31 + 0x88040320, // 0001 GETMBR R1 R1 K32 + 0x88040321, // 0002 GETMBR R1 R1 K33 + 0x88080104, // 0003 GETMBR R2 R0 K4 + 0x840C0000, // 0004 CLOSURE R3 P0 + 0x60100003, // 0005 GETGBL R4 G3 + 0x5C140000, // 0006 MOVE R5 R0 + 0x7C100200, // 0007 CALL R4 1 + 0x8C100924, // 0008 GETMET R4 R4 K36 + 0x7C100200, // 0009 CALL R4 1 + 0x5C100600, // 000A MOVE R4 R3 + 0x88140525, // 000B GETMBR R5 R2 K37 + 0x7C100200, // 000C CALL R4 1 + 0x90022804, // 000D SETMBR R0 K20 R4 + 0x5C100600, // 000E MOVE R4 R3 + 0x88140526, // 000F GETMBR R5 R2 K38 + 0x7C100200, // 0010 CALL R4 1 + 0x90022004, // 0011 SETMBR R0 K16 R4 + 0x5C100600, // 0012 MOVE R4 R3 + 0x88140527, // 0013 GETMBR R5 R2 K39 + 0x7C100200, // 0014 CALL R4 1 + 0x90023004, // 0015 SETMBR R0 K24 R4 + 0x5C100600, // 0016 MOVE R4 R3 + 0x88140528, // 0017 GETMBR R5 R2 K40 + 0x7C100200, // 0018 CALL R4 1 + 0x90022C04, // 0019 SETMBR R0 K22 R4 + 0xA0000000, // 001A CLOSE R0 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_msgbox +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_msgbox, + 6, + &be_class_lvh_obj, + be_nested_map(19, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_content, -1), be_const_var(3) }, + { be_const_key_weak(_lv_class, 12), be_const_class(be_class_lv_msgbox) }, + { be_const_key_weak(_buttons, 4), be_const_var(5) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_msgbox_get_text_closure) }, + { be_const_key_weak(get_options, -1), be_const_closure(class_lvh_msgbox_get_options_closure) }, + { be_const_key_weak(register_event_cb, -1), be_const_closure(class_lvh_msgbox_register_event_cb_closure) }, + { be_const_key_weak(set_title, -1), be_const_closure(class_lvh_msgbox_set_title_closure) }, + { be_const_key_weak(setmember, 8), be_const_closure(class_lvh_msgbox_setmember_closure) }, + { be_const_key_weak(_add_button, -1), be_const_closure(class_lvh_msgbox__add_button_closure) }, + { be_const_key_weak(set_text, 16), be_const_closure(class_lvh_msgbox_set_text_closure) }, + { be_const_key_weak(_header, 5), be_const_var(1) }, + { be_const_key_weak(_footer, 14), be_const_var(2) }, + { be_const_key_weak(_modal, -1), be_const_var(0) }, + { be_const_key_weak(init, 15), be_const_closure(class_lvh_msgbox_init_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_lvh_msgbox_member_closure) }, + { be_const_key_weak(set_options, -1), be_const_closure(class_lvh_msgbox_set_options_closure) }, + { be_const_key_weak(get_title, -1), be_const_closure(class_lvh_msgbox_get_title_closure) }, + { be_const_key_weak(_title, -1), be_const_var(4) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_msgbox_post_config_closure) }, + })), + be_str_weak(lvh_msgbox) +); + +extern const bclass be_class_lvh_spinner; + +/******************************************************************** +** Solidified function: set_angle +********************************************************************/ +be_local_closure(class_lvh_spinner_set_angle, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(set_angle), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_spinner_init, /* name */ + be_nested_proto( + 15, /* nstack */ + 6, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str_weak(find), + /* K1 */ be_nested_str_weak(angle), + /* K2 */ be_nested_str_weak(speed), + /* K3 */ be_nested_str_weak(_lv_obj), + /* K4 */ be_nested_str_weak(lv), + /* K5 */ be_nested_str_weak(spinner), + /* K6 */ be_nested_str_weak(set_anim_params), + /* K7 */ be_nested_str_weak(init), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x8C180700, // 0000 GETMET R6 R3 K0 + 0x58200001, // 0001 LDCONST R8 K1 + 0x5426003B, // 0002 LDINT R9 60 + 0x7C180600, // 0003 CALL R6 3 + 0x8C1C0700, // 0004 GETMET R7 R3 K0 + 0x58240002, // 0005 LDCONST R9 K2 + 0x542A03E7, // 0006 LDINT R10 1000 + 0x7C1C0600, // 0007 CALL R7 3 + 0xB8220800, // 0008 GETNGBL R8 K4 + 0x8C201105, // 0009 GETMET R8 R8 K5 + 0x5C280200, // 000A MOVE R10 R1 + 0x7C200400, // 000B CALL R8 2 + 0x90020608, // 000C SETMBR R0 K3 R8 + 0x88200103, // 000D GETMBR R8 R0 K3 + 0x8C201106, // 000E GETMET R8 R8 K6 + 0x5C280E00, // 000F MOVE R10 R7 + 0x5C2C0C00, // 0010 MOVE R11 R6 + 0x7C200600, // 0011 CALL R8 3 + 0x60200003, // 0012 GETGBL R8 G3 + 0x5C240000, // 0013 MOVE R9 R0 + 0x7C200200, // 0014 CALL R8 1 + 0x8C201107, // 0015 GETMET R8 R8 K7 + 0x5C280200, // 0016 MOVE R10 R1 + 0x5C2C0400, // 0017 MOVE R11 R2 + 0x5C300600, // 0018 MOVE R12 R3 + 0x88340103, // 0019 GETMBR R13 R0 K3 + 0x5C380A00, // 001A MOVE R14 R5 + 0x7C200C00, // 001B CALL R8 6 + 0x80000000, // 001C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_speed +********************************************************************/ +be_local_closure(class_lvh_spinner_get_speed, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(get_speed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_angle +********************************************************************/ +be_local_closure(class_lvh_spinner_get_angle, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(get_angle), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_speed +********************************************************************/ +be_local_closure(class_lvh_spinner_set_speed, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(set_speed), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_spinner +********************************************************************/ +extern const bclass be_class_lvh_arc; +be_local_class(lvh_spinner, + 2, + &be_class_lvh_arc, + be_nested_map(8, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_speed, 4), be_const_closure(class_lvh_spinner_set_speed_closure) }, + { be_const_key_weak(_speed, -1), be_const_var(0) }, + { be_const_key_weak(get_angle, 6), be_const_closure(class_lvh_spinner_get_angle_closure) }, + { be_const_key_weak(init, 2), be_const_closure(class_lvh_spinner_init_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_spinner) }, + { be_const_key_weak(_angle, -1), be_const_var(1) }, + { be_const_key_weak(get_speed, -1), be_const_closure(class_lvh_spinner_get_speed_closure) }, + { be_const_key_weak(set_angle, 0), be_const_closure(class_lvh_spinner_set_angle_closure) }, + })), + be_str_weak(lvh_spinner) +); +// compact class 'lvh_img' ktab size: 18, total: 24 (saved 48 bytes) +static const bvalue be_ktab_class_lvh_img[18] = { + /* K0 */ be_nested_str_weak(tasmota_logo), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_tasmota_logo), + /* K3 */ be_nested_str_weak(set_src), + /* K4 */ be_nested_str_weak(set_inner_align), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(IMAGE_ALIGN_STRETCH), + /* K7 */ be_nested_str_weak(set_angle), + /* K8 */ be_nested_str_weak(get_angle), + /* K9 */ be_nested_str_weak(_raw), + /* K10 */ be_nested_str_weak(fromb64), + /* K11 */ be_nested_str_weak(lv_image_dsc), + /* K12 */ be_nested_str_weak(header_cf), + /* K13 */ be_nested_str_weak(COLOR_FORMAT_RAW), + /* K14 */ be_nested_str_weak(data_size), + /* K15 */ be_nested_str_weak(data), + /* K16 */ be_nested_str_weak(_buffer), + /* K17 */ be_nested_str_weak(_imd_dsc), +}; + + +extern const bclass be_class_lvh_img; + +/******************************************************************** +** Solidified function: set_src +********************************************************************/ +be_local_closure(class_lvh_img_set_src, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(set_src), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x1C080300, // 0000 EQ R2 R1 K0 + 0x780A0003, // 0001 JMPF R2 #0006 + 0x88080101, // 0002 GETMBR R2 R0 K1 + 0x8C080502, // 0003 GETMET R2 R2 K2 + 0x7C080200, // 0004 CALL R2 1 + 0x70020003, // 0005 JMP #000A + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x8C080503, // 0007 GETMET R2 R2 K3 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C080400, // 0009 CALL R2 2 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_auto_size +********************************************************************/ +be_local_closure(class_lvh_img_get_auto_size, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(get_auto_size), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_auto_size +********************************************************************/ +be_local_closure(class_lvh_img_set_auto_size, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(set_auto_size), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x78060004, // 0000 JMPF R1 #0006 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080504, // 0002 GETMET R2 R2 K4 + 0xB8120A00, // 0003 GETNGBL R4 K5 + 0x88100906, // 0004 GETMBR R4 R4 K6 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_angle +********************************************************************/ +be_local_closure(class_lvh_img_set_angle, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(set_angle), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x88080101, // 0004 GETMBR R2 R0 K1 + 0x8C080507, // 0005 GETMET R2 R2 K7 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_angle +********************************************************************/ +be_local_closure(class_lvh_img_get_angle, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(get_angle), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040308, // 0001 GETMET R1 R1 K8 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_raw +********************************************************************/ +be_local_closure(class_lvh_img_set_raw, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_img, /* shared constants */ + be_str_weak(set_raw), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x60080015, // 0000 GETGBL R2 G21 + 0x7C080000, // 0001 CALL R2 0 + 0x8C08050A, // 0002 GETMET R2 R2 K10 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C080400, // 0004 CALL R2 2 + 0x90021202, // 0005 SETMBR R0 K9 R2 + 0xB80A0A00, // 0006 GETNGBL R2 K5 + 0x8C08050B, // 0007 GETMET R2 R2 K11 + 0x7C080200, // 0008 CALL R2 1 + 0xB80E0A00, // 0009 GETNGBL R3 K5 + 0x880C070D, // 000A GETMBR R3 R3 K13 + 0x900A1803, // 000B SETMBR R2 K12 R3 + 0x600C000C, // 000C GETGBL R3 G12 + 0x88100109, // 000D GETMBR R4 R0 K9 + 0x7C0C0200, // 000E CALL R3 1 + 0x900A1C03, // 000F SETMBR R2 K14 R3 + 0x880C0109, // 0010 GETMBR R3 R0 K9 + 0x8C0C0710, // 0011 GETMET R3 R3 K16 + 0x7C0C0200, // 0012 CALL R3 1 + 0x900A1E03, // 0013 SETMBR R2 K15 R3 + 0x90022202, // 0014 SETMBR R0 K17 R2 + 0x880C0101, // 0015 GETMBR R3 R0 K1 + 0x8C0C0703, // 0016 GETMET R3 R3 K3 + 0x5C140400, // 0017 MOVE R5 R2 + 0x7C0C0400, // 0018 CALL R3 2 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_img +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_img, + 2, + &be_class_lvh_obj, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_raw, -1), be_const_closure(class_lvh_img_set_raw_closure) }, + { be_const_key_weak(get_angle, 8), be_const_closure(class_lvh_img_get_angle_closure) }, + { be_const_key_weak(get_auto_size, -1), be_const_closure(class_lvh_img_get_auto_size_closure) }, + { be_const_key_weak(_raw, -1), be_const_var(0) }, + { be_const_key_weak(_imd_dsc, 5), be_const_var(1) }, + { be_const_key_weak(set_auto_size, -1), be_const_closure(class_lvh_img_set_auto_size_closure) }, + { be_const_key_weak(set_angle, 0), be_const_closure(class_lvh_img_set_angle_closure) }, + { be_const_key_weak(set_src, 1), be_const_closure(class_lvh_img_set_src_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_image) }, + })), + be_str_weak(lvh_img) +); +// compact class 'lvh_qrcode' ktab size: 9, total: 29 (saved 160 bytes) +static const bvalue be_ktab_class_lvh_qrcode[9] = { + /* K0 */ be_nested_str_weak(qr_text), + /* K1 */ be_nested_str_weak(_update), + /* K2 */ be_nested_str_weak(_lv_obj), + /* K3 */ be_nested_str_weak(set_light_color), + /* K4 */ be_nested_str_weak(parse_color), + /* K5 */ be_nested_str_weak(set_size), + /* K6 */ be_nested_str_weak(set_dark_color), + /* K7 */ be_nested_str_weak(post_config), + /* K8 */ be_nested_str_weak(update), +}; + + +extern const bclass be_class_lvh_qrcode; + +/******************************************************************** +** Solidified function: get_qr_dark_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_qr_dark_color, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_qr_dark_color), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_qr_text +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_qr_text, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_qr_text), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020002, // 0003 SETMBR R0 K0 R2 + 0x8C080101, // 0004 GETMET R2 R0 K1 + 0x7C080200, // 0005 CALL R2 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_light_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_light_color, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_light_color), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080503, // 0001 GETMET R2 R2 K3 + 0x8C100104, // 0002 GETMET R4 R0 K4 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_dark_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_dark_color, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_dark_color), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_qr_light_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_qr_light_color, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_qr_light_color), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080503, // 0001 GETMET R2 R2 K3 + 0x8C100104, // 0002 GETMET R4 R0 K4 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_qr_light_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_qr_light_color, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_qr_light_color), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_qr_size +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_qr_size, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_qr_size), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080505, // 0001 GETMET R2 R2 K5 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x8C080101, // 0004 GETMET R2 R0 K1 + 0x7C080200, // 0005 CALL R2 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_light_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_light_color, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_light_color), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_size +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_size, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_size), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080505, // 0001 GETMET R2 R2 K5 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x8C080101, // 0004 GETMET R2 R0 K1 + 0x7C080200, // 0005 CALL R2 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_qr_dark_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_qr_dark_color, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_qr_dark_color), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080506, // 0001 GETMET R2 R2 K6 + 0x8C100104, // 0002 GETMET R4 R0 K4 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_qr_text +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_qr_text, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_qr_text), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_dark_color +********************************************************************/ +be_local_closure(class_lvh_qrcode_set_dark_color, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(set_dark_color), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080506, // 0001 GETMET R2 R2 K6 + 0x8C100104, // 0002 GETMET R4 R0 K4 + 0x5C180200, // 0003 MOVE R6 R1 + 0x7C100400, // 0004 CALL R4 2 + 0x7C080400, // 0005 CALL R2 2 + 0x8C080101, // 0006 GETMET R2 R0 K1 + 0x7C080200, // 0007 CALL R2 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_size +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_size, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_size), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_config +********************************************************************/ +be_local_closure(class_lvh_qrcode_post_config, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(post_config), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040307, // 0003 GETMET R1 R1 K7 + 0x7C040200, // 0004 CALL R1 1 + 0x8C040101, // 0005 GETMET R1 R0 K1 + 0x7C040200, // 0006 CALL R1 1 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _update +********************************************************************/ +be_local_closure(class_lvh_qrcode__update, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(_update), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x4C080000, // 0001 LDNIL R2 + 0x20080202, // 0002 NE R2 R1 R2 + 0x780A0006, // 0003 JMPF R2 #000B + 0x88080102, // 0004 GETMBR R2 R0 K2 + 0x8C080508, // 0005 GETMET R2 R2 K8 + 0x5C100200, // 0006 MOVE R4 R1 + 0x6014000C, // 0007 GETGBL R5 G12 + 0x5C180200, // 0008 MOVE R6 R1 + 0x7C140200, // 0009 CALL R5 1 + 0x7C080600, // 000A CALL R2 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_qr_size +********************************************************************/ +be_local_closure(class_lvh_qrcode_get_qr_size, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_qrcode, /* shared constants */ + be_str_weak(get_qr_size), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_qrcode +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_qrcode, + 1, + &be_class_lvh_obj, + be_nested_map(18, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_qr_dark_color, 5), be_const_closure(class_lvh_qrcode_get_qr_dark_color_closure) }, + { be_const_key_weak(get_qr_size, -1), be_const_closure(class_lvh_qrcode_get_qr_size_closure) }, + { be_const_key_weak(qr_text, 4), be_const_var(0) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_qrcode) }, + { be_const_key_weak(set_qr_light_color, -1), be_const_closure(class_lvh_qrcode_set_qr_light_color_closure) }, + { be_const_key_weak(get_qr_light_color, -1), be_const_closure(class_lvh_qrcode_get_qr_light_color_closure) }, + { be_const_key_weak(get_size, -1), be_const_closure(class_lvh_qrcode_get_size_closure) }, + { be_const_key_weak(set_qr_size, 3), be_const_closure(class_lvh_qrcode_set_qr_size_closure) }, + { be_const_key_weak(get_light_color, -1), be_const_closure(class_lvh_qrcode_get_light_color_closure) }, + { be_const_key_weak(set_size, -1), be_const_closure(class_lvh_qrcode_set_size_closure) }, + { be_const_key_weak(set_qr_dark_color, -1), be_const_closure(class_lvh_qrcode_set_qr_dark_color_closure) }, + { be_const_key_weak(get_qr_text, 6), be_const_closure(class_lvh_qrcode_get_qr_text_closure) }, + { be_const_key_weak(set_light_color, 13), be_const_closure(class_lvh_qrcode_set_light_color_closure) }, + { be_const_key_weak(set_dark_color, 16), be_const_closure(class_lvh_qrcode_set_dark_color_closure) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_qrcode_post_config_closure) }, + { be_const_key_weak(_update, -1), be_const_closure(class_lvh_qrcode__update_closure) }, + { be_const_key_weak(get_dark_color, -1), be_const_closure(class_lvh_qrcode_get_dark_color_closure) }, + { be_const_key_weak(set_qr_text, 1), be_const_closure(class_lvh_qrcode_set_qr_text_closure) }, + })), + be_str_weak(lvh_qrcode) +); +// compact class 'lvh_slider' ktab size: 9, total: 14 (saved 40 bytes) +static const bvalue be_ktab_class_lvh_slider[9] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(set_range), + /* K2 */ be_nested_str_weak(get_min), + /* K3 */ be_nested_str_weak(get_min_value), + /* K4 */ be_nested_str_weak(_val), + /* K5 */ be_nested_str_weak(set_value), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(get_max_value), + /* K8 */ be_nested_str_weak(get_max), +}; + + +extern const bclass be_class_lvh_slider; + +/******************************************************************** +** Solidified function: set_max +********************************************************************/ +be_local_closure(class_lvh_slider_set_max, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_slider, /* shared constants */ + be_str_weak(set_max), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x8C100102, // 0002 GETMET R4 R0 K2 + 0x7C100200, // 0003 CALL R4 1 + 0x60140009, // 0004 GETGBL R5 G9 + 0x5C180200, // 0005 MOVE R6 R1 + 0x7C140200, // 0006 CALL R5 1 + 0x7C080600, // 0007 CALL R2 3 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_min +********************************************************************/ +be_local_closure(class_lvh_slider_get_min, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_slider, /* shared constants */ + be_str_weak(get_min), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040303, // 0001 GETMET R1 R1 K3 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_slider_set_val, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_slider, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90020801, // 0000 SETMBR R0 K4 R1 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C080505, // 0002 GETMET R2 R2 K5 + 0x5C100200, // 0003 MOVE R4 R1 + 0x58140006, // 0004 LDCONST R5 K6 + 0x7C080600, // 0005 CALL R2 3 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_max +********************************************************************/ +be_local_closure(class_lvh_slider_get_max, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_slider, /* shared constants */ + be_str_weak(get_max), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040307, // 0001 GETMET R1 R1 K7 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_min +********************************************************************/ +be_local_closure(class_lvh_slider_set_min, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_slider, /* shared constants */ + be_str_weak(set_min), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x8C140108, // 0005 GETMET R5 R0 K8 + 0x7C140200, // 0006 CALL R5 1 + 0x7C080600, // 0007 CALL R2 3 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_slider +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_slider, + 0, + &be_class_lvh_obj, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_min, 5), be_const_closure(class_lvh_slider_set_min_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_slider) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_slider_get_min_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_slider_set_val_closure) }, + { be_const_key_weak(set_max, 0), be_const_closure(class_lvh_slider_set_max_closure) }, + { be_const_key_weak(get_max, -1), be_const_closure(class_lvh_slider_get_max_closure) }, + })), + be_str_weak(lvh_slider) +); +// compact class 'lvh_roller' ktab size: 16, total: 20 (saved 32 bytes) +static const bvalue be_ktab_class_lvh_roller[16] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(set_options), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(ROLLER_MODE_NORMAL), + /* K4 */ be_nested_str_weak(resize), + /* K5 */ be_nested_str_weak(get_selected_str), + /* K6 */ be_nested_str_weak(_buffer), + /* K7 */ be_nested_str_weak(remove_trailing_zeroes), + /* K8 */ be_nested_str_weak(asstring), + /* K9 */ be_nested_str_weak(get_options), + /* K10 */ be_nested_str_weak(_val), + /* K11 */ be_nested_str_weak(set_selected), + /* K12 */ be_const_int(0), + /* K13 */ be_nested_str_weak(attribute_error), + /* K14 */ be_nested_str_weak(set_text_X20unsupported_X20on_X20roller), + /* K15 */ be_nested_str_weak(get_selected), +}; + + +extern const bclass be_class_lvh_roller; + +/******************************************************************** +** Solidified function: set_options +********************************************************************/ +be_local_closure(class_lvh_roller_set_options, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(set_options), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0xB8160400, // 0003 GETNGBL R5 K2 + 0x88140B03, // 0004 GETMBR R5 R5 K3 + 0x7C080600, // 0005 CALL R2 3 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_roller_get_text, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x60040015, // 0000 GETGBL R1 G21 + 0x7C040000, // 0001 CALL R1 0 + 0x8C040304, // 0002 GETMET R1 R1 K4 + 0x540E00FF, // 0003 LDINT R3 256 + 0x7C040400, // 0004 CALL R1 2 + 0x88080100, // 0005 GETMBR R2 R0 K0 + 0x8C080505, // 0006 GETMET R2 R2 K5 + 0x8C100306, // 0007 GETMET R4 R1 K6 + 0x7C100200, // 0008 CALL R4 1 + 0x541600FF, // 0009 LDINT R5 256 + 0x7C080600, // 000A CALL R2 3 + 0x8C080107, // 000B GETMET R2 R0 K7 + 0x5C100200, // 000C MOVE R4 R1 + 0x7C080400, // 000D CALL R2 2 + 0x5C040400, // 000E MOVE R1 R2 + 0x8C080308, // 000F GETMET R2 R1 K8 + 0x7C080200, // 0010 CALL R2 1 + 0x80040400, // 0011 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_options +********************************************************************/ +be_local_closure(class_lvh_roller_get_options, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(get_options), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_roller_set_val, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90021401, // 0000 SETMBR R0 K10 R1 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C08050B, // 0002 GETMET R2 R2 K11 + 0x5C100200, // 0003 MOVE R4 R1 + 0x5814000C, // 0004 LDCONST R5 K12 + 0x7C080600, // 0005 CALL R2 3 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_roller_set_text, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0xB0061B0E, // 0000 RAISE 1 K13 K14 + 0x80000000, // 0001 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_roller_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_roller, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C04030F, // 0001 GETMET R1 R1 K15 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_roller +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_roller, + 0, + &be_class_lvh_obj, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_options, 2), be_const_closure(class_lvh_roller_set_options_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_roller_get_text_closure) }, + { be_const_key_weak(get_options, -1), be_const_closure(class_lvh_roller_get_options_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_roller) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_roller_set_text_closure) }, + { be_const_key_weak(set_val, 4), be_const_closure(class_lvh_roller_set_val_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_roller_get_val_closure) }, + })), + be_str_weak(lvh_roller) +); +// compact class 'lvh_led' ktab size: 6, total: 8 (saved 16 bytes) +static const bvalue be_ktab_class_lvh_led[6] = { + /* K0 */ be_nested_str_weak(_val), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_brightness), + /* K3 */ be_nested_str_weak(get_brightness), + /* K4 */ be_nested_str_weak(parse_color), + /* K5 */ be_nested_str_weak(set_color), +}; + + +extern const bclass be_class_lvh_led; + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_led_set_val, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_led, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080502, // 0002 GETMET R2 R2 K2 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C080400, // 0004 CALL R2 2 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_color +********************************************************************/ +be_local_closure(class_lvh_led_get_color, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_led, /* shared constants */ + be_str_weak(get_color), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_led_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_led, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040303, // 0001 GETMET R1 R1 K3 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_color +********************************************************************/ +be_local_closure(class_lvh_led_set_color, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_led, /* shared constants */ + be_str_weak(set_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C080104, // 0000 GETMET R2 R0 K4 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x880C0101, // 0003 GETMBR R3 R0 K1 + 0x8C0C0705, // 0004 GETMET R3 R3 K5 + 0x5C140400, // 0005 MOVE R5 R2 + 0x7C0C0400, // 0006 CALL R3 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_led +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_led, + 0, + &be_class_lvh_obj, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_led_set_val_closure) }, + { be_const_key_weak(get_color, 3), be_const_closure(class_lvh_led_get_color_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_led) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_led_get_val_closure) }, + { be_const_key_weak(set_color, -1), be_const_closure(class_lvh_led_set_color_closure) }, + })), + be_str_weak(lvh_led) +); +// compact class 'lvh_dropdown' ktab size: 25, total: 37 (saved 96 bytes) +static const bvalue be_ktab_class_lvh_dropdown[25] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(get_selected), + /* K2 */ be_nested_str_weak(set_text), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(3), + /* K5 */ be_nested_str_weak(set_dir), + /* K6 */ be_nested_str_weak(_dir), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(_symbol), + /* K9 */ be_nested_str_weak(lv), + /* K10 */ be_nested_str_weak(SYMBOL_UP), + /* K11 */ be_const_int(2), + /* K12 */ be_nested_str_weak(SYMBOL_LEFT), + /* K13 */ be_nested_str_weak(SYMBOL_RIGHT), + /* K14 */ be_nested_str_weak(SYMBOL_DOWN), + /* K15 */ be_nested_str_weak(set_symbol), + /* K16 */ be_nested_str_weak(get_dir), + /* K17 */ be_nested_str_weak(_val), + /* K18 */ be_nested_str_weak(set_selected), + /* K19 */ be_nested_str_weak(get_text), + /* K20 */ be_nested_str_weak(resize), + /* K21 */ be_nested_str_weak(get_selected_str), + /* K22 */ be_nested_str_weak(_buffer), + /* K23 */ be_nested_str_weak(remove_trailing_zeroes), + /* K24 */ be_nested_str_weak(asstring), +}; + + +extern const bclass be_class_lvh_dropdown; + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_dropdown_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_dropdown_set_text, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_direction +********************************************************************/ +be_local_closure(class_lvh_dropdown_set_direction, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(set_direction), + &be_const_str_solidified, + ( &(const binstruction[40]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x14080303, // 0004 LT R2 R1 K3 + 0x740A0001, // 0005 JMPT R2 #0008 + 0x24080304, // 0006 GT R2 R1 K4 + 0x780A0000, // 0007 JMPF R2 #0009 + 0x58040003, // 0008 LDCONST R1 K3 + 0x88080100, // 0009 GETMBR R2 R0 K0 + 0x8C080505, // 000A GETMET R2 R2 K5 + 0x88100106, // 000B GETMBR R4 R0 K6 + 0x94100801, // 000C GETIDX R4 R4 R1 + 0x7C080400, // 000D CALL R2 2 + 0x1C080307, // 000E EQ R2 R1 K7 + 0x780A0003, // 000F JMPF R2 #0014 + 0xB80A1200, // 0010 GETNGBL R2 K9 + 0x8808050A, // 0011 GETMBR R2 R2 K10 + 0x90021002, // 0012 SETMBR R0 K8 R2 + 0x7002000E, // 0013 JMP #0023 + 0x1C08030B, // 0014 EQ R2 R1 K11 + 0x780A0003, // 0015 JMPF R2 #001A + 0xB80A1200, // 0016 GETNGBL R2 K9 + 0x8808050C, // 0017 GETMBR R2 R2 K12 + 0x90021002, // 0018 SETMBR R0 K8 R2 + 0x70020008, // 0019 JMP #0023 + 0x1C080304, // 001A EQ R2 R1 K4 + 0x780A0003, // 001B JMPF R2 #0020 + 0xB80A1200, // 001C GETNGBL R2 K9 + 0x8808050D, // 001D GETMBR R2 R2 K13 + 0x90021002, // 001E SETMBR R0 K8 R2 + 0x70020002, // 001F JMP #0023 + 0xB80A1200, // 0020 GETNGBL R2 K9 + 0x8808050E, // 0021 GETMBR R2 R2 K14 + 0x90021002, // 0022 SETMBR R0 K8 R2 + 0x88080100, // 0023 GETMBR R2 R0 K0 + 0x8C08050F, // 0024 GETMET R2 R2 K15 + 0x88100108, // 0025 GETMBR R4 R0 K8 + 0x7C080400, // 0026 CALL R2 2 + 0x80000000, // 0027 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_direction +********************************************************************/ +be_local_closure(class_lvh_dropdown_get_direction, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(get_direction), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040310, // 0001 GETMET R1 R1 K16 + 0x7C040200, // 0002 CALL R1 1 + 0x58080003, // 0003 LDCONST R2 K3 + 0x600C000C, // 0004 GETGBL R3 G12 + 0x88100106, // 0005 GETMBR R4 R0 K6 + 0x7C0C0200, // 0006 CALL R3 1 + 0x140C0403, // 0007 LT R3 R2 R3 + 0x780E0006, // 0008 JMPF R3 #0010 + 0x880C0106, // 0009 GETMBR R3 R0 K6 + 0x940C0602, // 000A GETIDX R3 R3 R2 + 0x1C0C0203, // 000B EQ R3 R1 R3 + 0x780E0000, // 000C JMPF R3 #000E + 0x80040400, // 000D RET 1 R2 + 0x00080507, // 000E ADD R2 R2 K7 + 0x7001FFF3, // 000F JMP #0004 + 0x540DFFFE, // 0010 LDINT R3 -1 + 0x80040600, // 0011 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_show_selected +********************************************************************/ +be_local_closure(class_lvh_dropdown_set_show_selected, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(set_show_selected), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x78060003, // 0000 JMPF R1 #0005 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C080502, // 0002 GETMET R2 R2 K2 + 0x4C100000, // 0003 LDNIL R4 + 0x7C080400, // 0004 CALL R2 2 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_dropdown_set_val, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x90022201, // 0000 SETMBR R0 K17 R1 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C080512, // 0002 GETMET R2 R2 K18 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C080400, // 0004 CALL R2 2 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_dropdown_get_text, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040313, // 0001 GETMET R1 R1 K19 + 0x7C040200, // 0002 CALL R1 1 + 0x4C080000, // 0003 LDNIL R2 + 0x1C080202, // 0004 EQ R2 R1 R2 + 0x780A0012, // 0005 JMPF R2 #0019 + 0x60080015, // 0006 GETGBL R2 G21 + 0x7C080000, // 0007 CALL R2 0 + 0x8C080514, // 0008 GETMET R2 R2 K20 + 0x541200FF, // 0009 LDINT R4 256 + 0x7C080400, // 000A CALL R2 2 + 0x880C0100, // 000B GETMBR R3 R0 K0 + 0x8C0C0715, // 000C GETMET R3 R3 K21 + 0x8C140516, // 000D GETMET R5 R2 K22 + 0x7C140200, // 000E CALL R5 1 + 0x541A00FF, // 000F LDINT R6 256 + 0x7C0C0600, // 0010 CALL R3 3 + 0x8C0C0117, // 0011 GETMET R3 R0 K23 + 0x5C140400, // 0012 MOVE R5 R2 + 0x7C0C0400, // 0013 CALL R3 2 + 0x5C080600, // 0014 MOVE R2 R3 + 0x8C0C0518, // 0015 GETMET R3 R2 K24 + 0x7C0C0200, // 0016 CALL R3 1 + 0x80040600, // 0017 RET 1 R3 + 0x70020000, // 0018 JMP #001A + 0x80040200, // 0019 RET 1 R1 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_show_selected +********************************************************************/ +be_local_closure(class_lvh_dropdown_get_show_selected, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_dropdown, /* shared constants */ + be_str_weak(get_show_selected), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040313, // 0001 GETMET R1 R1 K19 + 0x7C040200, // 0002 CALL R1 1 + 0x4C080000, // 0003 LDNIL R2 + 0x1C080202, // 0004 EQ R2 R1 R2 + 0x80040400, // 0005 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_dropdown +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_dropdown, + 1, + &be_class_lvh_obj, + be_nested_map(11, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_show_selected, -1), be_const_closure(class_lvh_dropdown_get_show_selected_closure) }, + { be_const_key_weak(get_text, 2), be_const_closure(class_lvh_dropdown_get_text_closure) }, + { be_const_key_weak(set_val, 7), be_const_closure(class_lvh_dropdown_set_val_closure) }, + { be_const_key_weak(_symbol, -1), be_const_var(0) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_dropdown) }, + { be_const_key_weak(set_direction, -1), be_const_closure(class_lvh_dropdown_set_direction_closure) }, + { be_const_key_weak(get_val, 9), be_const_closure(class_lvh_dropdown_get_val_closure) }, + { be_const_key_weak(set_show_selected, -1), be_const_closure(class_lvh_dropdown_set_show_selected_closure) }, + { be_const_key_weak(_dir, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(4, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(8), + be_const_int(4), + be_const_int(1), + be_const_int(2), + })) ) } )) }, + { be_const_key_weak(get_direction, -1), be_const_closure(class_lvh_dropdown_get_direction_closure) }, + { be_const_key_weak(set_text, 0), be_const_closure(class_lvh_dropdown_set_text_closure) }, + })), + be_str_weak(lvh_dropdown) +); + +extern const bclass be_class_lvh_dropdown_list; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_dropdown_list_post_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[11]) { /* constants */ + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(_parent_lvh), + /* K2 */ be_nested_str_weak(_page), + /* K3 */ be_nested_str_weak(_hm), + /* K4 */ be_nested_str_weak(lvh_dropdown), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(list), + /* K7 */ be_nested_str_weak(get_list), + /* K8 */ be_nested_str_weak(_p), + /* K9 */ be_nested_str_weak(HSP_X3A_X20_X27dropdown_list_X27_X20should_X20have_X20a_X20parent_X20of_X20type_X20_X27dropdown_X27), + /* K10 */ be_nested_str_weak(post_init), + }), + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x6004000F, // 0002 GETGBL R1 G15 + 0x88080101, // 0003 GETMBR R2 R0 K1 + 0x880C0102, // 0004 GETMBR R3 R0 K2 + 0x880C0703, // 0005 GETMBR R3 R3 K3 + 0x880C0704, // 0006 GETMBR R3 R3 K4 + 0x7C040400, // 0007 CALL R1 2 + 0x78060009, // 0008 JMPF R1 #0013 + 0xB8060A00, // 0009 GETNGBL R1 K5 + 0x8C040306, // 000A GETMET R1 R1 K6 + 0x880C0101, // 000B GETMBR R3 R0 K1 + 0x880C0700, // 000C GETMBR R3 R3 K0 + 0x8C0C0707, // 000D GETMET R3 R3 K7 + 0x7C0C0200, // 000E CALL R3 1 + 0x880C0708, // 000F GETMBR R3 R3 K8 + 0x7C040400, // 0010 CALL R1 2 + 0x90020001, // 0011 SETMBR R0 K0 R1 + 0x70020002, // 0012 JMP #0016 + 0x60040001, // 0013 GETGBL R1 G1 + 0x58080009, // 0014 LDCONST R2 K9 + 0x7C040200, // 0015 CALL R1 1 + 0x60040003, // 0016 GETGBL R1 G3 + 0x5C080000, // 0017 MOVE R2 R0 + 0x7C040200, // 0018 CALL R1 1 + 0x8C04030A, // 0019 GETMET R1 R1 K10 + 0x7C040200, // 001A CALL R1 1 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_dropdown_list +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_dropdown_list, + 0, + &be_class_lvh_obj, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_dropdown_list_post_init_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_nil() }, + })), + be_str_weak(lvh_dropdown_list) +); +// compact class 'lvh_bar' ktab size: 15, total: 24 (saved 72 bytes) +static const bvalue be_ktab_class_lvh_bar[15] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(get_max_value), + /* K2 */ be_nested_str_weak(set_range), + /* K3 */ be_nested_str_weak(get_min_value), + /* K4 */ be_nested_str_weak(post_init), + /* K5 */ be_nested_str_weak(_parent_lvh), + /* K6 */ be_nested_str_weak(_page), + /* K7 */ be_nested_str_weak(_hm), + /* K8 */ be_nested_str_weak(lvh_scale), + /* K9 */ be_nested_str_weak(get_range_min_value), + /* K10 */ be_nested_str_weak(get_range_max_value), + /* K11 */ be_nested_str_weak(_val), + /* K12 */ be_nested_str_weak(set_value), + /* K13 */ be_nested_str_weak(lv), + /* K14 */ be_nested_str_weak(ANIM_OFF), +}; + + +extern const bclass be_class_lvh_bar; + +/******************************************************************** +** Solidified function: get_max +********************************************************************/ +be_local_closure(class_lvh_bar_get_max, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(get_max), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_max +********************************************************************/ +be_local_closure(class_lvh_bar_set_max, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(set_max), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x88100100, // 0002 GETMBR R4 R0 K0 + 0x8C100903, // 0003 GETMET R4 R4 K3 + 0x7C100200, // 0004 CALL R4 1 + 0x60140009, // 0005 GETGBL R5 G9 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C140200, // 0007 CALL R5 1 + 0x7C080600, // 0008 CALL R2 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_bar_post_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[26]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040304, // 0003 GETMET R1 R1 K4 + 0x7C040200, // 0004 CALL R1 1 + 0x6004000F, // 0005 GETGBL R1 G15 + 0x88080105, // 0006 GETMBR R2 R0 K5 + 0x880C0106, // 0007 GETMBR R3 R0 K6 + 0x880C0707, // 0008 GETMBR R3 R3 K7 + 0x880C0708, // 0009 GETMBR R3 R3 K8 + 0x7C040400, // 000A CALL R1 2 + 0x7806000C, // 000B JMPF R1 #0019 + 0x88040105, // 000C GETMBR R1 R0 K5 + 0x88040300, // 000D GETMBR R1 R1 K0 + 0x8C040309, // 000E GETMET R1 R1 K9 + 0x7C040200, // 000F CALL R1 1 + 0x88080105, // 0010 GETMBR R2 R0 K5 + 0x88080500, // 0011 GETMBR R2 R2 K0 + 0x8C08050A, // 0012 GETMET R2 R2 K10 + 0x7C080200, // 0013 CALL R2 1 + 0x880C0100, // 0014 GETMBR R3 R0 K0 + 0x8C0C0702, // 0015 GETMET R3 R3 K2 + 0x5C140200, // 0016 MOVE R5 R1 + 0x5C180400, // 0017 MOVE R6 R2 + 0x7C0C0600, // 0018 CALL R3 3 + 0x80000000, // 0019 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_min +********************************************************************/ +be_local_closure(class_lvh_bar_get_min, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(get_min), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040303, // 0001 GETMET R1 R1 K3 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_min +********************************************************************/ +be_local_closure(class_lvh_bar_set_min, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(set_min), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x88140100, // 0005 GETMBR R5 R0 K0 + 0x8C140B01, // 0006 GETMET R5 R5 K1 + 0x7C140200, // 0007 CALL R5 1 + 0x7C080600, // 0008 CALL R2 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_bar_set_val, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_bar, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x90021601, // 0000 SETMBR R0 K11 R1 + 0x88080100, // 0001 GETMBR R2 R0 K0 + 0x8C08050C, // 0002 GETMET R2 R2 K12 + 0x5C100200, // 0003 MOVE R4 R1 + 0xB8161A00, // 0004 GETNGBL R5 K13 + 0x88140B0E, // 0005 GETMBR R5 R5 K14 + 0x7C080600, // 0006 CALL R2 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_bar +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_bar, + 0, + &be_class_lvh_obj, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_bar_set_val_closure) }, + { be_const_key_weak(post_init, 6), be_const_closure(class_lvh_bar_post_init_closure) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_bar_get_min_closure) }, + { be_const_key_weak(_lv_class, 1), be_const_class(be_class_lv_bar) }, + { be_const_key_weak(get_max, 2), be_const_closure(class_lvh_bar_get_max_closure) }, + { be_const_key_weak(set_min, 0), be_const_closure(class_lvh_bar_set_min_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_bar_set_max_closure) }, + })), + be_str_weak(lvh_bar) +); + +extern const bclass be_class_lvh_line; + +/******************************************************************** +** Solidified function: set_points +********************************************************************/ +be_local_closure(class_lvh_line_set_points, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[14]) { /* constants */ + /* K0 */ be_const_int(2), + /* K1 */ be_nested_str_weak(lv), + /* K2 */ be_nested_str_weak(point), + /* K3 */ be_nested_str_weak(x), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(y), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str_weak(push), + /* K8 */ be_nested_str_weak(stop_iteration), + /* K9 */ be_nested_str_weak(point_arr), + /* K10 */ be_nested_str_weak(_lv_points), + /* K11 */ be_nested_str_weak(_lv_obj), + /* K12 */ be_nested_str_weak(set_points_mutable), + /* K13 */ be_nested_str_weak(HSP_X3A_X20_X27line_X27_X20wrong_X20format_X20for_X20_X27points_X27_X20_X25s), + }), + be_str_weak(set_points), + &be_const_str_solidified, + ( &(const binstruction[61]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x60100012, // 0002 GETGBL R4 G18 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0030, // 0004 JMPF R2 #0036 + 0x60080012, // 0005 GETGBL R2 G18 + 0x7C080000, // 0006 CALL R2 0 + 0x600C0010, // 0007 GETGBL R3 G16 + 0x5C100200, // 0008 MOVE R4 R1 + 0x7C0C0200, // 0009 CALL R3 1 + 0xA802001A, // 000A EXBLK 0 #0026 + 0x5C100600, // 000B MOVE R4 R3 + 0x7C100000, // 000C CALL R4 0 + 0x6014000F, // 000D GETGBL R5 G15 + 0x5C180800, // 000E MOVE R6 R4 + 0x601C0012, // 000F GETGBL R7 G18 + 0x7C140400, // 0010 CALL R5 2 + 0x78160012, // 0011 JMPF R5 #0025 + 0x6014000C, // 0012 GETGBL R5 G12 + 0x5C180800, // 0013 MOVE R6 R4 + 0x7C140200, // 0014 CALL R5 1 + 0x1C140B00, // 0015 EQ R5 R5 K0 + 0x7816000D, // 0016 JMPF R5 #0025 + 0xB8160200, // 0017 GETNGBL R5 K1 + 0x8C140B02, // 0018 GETMET R5 R5 K2 + 0x7C140200, // 0019 CALL R5 1 + 0x60180009, // 001A GETGBL R6 G9 + 0x941C0904, // 001B GETIDX R7 R4 K4 + 0x7C180200, // 001C CALL R6 1 + 0x90160606, // 001D SETMBR R5 K3 R6 + 0x60180009, // 001E GETGBL R6 G9 + 0x941C0906, // 001F GETIDX R7 R4 K6 + 0x7C180200, // 0020 CALL R6 1 + 0x90160A06, // 0021 SETMBR R5 K5 R6 + 0x8C180507, // 0022 GETMET R6 R2 K7 + 0x5C200A00, // 0023 MOVE R8 R5 + 0x7C180400, // 0024 CALL R6 2 + 0x7001FFE4, // 0025 JMP #000B + 0x580C0008, // 0026 LDCONST R3 K8 + 0xAC0C0200, // 0027 CATCH R3 1 0 + 0xB0080000, // 0028 RAISE 2 R0 R0 + 0xB80E0200, // 0029 GETNGBL R3 K1 + 0x8C0C0709, // 002A GETMET R3 R3 K9 + 0x5C140400, // 002B MOVE R5 R2 + 0x7C0C0400, // 002C CALL R3 2 + 0x90021403, // 002D SETMBR R0 K10 R3 + 0x8810010B, // 002E GETMBR R4 R0 K11 + 0x8C10090C, // 002F GETMET R4 R4 K12 + 0x5C180600, // 0030 MOVE R6 R3 + 0x601C000C, // 0031 GETGBL R7 G12 + 0x5C200400, // 0032 MOVE R8 R2 + 0x7C1C0200, // 0033 CALL R7 1 + 0x7C100600, // 0034 CALL R4 3 + 0x70020005, // 0035 JMP #003C + 0x60080001, // 0036 GETGBL R2 G1 + 0x600C0018, // 0037 GETGBL R3 G24 + 0x5810000D, // 0038 LDCONST R4 K13 + 0x5C140200, // 0039 MOVE R5 R1 + 0x7C0C0400, // 003A CALL R3 2 + 0x7C080200, // 003B CALL R2 1 + 0x80000000, // 003C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_line +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_line, + 1, + &be_class_lvh_obj, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_lv_points, -1), be_const_var(0) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_line) }, + { be_const_key_weak(set_points, -1), be_const_closure(class_lvh_line_set_points_closure) }, + })), + be_str_weak(lvh_line) +); +// compact class 'lvh_scale' ktab size: 13, total: 21 (saved 64 bytes) +static const bvalue be_ktab_class_lvh_scale[13] = { + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(push), + /* K2 */ be_nested_str_weak(), + /* K3 */ be_nested_str_weak(_options), + /* K4 */ be_nested_str_weak(_options_arr), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(str_arr), + /* K7 */ be_nested_str_weak(_lv_obj), + /* K8 */ be_nested_str_weak(set_text_src), + /* K9 */ be_nested_str_weak(HTP_X3A_X20_X27scale_X27_X20needs_X20_X27text_src_X27_X20to_X20be_X20a_X20list_X20of_X20strings), + /* K10 */ be_nested_str_weak(get_range_max_value), + /* K11 */ be_nested_str_weak(set_range), + /* K12 */ be_nested_str_weak(get_range_min_value), +}; + + +extern const bclass be_class_lvh_scale; + +/******************************************************************** +** Solidified function: set_text_src +********************************************************************/ +be_local_closure(class_lvh_scale_set_text_src, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(set_text_src), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x60100012, // 0002 GETGBL R4 G18 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0018, // 0004 JMPF R2 #001E + 0x6008000C, // 0005 GETGBL R2 G12 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x7C080200, // 0007 CALL R2 1 + 0x24080500, // 0008 GT R2 R2 K0 + 0x780A0013, // 0009 JMPF R2 #001E + 0x6008000C, // 000A GETGBL R2 G12 + 0x540DFFFE, // 000B LDINT R3 -1 + 0x940C0203, // 000C GETIDX R3 R1 R3 + 0x7C080200, // 000D CALL R2 1 + 0x24080500, // 000E GT R2 R2 K0 + 0x780A0002, // 000F JMPF R2 #0013 + 0x8C080301, // 0010 GETMET R2 R1 K1 + 0x58100002, // 0011 LDCONST R4 K2 + 0x7C080400, // 0012 CALL R2 2 + 0x90020601, // 0013 SETMBR R0 K3 R1 + 0xB80A0A00, // 0014 GETNGBL R2 K5 + 0x8C080506, // 0015 GETMET R2 R2 K6 + 0x5C100200, // 0016 MOVE R4 R1 + 0x7C080400, // 0017 CALL R2 2 + 0x90020802, // 0018 SETMBR R0 K4 R2 + 0x88080107, // 0019 GETMBR R2 R0 K7 + 0x8C080508, // 001A GETMET R2 R2 K8 + 0x88100104, // 001B GETMBR R4 R0 K4 + 0x7C080400, // 001C CALL R2 2 + 0x70020002, // 001D JMP #0021 + 0x60080001, // 001E GETGBL R2 G1 + 0x580C0009, // 001F LDCONST R3 K9 + 0x7C080200, // 0020 CALL R2 1 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_max +********************************************************************/ +be_local_closure(class_lvh_scale_get_max, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(get_max), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x8C04030A, // 0001 GETMET R1 R1 K10 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_min +********************************************************************/ +be_local_closure(class_lvh_scale_set_min, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(set_min), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C08050B, // 0001 GETMET R2 R2 K11 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x88140107, // 0005 GETMBR R5 R0 K7 + 0x8C140B0A, // 0006 GETMET R5 R5 K10 + 0x7C140200, // 0007 CALL R5 1 + 0x7C080600, // 0008 CALL R2 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text_src +********************************************************************/ +be_local_closure(class_lvh_scale_get_text_src, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(get_text_src), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040103, // 0000 GETMBR R1 R0 K3 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_max +********************************************************************/ +be_local_closure(class_lvh_scale_set_max, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(set_max), + &be_const_str_solidified, + ( &(const binstruction[10]) { /* code */ + 0x88080107, // 0000 GETMBR R2 R0 K7 + 0x8C08050B, // 0001 GETMET R2 R2 K11 + 0x88100107, // 0002 GETMBR R4 R0 K7 + 0x8C10090C, // 0003 GETMET R4 R4 K12 + 0x7C100200, // 0004 CALL R4 1 + 0x60140009, // 0005 GETGBL R5 G9 + 0x5C180200, // 0006 MOVE R6 R1 + 0x7C140200, // 0007 CALL R5 1 + 0x7C080600, // 0008 CALL R2 3 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_min +********************************************************************/ +be_local_closure(class_lvh_scale_get_min, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale, /* shared constants */ + be_str_weak(get_min), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040107, // 0000 GETMBR R1 R0 K7 + 0x8C04030C, // 0001 GETMET R1 R1 K12 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_scale +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_scale, + 2, + &be_class_lvh_obj, + be_nested_map(9, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_options_arr, -1), be_const_var(1) }, + { be_const_key_weak(get_max, 0), be_const_closure(class_lvh_scale_get_max_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_scale_set_max_closure) }, + { be_const_key_weak(get_text_src, -1), be_const_closure(class_lvh_scale_get_text_src_closure) }, + { be_const_key_weak(set_min, -1), be_const_closure(class_lvh_scale_set_min_closure) }, + { be_const_key_weak(_options, -1), be_const_var(0) }, + { be_const_key_weak(set_text_src, 3), be_const_closure(class_lvh_scale_set_text_src_closure) }, + { be_const_key_weak(_lv_class, 2), be_const_class(be_class_lv_scale) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_scale_get_min_closure) }, + })), + be_str_weak(lvh_scale) +); +// compact class 'lvh_scale_section' ktab size: 43, total: 58 (saved 120 bytes) +static const bvalue be_ktab_class_lvh_scale_section[43] = { + /* K0 */ be_nested_str_weak(_style), + /* K1 */ be_nested_str_weak(del), + /* K2 */ be_nested_str_weak(_style10), + /* K3 */ be_nested_str_weak(_style30), + /* K4 */ be_nested_str_weak(_delete), + /* K5 */ be_nested_str_weak(_lv_obj), + /* K6 */ be_nested_str_weak(_min), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(_max), + /* K9 */ be_nested_str_weak(_parent_lvh), + /* K10 */ be_nested_str_weak(_page), + /* K11 */ be_nested_str_weak(_hm), + /* K12 */ be_nested_str_weak(lvh_scale), + /* K13 */ be_nested_str_weak(add_section), + /* K14 */ be_nested_str_weak(lv), + /* K15 */ be_nested_str_weak(style), + /* K16 */ be_nested_str_weak(set_style), + /* K17 */ be_nested_str_weak(PART_MAIN), + /* K18 */ be_nested_str_weak(PART_INDICATOR), + /* K19 */ be_nested_str_weak(PART_ITEMS), + /* K20 */ be_nested_str_weak(HSP_X3A_X20_X27scale_section_X27_X20should_X20have_X20a_X20parent_X20of_X20type_X20_X27scale_X27), + /* K21 */ be_nested_str_weak(set_range), + /* K22 */ be_nested_str_weak(string), + /* K23 */ be_nested_str_weak(introspect), + /* K24 */ be_nested_str_weak(startswith), + /* K25 */ be_nested_str_weak(set_), + /* K26 */ be_nested_str_weak(get_), + /* K27 */ be_nested_str_weak(endswith), + /* K28 */ be_nested_str_weak(_X25), + /* K29 */ be_nested_str_weak(pct), + /* K30 */ be_const_int(3), + /* K31 */ be_nested_str_weak(byte), + /* K32 */ be_const_int(2147483647), + /* K33 */ be_nested_str_weak(value_error), + /* K34 */ be_nested_str_weak(only_X20modifiers_X20_X2710_X27_X20or_X20_X2730_X27_X20allowed), + /* K35 */ be_nested_str_weak(_attr_ignore), + /* K36 */ be_nested_str_weak(find), + /* K37 */ be_nested_str_weak(get), + /* K38 */ be_nested_str_weak(function), + /* K39 */ be_nested_str_weak(is_color_attribute), + /* K40 */ be_nested_str_weak(parse_color), + /* K41 */ be_nested_str_weak(_X20for_X20), + /* K42 */ be_nested_str_weak(HSP_X3A_X20Could_X20not_X20find_X20function_X20set_), +}; + + +extern const bclass be_class_lvh_scale_section; + +/******************************************************************** +** Solidified function: _delete +********************************************************************/ +be_local_closure(class_lvh_scale_section__delete, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(_delete), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x4C040000, // 0003 LDNIL R1 + 0x90020001, // 0004 SETMBR R0 K0 R1 + 0x88040102, // 0005 GETMBR R1 R0 K2 + 0x8C040301, // 0006 GETMET R1 R1 K1 + 0x7C040200, // 0007 CALL R1 1 + 0x4C040000, // 0008 LDNIL R1 + 0x90020401, // 0009 SETMBR R0 K2 R1 + 0x88040103, // 000A GETMBR R1 R0 K3 + 0x8C040301, // 000B GETMET R1 R1 K1 + 0x7C040200, // 000C CALL R1 1 + 0x4C040000, // 000D LDNIL R1 + 0x90020601, // 000E SETMBR R0 K3 R1 + 0x60040003, // 000F GETGBL R1 G3 + 0x5C080000, // 0010 MOVE R2 R0 + 0x7C040200, // 0011 CALL R1 1 + 0x8C040304, // 0012 GETMET R1 R1 K4 + 0x7C040200, // 0013 CALL R1 1 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_scale_section_post_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[51]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020A01, // 0001 SETMBR R0 K5 R1 + 0x90020D07, // 0002 SETMBR R0 K6 K7 + 0x90021107, // 0003 SETMBR R0 K8 K7 + 0x6004000F, // 0004 GETGBL R1 G15 + 0x88080109, // 0005 GETMBR R2 R0 K9 + 0x880C010A, // 0006 GETMBR R3 R0 K10 + 0x880C070B, // 0007 GETMBR R3 R3 K11 + 0x880C070C, // 0008 GETMBR R3 R3 K12 + 0x7C040400, // 0009 CALL R1 2 + 0x78060023, // 000A JMPF R1 #002F + 0x88040109, // 000B GETMBR R1 R0 K9 + 0x88040305, // 000C GETMBR R1 R1 K5 + 0x8C04030D, // 000D GETMET R1 R1 K13 + 0x7C040200, // 000E CALL R1 1 + 0x90020A01, // 000F SETMBR R0 K5 R1 + 0xB8061C00, // 0010 GETNGBL R1 K14 + 0x8C04030F, // 0011 GETMET R1 R1 K15 + 0x7C040200, // 0012 CALL R1 1 + 0x90020001, // 0013 SETMBR R0 K0 R1 + 0x88040105, // 0014 GETMBR R1 R0 K5 + 0x8C040310, // 0015 GETMET R1 R1 K16 + 0xB80E1C00, // 0016 GETNGBL R3 K14 + 0x880C0711, // 0017 GETMBR R3 R3 K17 + 0x88100100, // 0018 GETMBR R4 R0 K0 + 0x7C040600, // 0019 CALL R1 3 + 0xB8061C00, // 001A GETNGBL R1 K14 + 0x8C04030F, // 001B GETMET R1 R1 K15 + 0x7C040200, // 001C CALL R1 1 + 0x90020401, // 001D SETMBR R0 K2 R1 + 0x88040105, // 001E GETMBR R1 R0 K5 + 0x8C040310, // 001F GETMET R1 R1 K16 + 0xB80E1C00, // 0020 GETNGBL R3 K14 + 0x880C0712, // 0021 GETMBR R3 R3 K18 + 0x88100102, // 0022 GETMBR R4 R0 K2 + 0x7C040600, // 0023 CALL R1 3 + 0xB8061C00, // 0024 GETNGBL R1 K14 + 0x8C04030F, // 0025 GETMET R1 R1 K15 + 0x7C040200, // 0026 CALL R1 1 + 0x90020601, // 0027 SETMBR R0 K3 R1 + 0x88040105, // 0028 GETMBR R1 R0 K5 + 0x8C040310, // 0029 GETMET R1 R1 K16 + 0xB80E1C00, // 002A GETNGBL R3 K14 + 0x880C0713, // 002B GETMBR R3 R3 K19 + 0x88100103, // 002C GETMBR R4 R0 K3 + 0x7C040600, // 002D CALL R1 3 + 0x70020002, // 002E JMP #0032 + 0x60040001, // 002F GETGBL R1 G1 + 0x58080014, // 0030 LDCONST R2 K20 + 0x7C040200, // 0031 CALL R1 1 + 0x80000000, // 0032 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_min +********************************************************************/ +be_local_closure(class_lvh_scale_section_set_min, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(set_min), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x880C0108, // 0003 GETMBR R3 R0 K8 + 0x14100602, // 0004 LT R4 R3 R2 + 0x78120000, // 0005 JMPF R4 #0007 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x8C100115, // 0007 GETMET R4 R0 K21 + 0x5C180400, // 0008 MOVE R6 R2 + 0x5C1C0600, // 0009 MOVE R7 R3 + 0x7C100600, // 000A CALL R4 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_range +********************************************************************/ +be_local_closure(class_lvh_scale_section_set_range, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(set_range), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x90020C01, // 0000 SETMBR R0 K6 R1 + 0x90021002, // 0001 SETMBR R0 K8 R2 + 0x880C0105, // 0002 GETMBR R3 R0 K5 + 0x8C0C0715, // 0003 GETMET R3 R3 K21 + 0x5C140200, // 0004 MOVE R5 R1 + 0x5C180400, // 0005 MOVE R6 R2 + 0x7C0C0600, // 0006 CALL R3 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_max +********************************************************************/ +be_local_closure(class_lvh_scale_section_set_max, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(set_max), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88080106, // 0000 GETMBR R2 R0 K6 + 0x600C0009, // 0001 GETGBL R3 G9 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x24100403, // 0004 GT R4 R2 R3 + 0x78120000, // 0005 JMPF R4 #0007 + 0x5C080600, // 0006 MOVE R2 R3 + 0x8C100115, // 0007 GETMET R4 R0 K21 + 0x5C180400, // 0008 MOVE R6 R2 + 0x5C1C0600, // 0009 MOVE R7 R3 + 0x7C100600, // 000A CALL R4 3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_lvh_scale_section_setmember, /* name */ + be_nested_proto( + 12, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_section, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[141]) { /* code */ + 0xA40E2C00, // 0000 IMPORT R3 K22 + 0xA4122E00, // 0001 IMPORT R4 K23 + 0x8C140718, // 0002 GETMET R5 R3 K24 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x58200019, // 0004 LDCONST R8 K25 + 0x7C140600, // 0005 CALL R5 3 + 0x74160004, // 0006 JMPT R5 #000C + 0x8C140718, // 0007 GETMET R5 R3 K24 + 0x5C1C0200, // 0008 MOVE R7 R1 + 0x5820001A, // 0009 LDCONST R8 K26 + 0x7C140600, // 000A CALL R5 3 + 0x78160000, // 000B JMPF R5 #000D + 0x80000A00, // 000C RET 0 + 0x8C14071B, // 000D GETMET R5 R3 K27 + 0x5C1C0200, // 000E MOVE R7 R1 + 0x5820001C, // 000F LDCONST R8 K28 + 0x7C140600, // 0010 CALL R5 3 + 0x78160009, // 0011 JMPF R5 #001C + 0x5415FFFD, // 0012 LDINT R5 -2 + 0x40160E05, // 0013 CONNECT R5 K7 R5 + 0x94040205, // 0014 GETIDX R1 R1 R5 + 0xB8161C00, // 0015 GETNGBL R5 K14 + 0x8C140B1D, // 0016 GETMET R5 R5 K29 + 0x601C0009, // 0017 GETGBL R7 G9 + 0x5C200400, // 0018 MOVE R8 R2 + 0x7C1C0200, // 0019 CALL R7 1 + 0x7C140400, // 001A CALL R5 2 + 0x5C080A00, // 001B MOVE R2 R5 + 0x4C140000, // 001C LDNIL R5 + 0x6018000C, // 001D GETGBL R6 G12 + 0x5C1C0200, // 001E MOVE R7 R1 + 0x7C180200, // 001F CALL R6 1 + 0x28180D1E, // 0020 GE R6 R6 K30 + 0x781A0023, // 0021 JMPF R6 #0046 + 0x8C18071F, // 0022 GETMET R6 R3 K31 + 0x5421FFFE, // 0023 LDINT R8 -1 + 0x94200208, // 0024 GETIDX R8 R1 R8 + 0x7C180400, // 0025 CALL R6 2 + 0x8C1C071F, // 0026 GETMET R7 R3 K31 + 0x5425FFFD, // 0027 LDINT R9 -2 + 0x94240209, // 0028 GETIDX R9 R1 R9 + 0x7C1C0400, // 0029 CALL R7 2 + 0x5422002F, // 002A LDINT R8 48 + 0x28200C08, // 002B GE R8 R6 R8 + 0x78220018, // 002C JMPF R8 #0046 + 0x54220038, // 002D LDINT R8 57 + 0x18200C08, // 002E LE R8 R6 R8 + 0x78220015, // 002F JMPF R8 #0046 + 0x5422002F, // 0030 LDINT R8 48 + 0x28200E08, // 0031 GE R8 R7 R8 + 0x78220012, // 0032 JMPF R8 #0046 + 0x54220038, // 0033 LDINT R8 57 + 0x18200E08, // 0034 LE R8 R7 R8 + 0x7822000F, // 0035 JMPF R8 #0046 + 0x60200009, // 0036 GETGBL R8 G9 + 0x5425FFFD, // 0037 LDINT R9 -2 + 0x40241320, // 0038 CONNECT R9 R9 K32 + 0x94240209, // 0039 GETIDX R9 R1 R9 + 0x7C200200, // 003A CALL R8 1 + 0x5C141000, // 003B MOVE R5 R8 + 0x5421FFFC, // 003C LDINT R8 -3 + 0x40220E08, // 003D CONNECT R8 K7 R8 + 0x94040208, // 003E GETIDX R1 R1 R8 + 0x54220009, // 003F LDINT R8 10 + 0x20200A08, // 0040 NE R8 R5 R8 + 0x78220003, // 0041 JMPF R8 #0046 + 0x5422001D, // 0042 LDINT R8 30 + 0x20200A08, // 0043 NE R8 R5 R8 + 0x78220000, // 0044 JMPF R8 #0046 + 0xB0064322, // 0045 RAISE 1 K33 K34 + 0x88180123, // 0046 GETMBR R6 R0 K35 + 0x8C180D24, // 0047 GETMET R6 R6 K36 + 0x5C200200, // 0048 MOVE R8 R1 + 0x7C180400, // 0049 CALL R6 2 + 0x4C1C0000, // 004A LDNIL R7 + 0x20180C07, // 004B NE R6 R6 R7 + 0x781A0000, // 004C JMPF R6 #004E + 0x80000C00, // 004D RET 0 + 0x88180100, // 004E GETMBR R6 R0 K0 + 0x541E0009, // 004F LDINT R7 10 + 0x1C1C0A07, // 0050 EQ R7 R5 R7 + 0x781E0001, // 0051 JMPF R7 #0054 + 0x88180102, // 0052 GETMBR R6 R0 K2 + 0x70020003, // 0053 JMP #0058 + 0x541E001D, // 0054 LDINT R7 30 + 0x1C1C0A07, // 0055 EQ R7 R5 R7 + 0x781E0000, // 0056 JMPF R7 #0058 + 0x88180103, // 0057 GETMBR R6 R0 K3 + 0x8C1C0925, // 0058 GETMET R7 R4 K37 + 0x5C240000, // 0059 MOVE R9 R0 + 0x002A3201, // 005A ADD R10 K25 R1 + 0x7C1C0600, // 005B CALL R7 3 + 0x60200004, // 005C GETGBL R8 G4 + 0x5C240E00, // 005D MOVE R9 R7 + 0x7C200200, // 005E CALL R8 1 + 0x1C201126, // 005F EQ R8 R8 K38 + 0x78220004, // 0060 JMPF R8 #0066 + 0x5C200E00, // 0061 MOVE R8 R7 + 0x5C240000, // 0062 MOVE R9 R0 + 0x5C280400, // 0063 MOVE R10 R2 + 0x7C200400, // 0064 CALL R8 2 + 0x80001000, // 0065 RET 0 + 0x8C200925, // 0066 GETMET R8 R4 K37 + 0x5C280C00, // 0067 MOVE R10 R6 + 0x002E3201, // 0068 ADD R11 K25 R1 + 0x7C200600, // 0069 CALL R8 3 + 0x5C1C1000, // 006A MOVE R7 R8 + 0x60200004, // 006B GETGBL R8 G4 + 0x5C240E00, // 006C MOVE R9 R7 + 0x7C200200, // 006D CALL R8 1 + 0x1C201126, // 006E EQ R8 R8 K38 + 0x78220018, // 006F JMPF R8 #0089 + 0x8C200127, // 0070 GETMET R8 R0 K39 + 0x5C280200, // 0071 MOVE R10 R1 + 0x7C200400, // 0072 CALL R8 2 + 0x78220003, // 0073 JMPF R8 #0078 + 0x8C200128, // 0074 GETMET R8 R0 K40 + 0x5C280400, // 0075 MOVE R10 R2 + 0x7C200400, // 0076 CALL R8 2 + 0x5C081000, // 0077 MOVE R2 R8 + 0xA8020005, // 0078 EXBLK 0 #007F + 0x5C200E00, // 0079 MOVE R8 R7 + 0x5C240C00, // 007A MOVE R9 R6 + 0x5C280400, // 007B MOVE R10 R2 + 0x7C200400, // 007C CALL R8 2 + 0xA8040001, // 007D EXBLK 1 1 + 0x70020006, // 007E JMP #0086 + 0xAC200002, // 007F CATCH R8 0 2 + 0x70020003, // 0080 JMP #0085 + 0x00281329, // 0081 ADD R10 R9 K41 + 0x00281401, // 0082 ADD R10 R10 R1 + 0xB004100A, // 0083 RAISE 1 R8 R10 + 0x70020000, // 0084 JMP #0086 + 0xB0080000, // 0085 RAISE 2 R0 R0 + 0x4C200000, // 0086 LDNIL R8 + 0x80041000, // 0087 RET 1 R8 + 0x70020002, // 0088 JMP #008C + 0x60200001, // 0089 GETGBL R8 G1 + 0x00265401, // 008A ADD R9 K42 R1 + 0x7C200200, // 008B CALL R8 1 + 0x80000000, // 008C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_scale_section +********************************************************************/ +extern const bclass be_class_lvh_root; +be_local_class(lvh_scale_section, + 5, + &be_class_lvh_root, + be_nested_map(12, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_style30, -1), be_const_var(2) }, + { be_const_key_weak(_delete, 3), be_const_closure(class_lvh_scale_section__delete_closure) }, + { be_const_key_weak(post_init, 5), be_const_closure(class_lvh_scale_section_post_init_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_scale_section_setmember_closure) }, + { be_const_key_weak(_max, 11), be_const_var(4) }, + { be_const_key_weak(_style10, -1), be_const_var(1) }, + { be_const_key_weak(_min, -1), be_const_var(3) }, + { be_const_key_weak(_style, 8), be_const_var(0) }, + { be_const_key_weak(_lv_class, -1), be_const_nil() }, + { be_const_key_weak(set_range, -1), be_const_closure(class_lvh_scale_section_set_range_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_scale_section_set_max_closure) }, + { be_const_key_weak(set_min, -1), be_const_closure(class_lvh_scale_section_set_min_closure) }, + })), + be_str_weak(lvh_scale_section) +); +// compact class 'lvh_scale_line' ktab size: 21, total: 29 (saved 64 bytes) +static const bvalue be_ktab_class_lvh_scale_line[21] = { + /* K0 */ be_nested_str_weak(set_val), + /* K1 */ be_nested_str_weak(_parent_lvh), + /* K2 */ be_nested_str_weak(_lv_obj), + /* K3 */ be_nested_str_weak(set_line_needle_value), + /* K4 */ be_nested_str_weak(_needle_length), + /* K5 */ be_nested_str_weak(_val), + /* K6 */ be_nested_str_weak(get_point_count), + /* K7 */ be_const_int(2), + /* K8 */ be_nested_str_weak(get_points), + /* K9 */ be_nested_str_weak(_lv_points), + /* K10 */ be_nested_str_weak(setbytes), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str_weak(set_points_mutable), + /* K13 */ be_nested_str_weak(_page), + /* K14 */ be_nested_str_weak(_hm), + /* K15 */ be_nested_str_weak(lvh_scale), + /* K16 */ be_nested_str_weak(HSP_X3A_X20_X27scale_line_X27_X20should_X20have_X20a_X20parent_X20of_X20type_X20_X27scale_X27), + /* K17 */ be_nested_str_weak(lv), + /* K18 */ be_nested_str_weak(point_arr), + /* K19 */ be_nested_str_weak(point), + /* K20 */ be_nested_str_weak(post_init), +}; + + +extern const bclass be_class_lvh_scale_line; + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_scale_line_set_val, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_line, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x60080003, // 0000 GETGBL R2 G3 + 0x5C0C0000, // 0001 MOVE R3 R0 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080500, // 0003 GETMET R2 R2 K0 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x88080502, // 0007 GETMBR R2 R2 K2 + 0x8C080503, // 0008 GETMET R2 R2 K3 + 0x88100102, // 0009 GETMBR R4 R0 K2 + 0x88140104, // 000A GETMBR R5 R0 K4 + 0x88180105, // 000B GETMBR R6 R0 K5 + 0x7C080800, // 000C CALL R2 4 + 0x88080102, // 000D GETMBR R2 R0 K2 + 0x8C080506, // 000E GETMET R2 R2 K6 + 0x7C080200, // 000F CALL R2 1 + 0x1C080507, // 0010 EQ R2 R2 K7 + 0x780A0011, // 0011 JMPF R2 #0024 + 0x60080015, // 0012 GETGBL R2 G21 + 0x880C0102, // 0013 GETMBR R3 R0 K2 + 0x8C0C0708, // 0014 GETMET R3 R3 K8 + 0x7C0C0200, // 0015 CALL R3 1 + 0x6010000C, // 0016 GETGBL R4 G12 + 0x88140109, // 0017 GETMBR R5 R0 K9 + 0x7C100200, // 0018 CALL R4 1 + 0x7C080400, // 0019 CALL R2 2 + 0x880C0109, // 001A GETMBR R3 R0 K9 + 0x8C0C070A, // 001B GETMET R3 R3 K10 + 0x5814000B, // 001C LDCONST R5 K11 + 0x5C180400, // 001D MOVE R6 R2 + 0x7C0C0600, // 001E CALL R3 3 + 0x880C0102, // 001F GETMBR R3 R0 K2 + 0x8C0C070C, // 0020 GETMET R3 R3 K12 + 0x88140109, // 0021 GETMBR R5 R0 K9 + 0x58180007, // 0022 LDCONST R6 K7 + 0x7C0C0600, // 0023 CALL R3 3 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_scale_line_post_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_line, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x6004000F, // 0000 GETGBL R1 G15 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x880C010D, // 0002 GETMBR R3 R0 K13 + 0x880C070E, // 0003 GETMBR R3 R3 K14 + 0x880C070F, // 0004 GETMBR R3 R3 K15 + 0x7C040400, // 0005 CALL R1 2 + 0x74060002, // 0006 JMPT R1 #000A + 0x60040001, // 0007 GETGBL R1 G1 + 0x58080010, // 0008 LDCONST R2 K16 + 0x7C040200, // 0009 CALL R1 1 + 0x9002090B, // 000A SETMBR R0 K4 K11 + 0xB8062200, // 000B GETNGBL R1 K17 + 0x8C040312, // 000C GETMET R1 R1 K18 + 0x600C0012, // 000D GETGBL R3 G18 + 0x7C0C0000, // 000E CALL R3 0 + 0xB8122200, // 000F GETNGBL R4 K17 + 0x8C100913, // 0010 GETMET R4 R4 K19 + 0x7C100200, // 0011 CALL R4 1 + 0x40100604, // 0012 CONNECT R4 R3 R4 + 0xB8122200, // 0013 GETNGBL R4 K17 + 0x8C100913, // 0014 GETMET R4 R4 K19 + 0x7C100200, // 0015 CALL R4 1 + 0x40100604, // 0016 CONNECT R4 R3 R4 + 0x7C040400, // 0017 CALL R1 2 + 0x90021201, // 0018 SETMBR R0 K9 R1 + 0x60040003, // 0019 GETGBL R1 G3 + 0x5C080000, // 001A MOVE R2 R0 + 0x7C040200, // 001B CALL R1 1 + 0x8C040314, // 001C GETMET R1 R1 K20 + 0x7C040200, // 001D CALL R1 1 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_needle_length +********************************************************************/ +be_local_closure(class_lvh_scale_line_get_needle_length, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_line, /* shared constants */ + be_str_weak(get_needle_length), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040104, // 0000 GETMBR R1 R0 K4 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_needle_length +********************************************************************/ +be_local_closure(class_lvh_scale_line_set_needle_length, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_scale_line, /* shared constants */ + be_str_weak(set_needle_length), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020802, // 0003 SETMBR R0 K4 R2 + 0x88080105, // 0004 GETMBR R2 R0 K5 + 0x4C0C0000, // 0005 LDNIL R3 + 0x20080403, // 0006 NE R2 R2 R3 + 0x780A0002, // 0007 JMPF R2 #000B + 0x8C080100, // 0008 GETMET R2 R0 K0 + 0x88100105, // 0009 GETMBR R4 R0 K5 + 0x7C080400, // 000A CALL R2 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_scale_line +********************************************************************/ +extern const bclass be_class_lvh_line; +be_local_class(lvh_scale_line, + 1, + &be_class_lvh_line, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(set_val, 4), be_const_closure(class_lvh_scale_line_set_val_closure) }, + { be_const_key_weak(set_needle_length, -1), be_const_closure(class_lvh_scale_line_set_needle_length_closure) }, + { be_const_key_weak(get_needle_length, -1), be_const_closure(class_lvh_scale_line_get_needle_length_closure) }, + { be_const_key_weak(_needle_length, 1), be_const_var(0) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_scale_line_post_init_closure) }, + })), + be_str_weak(lvh_scale_line) +); +// compact class 'lvh_spangroup' ktab size: 6, total: 8 (saved 16 bytes) +static const bvalue be_ktab_class_lvh_spangroup[6] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(set_mode), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(SPAN_MODE_BREAK), + /* K4 */ be_nested_str_weak(refr_mode), + /* K5 */ be_nested_str_weak(post_init), +}; + + +extern const bclass be_class_lvh_spangroup; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_spangroup_post_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_spangroup, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0xB80E0400, // 0002 GETNGBL R3 K2 + 0x880C0703, // 0003 GETMBR R3 R3 K3 + 0x7C040400, // 0004 CALL R1 2 + 0x88040100, // 0005 GETMBR R1 R0 K0 + 0x8C040304, // 0006 GETMET R1 R1 K4 + 0x7C040200, // 0007 CALL R1 1 + 0x60040003, // 0008 GETGBL R1 G3 + 0x5C080000, // 0009 MOVE R2 R0 + 0x7C040200, // 000A CALL R1 1 + 0x8C040305, // 000B GETMET R1 R1 K5 + 0x7C040200, // 000C CALL R1 1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: refr_mode +********************************************************************/ +be_local_closure(class_lvh_spangroup_refr_mode, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_spangroup, /* shared constants */ + be_str_weak(refr_mode), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040304, // 0001 GETMET R1 R1 K4 + 0x7C040200, // 0002 CALL R1 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_spangroup +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_spangroup, + 0, + &be_class_lvh_obj, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(refr_mode, -1), be_const_closure(class_lvh_spangroup_refr_mode_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_spangroup) }, + { be_const_key_weak(post_init, 0), be_const_closure(class_lvh_spangroup_post_init_closure) }, + })), + be_str_weak(lvh_spangroup) +); +// compact class 'lvh_span' ktab size: 31, total: 37 (saved 48 bytes) +static const bvalue be_ktab_class_lvh_span[31] = { + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_nested_str_weak(introspect), + /* K2 */ be_nested_str_weak(startswith), + /* K3 */ be_nested_str_weak(set_), + /* K4 */ be_nested_str_weak(get_), + /* K5 */ be_nested_str_weak(endswith), + /* K6 */ be_nested_str_weak(_X25), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str_weak(lv), + /* K9 */ be_nested_str_weak(pct), + /* K10 */ be_nested_str_weak(_attr_ignore), + /* K11 */ be_nested_str_weak(find), + /* K12 */ be_nested_str_weak(get), + /* K13 */ be_nested_str_weak(function), + /* K14 */ be_nested_str_weak(_style), + /* K15 */ be_nested_str_weak(is_color_attribute), + /* K16 */ be_nested_str_weak(parse_color), + /* K17 */ be_nested_str_weak(_parent_lvh), + /* K18 */ be_nested_str_weak(refr_mode), + /* K19 */ be_nested_str_weak(_X20for_X20), + /* K20 */ be_nested_str_weak(HSP_X3A_X20Could_X20not_X20find_X20function_X20set_), + /* K21 */ be_nested_str_weak(_lv_obj), + /* K22 */ be_nested_str_weak(_page), + /* K23 */ be_nested_str_weak(_hm), + /* K24 */ be_nested_str_weak(lvh_spangroup), + /* K25 */ be_nested_str_weak(new_span), + /* K26 */ be_nested_str_weak(get_style), + /* K27 */ be_nested_str_weak(HSP_X3A_X20_X27span_X27_X20should_X20have_X20a_X20parent_X20of_X20type_X20_X27spangroup_X27), + /* K28 */ be_nested_str_weak(parse_font), + /* K29 */ be_nested_str_weak(set_text_font), + /* K30 */ be_nested_str_weak(set_text), +}; + + +extern const bclass be_class_lvh_span; + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_lvh_span_setmember, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_span, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[92]) { /* code */ + 0xA40E0000, // 0000 IMPORT R3 K0 + 0xA4120200, // 0001 IMPORT R4 K1 + 0x8C140702, // 0002 GETMET R5 R3 K2 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x58200003, // 0004 LDCONST R8 K3 + 0x7C140600, // 0005 CALL R5 3 + 0x74160004, // 0006 JMPT R5 #000C + 0x8C140702, // 0007 GETMET R5 R3 K2 + 0x5C1C0200, // 0008 MOVE R7 R1 + 0x58200004, // 0009 LDCONST R8 K4 + 0x7C140600, // 000A CALL R5 3 + 0x78160000, // 000B JMPF R5 #000D + 0x80000A00, // 000C RET 0 + 0x8C140705, // 000D GETMET R5 R3 K5 + 0x5C1C0200, // 000E MOVE R7 R1 + 0x58200006, // 000F LDCONST R8 K6 + 0x7C140600, // 0010 CALL R5 3 + 0x78160009, // 0011 JMPF R5 #001C + 0x5415FFFD, // 0012 LDINT R5 -2 + 0x40160E05, // 0013 CONNECT R5 K7 R5 + 0x94040205, // 0014 GETIDX R1 R1 R5 + 0xB8161000, // 0015 GETNGBL R5 K8 + 0x8C140B09, // 0016 GETMET R5 R5 K9 + 0x601C0009, // 0017 GETGBL R7 G9 + 0x5C200400, // 0018 MOVE R8 R2 + 0x7C1C0200, // 0019 CALL R7 1 + 0x7C140400, // 001A CALL R5 2 + 0x5C080A00, // 001B MOVE R2 R5 + 0x8814010A, // 001C GETMBR R5 R0 K10 + 0x8C140B0B, // 001D GETMET R5 R5 K11 + 0x5C1C0200, // 001E MOVE R7 R1 + 0x7C140400, // 001F CALL R5 2 + 0x4C180000, // 0020 LDNIL R6 + 0x20140A06, // 0021 NE R5 R5 R6 + 0x78160000, // 0022 JMPF R5 #0024 + 0x80000A00, // 0023 RET 0 + 0x8C14090C, // 0024 GETMET R5 R4 K12 + 0x5C1C0000, // 0025 MOVE R7 R0 + 0x00220601, // 0026 ADD R8 K3 R1 + 0x7C140600, // 0027 CALL R5 3 + 0x60180004, // 0028 GETGBL R6 G4 + 0x5C1C0A00, // 0029 MOVE R7 R5 + 0x7C180200, // 002A CALL R6 1 + 0x1C180D0D, // 002B EQ R6 R6 K13 + 0x781A0004, // 002C JMPF R6 #0032 + 0x5C180A00, // 002D MOVE R6 R5 + 0x5C1C0000, // 002E MOVE R7 R0 + 0x5C200400, // 002F MOVE R8 R2 + 0x7C180400, // 0030 CALL R6 2 + 0x80000C00, // 0031 RET 0 + 0x8C18090C, // 0032 GETMET R6 R4 K12 + 0x8820010E, // 0033 GETMBR R8 R0 K14 + 0x00260601, // 0034 ADD R9 K3 R1 + 0x7C180600, // 0035 CALL R6 3 + 0x5C140C00, // 0036 MOVE R5 R6 + 0x60180004, // 0037 GETGBL R6 G4 + 0x5C1C0A00, // 0038 MOVE R7 R5 + 0x7C180200, // 0039 CALL R6 1 + 0x1C180D0D, // 003A EQ R6 R6 K13 + 0x781A001B, // 003B JMPF R6 #0058 + 0x8C18010F, // 003C GETMET R6 R0 K15 + 0x5C200200, // 003D MOVE R8 R1 + 0x7C180400, // 003E CALL R6 2 + 0x781A0003, // 003F JMPF R6 #0044 + 0x8C180110, // 0040 GETMET R6 R0 K16 + 0x5C200400, // 0041 MOVE R8 R2 + 0x7C180400, // 0042 CALL R6 2 + 0x5C080C00, // 0043 MOVE R2 R6 + 0xA8020008, // 0044 EXBLK 0 #004E + 0x5C180A00, // 0045 MOVE R6 R5 + 0x881C010E, // 0046 GETMBR R7 R0 K14 + 0x5C200400, // 0047 MOVE R8 R2 + 0x7C180400, // 0048 CALL R6 2 + 0x88180111, // 0049 GETMBR R6 R0 K17 + 0x8C180D12, // 004A GETMET R6 R6 K18 + 0x7C180200, // 004B CALL R6 1 + 0xA8040001, // 004C EXBLK 1 1 + 0x70020006, // 004D JMP #0055 + 0xAC180002, // 004E CATCH R6 0 2 + 0x70020003, // 004F JMP #0054 + 0x00200F13, // 0050 ADD R8 R7 K19 + 0x00201001, // 0051 ADD R8 R8 R1 + 0xB0040C08, // 0052 RAISE 1 R6 R8 + 0x70020000, // 0053 JMP #0055 + 0xB0080000, // 0054 RAISE 2 R0 R0 + 0x4C180000, // 0055 LDNIL R6 + 0x80040C00, // 0056 RET 1 R6 + 0x70020002, // 0057 JMP #005B + 0x60180001, // 0058 GETGBL R6 G1 + 0x001E2801, // 0059 ADD R7 K20 R1 + 0x7C180200, // 005A CALL R6 1 + 0x80000000, // 005B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_span_post_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_span, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90022A01, // 0001 SETMBR R0 K21 R1 + 0x6004000F, // 0002 GETGBL R1 G15 + 0x88080111, // 0003 GETMBR R2 R0 K17 + 0x880C0116, // 0004 GETMBR R3 R0 K22 + 0x880C0717, // 0005 GETMBR R3 R3 K23 + 0x880C0718, // 0006 GETMBR R3 R3 K24 + 0x7C040400, // 0007 CALL R1 2 + 0x78060009, // 0008 JMPF R1 #0013 + 0x88040111, // 0009 GETMBR R1 R0 K17 + 0x88040315, // 000A GETMBR R1 R1 K21 + 0x8C040319, // 000B GETMET R1 R1 K25 + 0x7C040200, // 000C CALL R1 1 + 0x90022A01, // 000D SETMBR R0 K21 R1 + 0x88040115, // 000E GETMBR R1 R0 K21 + 0x8C04031A, // 000F GETMET R1 R1 K26 + 0x7C040200, // 0010 CALL R1 1 + 0x90021C01, // 0011 SETMBR R0 K14 R1 + 0x70020002, // 0012 JMP #0016 + 0x60040001, // 0013 GETGBL R1 G1 + 0x5808001B, // 0014 LDCONST R2 K27 + 0x7C040200, // 0015 CALL R1 1 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text_font +********************************************************************/ +be_local_closure(class_lvh_span_set_text_font, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_span, /* shared constants */ + be_str_weak(set_text_font), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x8C08011C, // 0000 GETMET R2 R0 K28 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E0006, // 0005 JMPF R3 #000D + 0x880C010E, // 0006 GETMBR R3 R0 K14 + 0x8C0C071D, // 0007 GETMET R3 R3 K29 + 0x5C140400, // 0008 MOVE R5 R2 + 0x7C0C0400, // 0009 CALL R3 2 + 0x880C0111, // 000A GETMBR R3 R0 K17 + 0x8C0C0712, // 000B GETMET R3 R3 K18 + 0x7C0C0200, // 000C CALL R3 1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_span_set_text, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_span, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080115, // 0000 GETMBR R2 R0 K21 + 0x8C08051E, // 0001 GETMET R2 R2 K30 + 0x60100008, // 0002 GETGBL R4 G8 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_span +********************************************************************/ +extern const bclass be_class_lvh_root; +be_local_class(lvh_span, + 1, + &be_class_lvh_root, + be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_span_setmember_closure) }, + { be_const_key_weak(_lv_class, 4), be_const_nil() }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_span_post_init_closure) }, + { be_const_key_weak(set_text_font, -1), be_const_closure(class_lvh_span_set_text_font_closure) }, + { be_const_key_weak(_style, 0), be_const_var(0) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_span_set_text_closure) }, + })), + be_str_weak(lvh_span) +); +// compact class 'lvh_tabview' ktab size: 19, total: 28 (saved 72 bytes) +static const bvalue be_ktab_class_lvh_tabview[19] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(get_tab_active), + /* K2 */ be_nested_str_weak(_tab_list), + /* K3 */ be_nested_str_weak(find), + /* K4 */ be_nested_str_weak(post_init), + /* K5 */ be_nested_str_weak(get_val), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(get_count), + /* K8 */ be_nested_str_weak(get_text), + /* K9 */ be_nested_str_weak(get_tab_count), + /* K10 */ be_nested_str_weak(push), + /* K11 */ be_nested_str_weak(tasmota), + /* K12 */ be_nested_str_weak(set_timer), + /* K13 */ be_const_int(1), + /* K14 */ be_nested_str_weak(set_active), + /* K15 */ be_nested_str_weak(lv), + /* K16 */ be_nested_str_weak(ANIM_OFF), + /* K17 */ be_nested_str_weak(_direction), + /* K18 */ be_nested_str_weak(set_tab_bar_position), +}; + + +extern const bclass be_class_lvh_tabview; + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_tabview_get_val, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: find_tab +********************************************************************/ +be_local_closure(class_lvh_tabview_find_tab, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(find_tab), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080503, // 0001 GETMET R2 R2 K3 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_tabview_post_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60040012, // 0000 GETGBL R1 G18 + 0x7C040000, // 0001 CALL R1 0 + 0x90020401, // 0002 SETMBR R0 K2 R1 + 0x60040003, // 0003 GETGBL R1 G3 + 0x5C080000, // 0004 MOVE R2 R0 + 0x7C040200, // 0005 CALL R1 1 + 0x8C040304, // 0006 GETMET R1 R1 K4 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_tabview_get_text, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x8C040105, // 0000 GETMET R1 R0 K5 + 0x7C040200, // 0001 CALL R1 1 + 0x28080306, // 0002 GE R2 R1 K6 + 0x780A0009, // 0003 JMPF R2 #000E + 0x8C080107, // 0004 GETMET R2 R0 K7 + 0x7C080200, // 0005 CALL R2 1 + 0x14080202, // 0006 LT R2 R1 R2 + 0x780A0005, // 0007 JMPF R2 #000E + 0x88080102, // 0008 GETMBR R2 R0 K2 + 0x94080401, // 0009 GETIDX R2 R2 R1 + 0x8C080508, // 000A GETMET R2 R2 K8 + 0x7C080200, // 000B CALL R2 1 + 0x80040400, // 000C RET 1 R2 + 0x70020001, // 000D JMP #0010 + 0x4C080000, // 000E LDNIL R2 + 0x80040400, // 000F RET 1 R2 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_count +********************************************************************/ +be_local_closure(class_lvh_tabview_get_count, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(get_count), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: push_tab +********************************************************************/ +be_local_closure(class_lvh_tabview_push_tab, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(push_tab), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_tabview_set_val, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 1), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(set_val), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x68080001, // 0002 GETUPV R2 U1 + 0x500C0200, // 0003 LDBOOL R3 1 0 + 0x7C000600, // 0004 CALL R0 3 + 0x80000000, // 0005 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x8C0C0107, // 0000 GETMET R3 R0 K7 + 0x7C0C0200, // 0001 CALL R3 1 + 0x1C100706, // 0002 EQ R4 R3 K6 + 0x78120007, // 0003 JMPF R4 #000C + 0x5C100400, // 0004 MOVE R4 R2 + 0x74120004, // 0005 JMPT R4 #000B + 0xB8121600, // 0006 GETNGBL R4 K11 + 0x8C10090C, // 0007 GETMET R4 R4 K12 + 0x58180006, // 0008 LDCONST R6 K6 + 0x841C0000, // 0009 CLOSURE R7 P0 + 0x7C100600, // 000A CALL R4 3 + 0x70020010, // 000B JMP #001D + 0x4C100000, // 000C LDNIL R4 + 0x1C100204, // 000D EQ R4 R1 R4 + 0x78120000, // 000E JMPF R4 #0010 + 0x58040006, // 000F LDCONST R1 K6 + 0x14100306, // 0010 LT R4 R1 K6 + 0x78120000, // 0011 JMPF R4 #0013 + 0x58040006, // 0012 LDCONST R1 K6 + 0x28100203, // 0013 GE R4 R1 R3 + 0x78120001, // 0014 JMPF R4 #0017 + 0x0410070D, // 0015 SUB R4 R3 K13 + 0x5C040800, // 0016 MOVE R1 R4 + 0x88100100, // 0017 GETMBR R4 R0 K0 + 0x8C10090E, // 0018 GETMET R4 R4 K14 + 0x5C180200, // 0019 MOVE R6 R1 + 0xB81E1E00, // 001A GETNGBL R7 K15 + 0x881C0F10, // 001B GETMBR R7 R7 K16 + 0x7C100600, // 001C CALL R4 3 + 0xA0000000, // 001D CLOSE R0 + 0x80000000, // 001E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_btn_pos +********************************************************************/ +be_local_closure(class_lvh_tabview_set_btn_pos, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tabview, /* shared constants */ + be_str_weak(set_btn_pos), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x4C080000, // 0004 LDNIL R2 + 0x1C080202, // 0005 EQ R2 R1 R2 + 0x740A0006, // 0006 JMPT R2 #000E + 0x14080306, // 0007 LT R2 R1 K6 + 0x740A0004, // 0008 JMPT R2 #000E + 0x6008000C, // 0009 GETGBL R2 G12 + 0x880C0111, // 000A GETMBR R3 R0 K17 + 0x7C080200, // 000B CALL R2 1 + 0x28080202, // 000C GE R2 R1 R2 + 0x780A0000, // 000D JMPF R2 #000F + 0x58040006, // 000E LDCONST R1 K6 + 0x88080111, // 000F GETMBR R2 R0 K17 + 0x94080401, // 0010 GETIDX R2 R2 R1 + 0x880C0100, // 0011 GETMBR R3 R0 K0 + 0x8C0C0712, // 0012 GETMET R3 R3 K18 + 0x5C140400, // 0013 MOVE R5 R2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_tabview +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_tabview, + 1, + &be_class_lvh_obj, + be_nested_map(11, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_tabview) }, + { be_const_key_weak(set_btn_pos, 2), be_const_closure(class_lvh_tabview_set_btn_pos_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_tabview_set_val_closure) }, + { be_const_key_weak(_tab_list, -1), be_const_var(0) }, + { be_const_key_weak(find_tab, 9), be_const_closure(class_lvh_tabview_find_tab_closure) }, + { be_const_key_weak(get_count, -1), be_const_closure(class_lvh_tabview_get_count_closure) }, + { be_const_key_weak(get_val, 5), be_const_closure(class_lvh_tabview_get_val_closure) }, + { be_const_key_weak(push_tab, -1), be_const_closure(class_lvh_tabview_push_tab_closure) }, + { be_const_key_weak(get_text, 1), be_const_closure(class_lvh_tabview_get_text_closure) }, + { be_const_key_weak(post_init, 0), be_const_closure(class_lvh_tabview_post_init_closure) }, + { be_const_key_weak(_direction, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(5, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(4), + be_const_int(8), + be_const_int(1), + be_const_int(2), + })) ) } )) }, + })), + be_str_weak(lvh_tabview) +); + +extern const bclass be_class_lvh_btn_tab; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_btn_tab_post_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(set_style_radius), + /* K2 */ be_const_int(0), + }), + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 + 0x580C0002, // 0002 LDCONST R3 K2 + 0x58100002, // 0003 LDCONST R4 K2 + 0x7C040600, // 0004 CALL R1 3 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_btn_tab +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_btn_tab, + 0, + &be_class_lvh_obj, + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_btn_tab_post_init_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_button) }, + })), + be_str_weak(lvh_btn_tab) +); +// compact class 'lvh_tab' ktab size: 30, total: 38 (saved 64 bytes) +static const bvalue be_ktab_class_lvh_tab[30] = { + /* K0 */ be_nested_str_weak(_lv_obj), + /* K1 */ be_nested_str_weak(_parent_lvh), + /* K2 */ be_nested_str_weak(_page), + /* K3 */ be_nested_str_weak(_hm), + /* K4 */ be_nested_str_weak(lvh_tabview), + /* K5 */ be_nested_str_weak(_text), + /* K6 */ be_nested_str_weak(add_tab), + /* K7 */ be_nested_str_weak(get_tab_bar), + /* K8 */ be_nested_str_weak(lv), + /* K9 */ be_nested_str_weak(obj_class), + /* K10 */ be_nested_str_weak(button), + /* K11 */ be_nested_str_weak(_class), + /* K12 */ be_nested_str_weak(get_child_count_by_type), + /* K13 */ be_nested_str_weak(get_child_by_type), + /* K14 */ be_const_int(1), + /* K15 */ be_nested_str_weak(_btn), + /* K16 */ be_nested_str_weak(lvh_btn_tab), + /* K17 */ be_nested_str_weak(push_tab), + /* K18 */ be_nested_str_weak(HSP_X3A_X20_X27tab_X27_X20requires_X20_X27text_X27_X20attribute), + /* K19 */ be_nested_str_weak(HSP_X3A_X20_X27tab_X27_X20should_X20have_X20a_X20parent_X20of_X20type_X20_X27tabview_X27), + /* K20 */ be_nested_str_weak(string), + /* K21 */ be_nested_str_weak(startswith), + /* K22 */ be_nested_str_weak(tab_), + /* K23 */ be_nested_str_weak(setmember), + /* K24 */ be_const_int(2147483647), + /* K25 */ be_nested_str_weak(member), + /* K26 */ be_nested_str_weak(set_text), + /* K27 */ be_nested_str_weak(find), + /* K28 */ be_nested_str_weak(text), + /* K29 */ be_nested_str_weak(init), +}; + + +extern const bclass be_class_lvh_tab; + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_tab_post_init, /* name */ + be_nested_proto( + 12, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x90020001, // 0001 SETMBR R0 K0 R1 + 0x6004000F, // 0002 GETGBL R1 G15 + 0x88080101, // 0003 GETMBR R2 R0 K1 + 0x880C0102, // 0004 GETMBR R3 R0 K2 + 0x880C0703, // 0005 GETMBR R3 R3 K3 + 0x880C0704, // 0006 GETMBR R3 R3 K4 + 0x7C040400, // 0007 CALL R1 2 + 0x7806002C, // 0008 JMPF R1 #0036 + 0x88040105, // 0009 GETMBR R1 R0 K5 + 0x4C080000, // 000A LDNIL R2 + 0x20040202, // 000B NE R1 R1 R2 + 0x78060024, // 000C JMPF R1 #0032 + 0x88040101, // 000D GETMBR R1 R0 K1 + 0x88040300, // 000E GETMBR R1 R1 K0 + 0x8C040306, // 000F GETMET R1 R1 K6 + 0x880C0105, // 0010 GETMBR R3 R0 K5 + 0x7C040400, // 0011 CALL R1 2 + 0x90020001, // 0012 SETMBR R0 K0 R1 + 0x88040101, // 0013 GETMBR R1 R0 K1 + 0x88040300, // 0014 GETMBR R1 R1 K0 + 0x8C040307, // 0015 GETMET R1 R1 K7 + 0x7C040200, // 0016 CALL R1 1 + 0xB80A1000, // 0017 GETNGBL R2 K8 + 0x8C080509, // 0018 GETMET R2 R2 K9 + 0xB8121000, // 0019 GETNGBL R4 K8 + 0x8810090A, // 001A GETMBR R4 R4 K10 + 0x8810090B, // 001B GETMBR R4 R4 K11 + 0x7C080400, // 001C CALL R2 2 + 0x8C0C030C, // 001D GETMET R3 R1 K12 + 0x5C140400, // 001E MOVE R5 R2 + 0x7C0C0400, // 001F CALL R3 2 + 0x8C10030D, // 0020 GETMET R4 R1 K13 + 0x0418070E, // 0021 SUB R6 R3 K14 + 0x5C1C0400, // 0022 MOVE R7 R2 + 0x7C100600, // 0023 CALL R4 3 + 0x8C140110, // 0024 GETMET R5 R0 K16 + 0x4C1C0000, // 0025 LDNIL R7 + 0x88200102, // 0026 GETMBR R8 R0 K2 + 0x60240013, // 0027 GETGBL R9 G19 + 0x7C240000, // 0028 CALL R9 0 + 0x5C280800, // 0029 MOVE R10 R4 + 0x5C2C0000, // 002A MOVE R11 R0 + 0x7C140C00, // 002B CALL R5 6 + 0x90021E05, // 002C SETMBR R0 K15 R5 + 0x88140101, // 002D GETMBR R5 R0 K1 + 0x8C140B11, // 002E GETMET R5 R5 K17 + 0x5C1C0000, // 002F MOVE R7 R0 + 0x7C140400, // 0030 CALL R5 2 + 0x70020002, // 0031 JMP #0035 + 0x60040001, // 0032 GETGBL R1 G1 + 0x58080012, // 0033 LDCONST R2 K18 + 0x7C040200, // 0034 CALL R1 1 + 0x70020002, // 0035 JMP #0039 + 0x60040001, // 0036 GETGBL R1 G1 + 0x58080013, // 0037 LDCONST R2 K19 + 0x7C040200, // 0038 CALL R1 1 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(class_lvh_tab_setmember, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(setmember), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA40E2800, // 0000 IMPORT R3 K20 + 0x8C100715, // 0001 GETMET R4 R3 K21 + 0x5C180200, // 0002 MOVE R6 R1 + 0x581C0016, // 0003 LDCONST R7 K22 + 0x7C100600, // 0004 CALL R4 3 + 0x78120007, // 0005 JMPF R4 #000E + 0x8810010F, // 0006 GETMBR R4 R0 K15 + 0x8C100917, // 0007 GETMET R4 R4 K23 + 0x541A0003, // 0008 LDINT R6 4 + 0x40180D18, // 0009 CONNECT R6 R6 K24 + 0x94180206, // 000A GETIDX R6 R1 R6 + 0x5C1C0400, // 000B MOVE R7 R2 + 0x7C100600, // 000C CALL R4 3 + 0x70020006, // 000D JMP #0015 + 0x60100003, // 000E GETGBL R4 G3 + 0x5C140000, // 000F MOVE R5 R0 + 0x7C100200, // 0010 CALL R4 1 + 0x8C100917, // 0011 GETMET R4 R4 K23 + 0x5C180200, // 0012 MOVE R6 R1 + 0x5C1C0400, // 0013 MOVE R7 R2 + 0x7C100600, // 0014 CALL R4 3 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_lvh_tab_member, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA40A2800, // 0000 IMPORT R2 K20 + 0x8C0C0515, // 0001 GETMET R3 R2 K21 + 0x5C140200, // 0002 MOVE R5 R1 + 0x58180016, // 0003 LDCONST R6 K22 + 0x7C0C0600, // 0004 CALL R3 3 + 0x780E0007, // 0005 JMPF R3 #000E + 0x880C010F, // 0006 GETMBR R3 R0 K15 + 0x8C0C0719, // 0007 GETMET R3 R3 K25 + 0x54160003, // 0008 LDINT R5 4 + 0x40140B18, // 0009 CONNECT R5 R5 K24 + 0x94140205, // 000A GETIDX R5 R1 R5 + 0x7C0C0400, // 000B CALL R3 2 + 0x80040600, // 000C RET 1 R3 + 0x70020006, // 000D JMP #0015 + 0x600C0003, // 000E GETGBL R3 G3 + 0x5C100000, // 000F MOVE R4 R0 + 0x7C0C0200, // 0010 CALL R3 1 + 0x8C0C0719, // 0011 GETMET R3 R3 K25 + 0x5C140200, // 0012 MOVE R5 R1 + 0x7C0C0400, // 0013 CALL R3 2 + 0x80040600, // 0014 RET 1 R3 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_tab_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x8C18011A, // 0000 GETMET R6 R0 K26 + 0x8C20071B, // 0001 GETMET R8 R3 K27 + 0x5828001C, // 0002 LDCONST R10 K28 + 0x7C200400, // 0003 CALL R8 2 + 0x7C180400, // 0004 CALL R6 2 + 0x60180003, // 0005 GETGBL R6 G3 + 0x5C1C0000, // 0006 MOVE R7 R0 + 0x7C180200, // 0007 CALL R6 1 + 0x8C180D1D, // 0008 GETMET R6 R6 K29 + 0x5C200200, // 0009 MOVE R8 R1 + 0x5C240400, // 000A MOVE R9 R2 + 0x5C280600, // 000B MOVE R10 R3 + 0x5C2C0800, // 000C MOVE R11 R4 + 0x5C300A00, // 000D MOVE R12 R5 + 0x7C180C00, // 000E CALL R6 6 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_text +********************************************************************/ +be_local_closure(class_lvh_tab_set_text, /* name */ + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(set_text), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x60080008, // 0000 GETGBL R2 G8 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x90020A02, // 0003 SETMBR R0 K5 R2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_text +********************************************************************/ +be_local_closure(class_lvh_tab_get_text, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_tab, /* shared constants */ + be_str_weak(get_text), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040105, // 0000 GETMBR R1 R0 K5 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_tab +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_tab, + 2, + &be_class_lvh_obj, + be_nested_map(10, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(post_init, 3), be_const_closure(class_lvh_tab_post_init_closure) }, + { be_const_key_weak(setmember, 2), be_const_closure(class_lvh_tab_setmember_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_lvh_tab_member_closure) }, + { be_const_key_weak(lvh_btn_tab, -1), be_const_class(be_class_lvh_btn_tab) }, + { be_const_key_weak(_text, 8), be_const_var(0) }, + { be_const_key_weak(init, 4), be_const_closure(class_lvh_tab_init_closure) }, + { be_const_key_weak(_btn, -1), be_const_var(1) }, + { be_const_key_weak(_lv_class, -1), be_const_nil() }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_tab_set_text_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_tab_get_text_closure) }, + })), + be_str_weak(lvh_tab) +); +// compact class 'lvh_chart' ktab size: 25, total: 56 (saved 248 bytes) +static const bvalue be_ktab_class_lvh_chart[25] = { + /* K0 */ be_nested_str_weak(_y_min), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(set_next_value), + /* K3 */ be_nested_str_weak(_ser1), + /* K4 */ be_nested_str_weak(add_point2), + /* K5 */ be_nested_str_weak(set_range), + /* K6 */ be_nested_str_weak(lv), + /* K7 */ be_nested_str_weak(CHART_AXIS_PRIMARY_Y), + /* K8 */ be_nested_str_weak(_y_max), + /* K9 */ be_nested_str_weak(_ser2), + /* K10 */ be_nested_str_weak(set_series_color), + /* K11 */ be_nested_str_weak(parse_color), + /* K12 */ be_const_int(0), + /* K13 */ be_nested_str_weak(_h_div), + /* K14 */ be_const_int(3), + /* K15 */ be_nested_str_weak(_v_div), + /* K16 */ be_nested_str_weak(set_update_mode), + /* K17 */ be_nested_str_weak(CHART_UPDATE_MODE_SHIFT), + /* K18 */ be_nested_str_weak(add_series), + /* K19 */ be_nested_str_weak(color), + /* K20 */ be_const_int(15615044), + /* K21 */ be_const_int(4517444), + /* K22 */ be_nested_str_weak(_val), + /* K23 */ be_nested_str_weak(add_point), + /* K24 */ be_nested_str_weak(set_div_line_count), +}; + + +extern const bclass be_class_lvh_chart; + +/******************************************************************** +** Solidified function: get_y_min +********************************************************************/ +be_local_closure(class_lvh_chart_get_y_min, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(get_y_min), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_point +********************************************************************/ +be_local_closure(class_lvh_chart_add_point, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(add_point), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x88100103, // 0002 GETMBR R4 R0 K3 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C080600, // 0004 CALL R2 3 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val2 +********************************************************************/ +be_local_closure(class_lvh_chart_set_val2, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_val2), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C080104, // 0000 GETMET R2 R0 K4 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_y_min +********************************************************************/ +be_local_closure(class_lvh_chart_set_y_min, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_y_min), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080505, // 0002 GETMET R2 R2 K5 + 0xB8120C00, // 0003 GETNGBL R4 K6 + 0x88100907, // 0004 GETMBR R4 R4 K7 + 0x88140100, // 0005 GETMBR R5 R0 K0 + 0x88180108, // 0006 GETMBR R6 R0 K8 + 0x7C080800, // 0007 CALL R2 4 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_point2 +********************************************************************/ +be_local_closure(class_lvh_chart_add_point2, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(add_point2), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C080502, // 0001 GETMET R2 R2 K2 + 0x88100109, // 0002 GETMBR R4 R0 K9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C080600, // 0004 CALL R2 3 + 0x80000000, // 0005 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_series1_color +********************************************************************/ +be_local_closure(class_lvh_chart_set_series1_color, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_series1_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x88100103, // 0002 GETMBR R4 R0 K3 + 0x8C14010B, // 0003 GETMET R5 R0 K11 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x7C140400, // 0005 CALL R5 2 + 0x7C080600, // 0006 CALL R2 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_series2_color +********************************************************************/ +be_local_closure(class_lvh_chart_set_series2_color, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_series2_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88080101, // 0000 GETMBR R2 R0 K1 + 0x8C08050A, // 0001 GETMET R2 R2 K10 + 0x88100109, // 0002 GETMBR R4 R0 K9 + 0x8C14010B, // 0003 GETMET R5 R0 K11 + 0x5C1C0200, // 0004 MOVE R7 R1 + 0x7C140400, // 0005 CALL R5 2 + 0x7C080600, // 0006 CALL R2 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_y_max +********************************************************************/ +be_local_closure(class_lvh_chart_set_y_max, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_y_max), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x90021001, // 0000 SETMBR R0 K8 R1 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080505, // 0002 GETMET R2 R2 K5 + 0xB8120C00, // 0003 GETNGBL R4 K6 + 0x88100907, // 0004 GETMBR R4 R4 K7 + 0x88140100, // 0005 GETMBR R5 R0 K0 + 0x88180108, // 0006 GETMBR R6 R0 K8 + 0x7C080800, // 0007 CALL R2 4 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: post_init +********************************************************************/ +be_local_closure(class_lvh_chart_post_init, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(post_init), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x9002010C, // 0000 SETMBR R0 K0 K12 + 0x54060063, // 0001 LDINT R1 100 + 0x90021001, // 0002 SETMBR R0 K8 R1 + 0x90021B0E, // 0003 SETMBR R0 K13 K14 + 0x54060004, // 0004 LDINT R1 5 + 0x90021E01, // 0005 SETMBR R0 K15 R1 + 0x88040101, // 0006 GETMBR R1 R0 K1 + 0x8C040310, // 0007 GETMET R1 R1 K16 + 0xB80E0C00, // 0008 GETNGBL R3 K6 + 0x880C0711, // 0009 GETMBR R3 R3 K17 + 0x7C040400, // 000A CALL R1 2 + 0x88040101, // 000B GETMBR R1 R0 K1 + 0x8C040312, // 000C GETMET R1 R1 K18 + 0xB80E0C00, // 000D GETNGBL R3 K6 + 0x8C0C0713, // 000E GETMET R3 R3 K19 + 0x58140014, // 000F LDCONST R5 K20 + 0x7C0C0400, // 0010 CALL R3 2 + 0xB8120C00, // 0011 GETNGBL R4 K6 + 0x88100907, // 0012 GETMBR R4 R4 K7 + 0x7C040600, // 0013 CALL R1 3 + 0x90020601, // 0014 SETMBR R0 K3 R1 + 0x88040101, // 0015 GETMBR R1 R0 K1 + 0x8C040312, // 0016 GETMET R1 R1 K18 + 0xB80E0C00, // 0017 GETNGBL R3 K6 + 0x8C0C0713, // 0018 GETMET R3 R3 K19 + 0x58140015, // 0019 LDCONST R5 K21 + 0x7C0C0400, // 001A CALL R3 2 + 0xB8120C00, // 001B GETNGBL R4 K6 + 0x88100907, // 001C GETMBR R4 R4 K7 + 0x7C040600, // 001D CALL R1 3 + 0x90021201, // 001E SETMBR R0 K9 R1 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_y_max +********************************************************************/ +be_local_closure(class_lvh_chart_get_y_max, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(get_y_max), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_val +********************************************************************/ +be_local_closure(class_lvh_chart_set_val, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_val), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x90022C01, // 0000 SETMBR R0 K22 R1 + 0x8C080117, // 0001 GETMET R2 R0 K23 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_v_div_line_count +********************************************************************/ +be_local_closure(class_lvh_chart_set_v_div_line_count, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_v_div_line_count), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90021E01, // 0000 SETMBR R0 K15 R1 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080518, // 0002 GETMET R2 R2 K24 + 0x8810010D, // 0003 GETMBR R4 R0 K13 + 0x8814010F, // 0004 GETMBR R5 R0 K15 + 0x7C080600, // 0005 CALL R2 3 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_h_div_line_count +********************************************************************/ +be_local_closure(class_lvh_chart_set_h_div_line_count, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_chart, /* shared constants */ + be_str_weak(set_h_div_line_count), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x90021A01, // 0000 SETMBR R0 K13 R1 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x8C080518, // 0002 GETMET R2 R2 K24 + 0x8810010D, // 0003 GETMBR R4 R0 K13 + 0x8814010F, // 0004 GETMBR R5 R0 K15 + 0x7C080600, // 0005 CALL R2 3 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_chart +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_chart, + 6, + &be_class_lvh_obj, + be_nested_map(20, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_y_min, -1), be_const_closure(class_lvh_chart_get_y_min_closure) }, + { be_const_key_weak(_h_div, 16), be_const_var(4) }, + { be_const_key_weak(set_v_div_line_count, -1), be_const_closure(class_lvh_chart_set_v_div_line_count_closure) }, + { be_const_key_weak(set_val2, -1), be_const_closure(class_lvh_chart_set_val2_closure) }, + { be_const_key_weak(set_y_min, -1), be_const_closure(class_lvh_chart_set_y_min_closure) }, + { be_const_key_weak(add_point2, -1), be_const_closure(class_lvh_chart_add_point2_closure) }, + { be_const_key_weak(_ser2, -1), be_const_var(1) }, + { be_const_key_weak(_ser1, 11), be_const_var(0) }, + { be_const_key_weak(_v_div, 18), be_const_var(5) }, + { be_const_key_weak(set_series2_color, -1), be_const_closure(class_lvh_chart_set_series2_color_closure) }, + { be_const_key_weak(set_y_max, 1), be_const_closure(class_lvh_chart_set_y_max_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_chart) }, + { be_const_key_weak(_y_max, -1), be_const_var(3) }, + { be_const_key_weak(get_y_max, -1), be_const_closure(class_lvh_chart_get_y_max_closure) }, + { be_const_key_weak(_y_min, 13), be_const_var(2) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_chart_set_val_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_chart_post_init_closure) }, + { be_const_key_weak(add_point, 2), be_const_closure(class_lvh_chart_add_point_closure) }, + { be_const_key_weak(set_series1_color, 0), be_const_closure(class_lvh_chart_set_series1_color_closure) }, + { be_const_key_weak(set_h_div_line_count, -1), be_const_closure(class_lvh_chart_set_h_div_line_count_closure) }, + })), + be_str_weak(lvh_chart) +); +// compact class 'lvh_btnmatrix' ktab size: 12, total: 15 (saved 24 bytes) +static const bvalue be_ktab_class_lvh_btnmatrix[12] = { + /* K0 */ be_nested_str_weak(_options), + /* K1 */ be_nested_str_weak(_lv_obj), + /* K2 */ be_nested_str_weak(get_selected_button), + /* K3 */ be_nested_str_weak(lv), + /* K4 */ be_nested_str_weak(BUTTONMATRIX_BUTTON_NONE), + /* K5 */ be_const_int(0), + /* K6 */ be_nested_str_weak(push), + /* K7 */ be_nested_str_weak(), + /* K8 */ be_nested_str_weak(_options_arr), + /* K9 */ be_nested_str_weak(str_arr), + /* K10 */ be_nested_str_weak(set_map), + /* K11 */ be_nested_str_weak(HTP_X3A_X20_X27btnmatrix_X27_X20needs_X20_X27options_X27_X20to_X20be_X20a_X20list_X20of_X20strings), +}; + + +extern const bclass be_class_lvh_btnmatrix; + +/******************************************************************** +** Solidified function: get_options +********************************************************************/ +be_local_closure(class_lvh_btnmatrix_get_options, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_btnmatrix, /* shared constants */ + be_str_weak(get_options), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_sub_id +********************************************************************/ +be_local_closure(class_lvh_btnmatrix_get_sub_id, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_btnmatrix, /* shared constants */ + be_str_weak(get_sub_id), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x8C040302, // 0001 GETMET R1 R1 K2 + 0x7C040200, // 0002 CALL R1 1 + 0xB80A0600, // 0003 GETNGBL R2 K3 + 0x88080504, // 0004 GETMBR R2 R2 K4 + 0x20080202, // 0005 NE R2 R1 R2 + 0x780A0001, // 0006 JMPF R2 #0009 + 0x5C080200, // 0007 MOVE R2 R1 + 0x70020000, // 0008 JMP #000A + 0x4C080000, // 0009 LDNIL R2 + 0x80040400, // 000A RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_options +********************************************************************/ +be_local_closure(class_lvh_btnmatrix_set_options, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_btnmatrix, /* shared constants */ + be_str_weak(set_options), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x6008000F, // 0000 GETGBL R2 G15 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x60100012, // 0002 GETGBL R4 G18 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0018, // 0004 JMPF R2 #001E + 0x6008000C, // 0005 GETGBL R2 G12 + 0x5C0C0200, // 0006 MOVE R3 R1 + 0x7C080200, // 0007 CALL R2 1 + 0x24080505, // 0008 GT R2 R2 K5 + 0x780A0013, // 0009 JMPF R2 #001E + 0x6008000C, // 000A GETGBL R2 G12 + 0x540DFFFE, // 000B LDINT R3 -1 + 0x940C0203, // 000C GETIDX R3 R1 R3 + 0x7C080200, // 000D CALL R2 1 + 0x24080505, // 000E GT R2 R2 K5 + 0x780A0002, // 000F JMPF R2 #0013 + 0x8C080306, // 0010 GETMET R2 R1 K6 + 0x58100007, // 0011 LDCONST R4 K7 + 0x7C080400, // 0012 CALL R2 2 + 0x90020001, // 0013 SETMBR R0 K0 R1 + 0xB80A0600, // 0014 GETNGBL R2 K3 + 0x8C080509, // 0015 GETMET R2 R2 K9 + 0x5C100200, // 0016 MOVE R4 R1 + 0x7C080400, // 0017 CALL R2 2 + 0x90021002, // 0018 SETMBR R0 K8 R2 + 0x88080101, // 0019 GETMBR R2 R0 K1 + 0x8C08050A, // 001A GETMET R2 R2 K10 + 0x88100108, // 001B GETMBR R4 R0 K8 + 0x7C080400, // 001C CALL R2 2 + 0x70020002, // 001D JMP #0021 + 0x60080001, // 001E GETGBL R2 G1 + 0x580C000B, // 001F LDCONST R3 K11 + 0x7C080200, // 0020 CALL R2 1 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_val +********************************************************************/ +be_local_closure(class_lvh_btnmatrix_get_val, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_btnmatrix, /* shared constants */ + be_str_weak(get_val), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C040000, // 0000 LDNIL R1 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_btnmatrix +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_btnmatrix, + 2, + &be_class_lvh_obj, + be_nested_map(7, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_options, 2), be_const_var(0) }, + { be_const_key_weak(get_options, -1), be_const_closure(class_lvh_btnmatrix_get_options_closure) }, + { be_const_key_weak(set_options, 1), be_const_closure(class_lvh_btnmatrix_set_options_closure) }, + { be_const_key_weak(_lv_class, 5), be_const_class(be_class_lv_buttonmatrix) }, + { be_const_key_weak(_options_arr, -1), be_const_var(1) }, + { be_const_key_weak(get_sub_id, -1), be_const_closure(class_lvh_btnmatrix_get_sub_id_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_btnmatrix_get_val_closure) }, + })), + be_str_weak(lvh_btnmatrix) +); +// compact class 'lvh_cpicker' ktab size: 21, total: 31 (saved 80 bytes) +static const bvalue be_ktab_class_lvh_cpicker[21] = { + /* K0 */ be_nested_str_weak(_CW_MODES), + /* K1 */ be_nested_str_weak(find), + /* K2 */ be_nested_str_weak(_lv_obj), + /* K3 */ be_nested_str_weak(set_mode), + /* K4 */ be_nested_str_weak(unknown_X20color_X20mode_X20_X27_X25s_X27), + /* K5 */ be_nested_str_weak(value_error), + /* K6 */ be_nested_str_weak(get_rgb), + /* K7 */ be_nested_str_weak(_X23_X2506X), + /* K8 */ be_nested_str_weak(get_color_mode_fixed), + /* K9 */ be_nested_str_weak(get_color_mode), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(unknown), + /* K12 */ be_nested_str_weak(lv), + /* K13 */ be_nested_str_weak(colorwheel), + /* K14 */ be_nested_str_weak(init), + /* K15 */ be_nested_str_weak(set_scale_width), + /* K16 */ be_nested_str_weak(set_style_arc_width), + /* K17 */ be_nested_str_weak(parse_color), + /* K18 */ be_nested_str_weak(set_rgb), + /* K19 */ be_nested_str_weak(set_mode_fixed), + /* K20 */ be_nested_str_weak(get_style_arc_width), +}; + + +extern const bclass be_class_lvh_cpicker; + +/******************************************************************** +** Solidified function: set_mode +********************************************************************/ +be_local_closure(class_lvh_cpicker_set_mode, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(set_mode), + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x4C0C0000, // 0004 LDNIL R3 + 0x200C0403, // 0005 NE R3 R2 R3 + 0x780E0004, // 0006 JMPF R3 #000C + 0x880C0102, // 0007 GETMBR R3 R0 K2 + 0x8C0C0703, // 0008 GETMET R3 R3 K3 + 0x5C140400, // 0009 MOVE R5 R2 + 0x7C0C0400, // 000A CALL R3 2 + 0x70020004, // 000B JMP #0011 + 0x600C0018, // 000C GETGBL R3 G24 + 0x58100004, // 000D LDCONST R4 K4 + 0x5C140400, // 000E MOVE R5 R2 + 0x7C0C0400, // 000F CALL R3 2 + 0xB0060A03, // 0010 RAISE 1 K5 R3 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_color +********************************************************************/ +be_local_closure(class_lvh_cpicker_get_color, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(get_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040306, // 0001 GETMET R1 R1 K6 + 0x7C040200, // 0002 CALL R1 1 + 0x60080018, // 0003 GETGBL R2 G24 + 0x580C0007, // 0004 LDCONST R3 K7 + 0x5C100200, // 0005 MOVE R4 R1 + 0x7C080400, // 0006 CALL R2 2 + 0x80040400, // 0007 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pad_inner +********************************************************************/ +be_local_closure(class_lvh_cpicker_get_pad_inner, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(get_pad_inner), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_mode_fixed +********************************************************************/ +be_local_closure(class_lvh_cpicker_get_mode_fixed, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(get_mode_fixed), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040308, // 0001 GETMET R1 R1 K8 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_mode +********************************************************************/ +be_local_closure(class_lvh_cpicker_get_mode, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(get_mode), + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x2808030A, // 0003 GE R2 R1 K10 + 0x780A0008, // 0004 JMPF R2 #000E + 0x6008000C, // 0005 GETGBL R2 G12 + 0x880C0100, // 0006 GETMBR R3 R0 K0 + 0x7C080200, // 0007 CALL R2 1 + 0x14080202, // 0008 LT R2 R1 R2 + 0x780A0003, // 0009 JMPF R2 #000E + 0x88080100, // 000A GETMBR R2 R0 K0 + 0x94080401, // 000B GETIDX R2 R2 R1 + 0x80040400, // 000C RET 1 R2 + 0x70020000, // 000D JMP #000F + 0x80061600, // 000E RET 1 K11 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_cpicker_init, /* name */ + be_nested_proto( + 13, /* nstack */ + 6, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xB81A1800, // 0000 GETNGBL R6 K12 + 0x8C180D0D, // 0001 GETMET R6 R6 K13 + 0x5C200200, // 0002 MOVE R8 R1 + 0x50240200, // 0003 LDBOOL R9 1 0 + 0x7C180600, // 0004 CALL R6 3 + 0x5C100C00, // 0005 MOVE R4 R6 + 0x60180003, // 0006 GETGBL R6 G3 + 0x5C1C0000, // 0007 MOVE R7 R0 + 0x7C180200, // 0008 CALL R6 1 + 0x8C180D0E, // 0009 GETMET R6 R6 K14 + 0x5C200200, // 000A MOVE R8 R1 + 0x5C240400, // 000B MOVE R9 R2 + 0x5C280600, // 000C MOVE R10 R3 + 0x5C2C0800, // 000D MOVE R11 R4 + 0x5C300A00, // 000E MOVE R12 R5 + 0x7C180C00, // 000F CALL R6 6 + 0x8C18010F, // 0010 GETMET R6 R0 K15 + 0x54220018, // 0011 LDINT R8 25 + 0x7C180400, // 0012 CALL R6 2 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_pad_inner +********************************************************************/ +be_local_closure(class_lvh_cpicker_set_pad_inner, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(set_pad_inner), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_scale_width +********************************************************************/ +be_local_closure(class_lvh_cpicker_set_scale_width, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(set_scale_width), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88080102, // 0000 GETMBR R2 R0 K2 + 0x8C080510, // 0001 GETMET R2 R2 K16 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x5814000A, // 0005 LDCONST R5 K10 + 0x7C080600, // 0006 CALL R2 3 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_color +********************************************************************/ +be_local_closure(class_lvh_cpicker_set_color, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(set_color), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C080111, // 0000 GETMET R2 R0 K17 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x880C0102, // 0003 GETMBR R3 R0 K2 + 0x8C0C0712, // 0004 GETMET R3 R3 K18 + 0x5C140400, // 0005 MOVE R5 R2 + 0x7C0C0400, // 0006 CALL R3 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_mode_fixed +********************************************************************/ +be_local_closure(class_lvh_cpicker_set_mode_fixed, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(set_mode_fixed), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x60080017, // 0000 GETGBL R2 G23 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C040400, // 0003 MOVE R1 R2 + 0x88080102, // 0004 GETMBR R2 R0 K2 + 0x8C080513, // 0005 GETMET R2 R2 K19 + 0x5C100200, // 0006 MOVE R4 R1 + 0x7C080400, // 0007 CALL R2 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_scale_width +********************************************************************/ +be_local_closure(class_lvh_cpicker_get_scale_width, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_cpicker, /* shared constants */ + be_str_weak(get_scale_width), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x8C040314, // 0001 GETMET R1 R1 K20 + 0x580C000A, // 0002 LDCONST R3 K10 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_cpicker +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_cpicker, + 0, + &be_class_lvh_obj, + be_nested_map(13, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(get_scale_width, 9), be_const_closure(class_lvh_cpicker_get_scale_width_closure) }, + { be_const_key_weak(get_color, -1), be_const_closure(class_lvh_cpicker_get_color_closure) }, + { be_const_key_weak(get_pad_inner, -1), be_const_closure(class_lvh_cpicker_get_pad_inner_closure) }, + { be_const_key_weak(_CW_MODES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(3, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(hue), + be_nested_str_weak(saturation), + be_nested_str_weak(value), + })) ) } )) }, + { be_const_key_weak(get_mode_fixed, -1), be_const_closure(class_lvh_cpicker_get_mode_fixed_closure) }, + { be_const_key_weak(get_mode, -1), be_const_closure(class_lvh_cpicker_get_mode_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lvh_cpicker_init_closure) }, + { be_const_key_weak(set_color, 8), be_const_closure(class_lvh_cpicker_set_color_closure) }, + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_colorwheel) }, + { be_const_key_weak(set_pad_inner, 4), be_const_closure(class_lvh_cpicker_set_pad_inner_closure) }, + { be_const_key_weak(set_scale_width, 7), be_const_closure(class_lvh_cpicker_set_scale_width_closure) }, + { be_const_key_weak(set_mode_fixed, -1), be_const_closure(class_lvh_cpicker_set_mode_fixed_closure) }, + { be_const_key_weak(set_mode, 0), be_const_closure(class_lvh_cpicker_set_mode_closure) }, + })), + be_str_weak(lvh_cpicker) +); + +extern const bclass be_class_lvh_btn; + +/******************************************************************** +** Solidified class: lvh_btn +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_btn, + 0, + &be_class_lvh_obj, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_button) }, + })), + be_str_weak(lvh_btn) +); + +extern const bclass be_class_lvh_checkbox; + +/******************************************************************** +** Solidified class: lvh_checkbox +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_checkbox, + 0, + &be_class_lvh_obj, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_checkbox) }, + })), + be_str_weak(lvh_checkbox) +); + +extern const bclass be_class_lvh_scr; + +/******************************************************************** +** Solidified class: lvh_scr +********************************************************************/ +extern const bclass be_class_lvh_obj; +be_local_class(lvh_scr, + 0, + &be_class_lvh_obj, + be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(_lv_class, -1), be_const_nil() }, + })), + be_str_weak(lvh_scr) +); +// compact class 'lvh_page' ktab size: 47, total: 73 (saved 208 bytes) +static const bvalue be_ktab_class_lvh_page[47] = { + /* K0 */ be_nested_str_weak(_clear), + /* K1 */ be_nested_str_weak(string), + /* K2 */ be_nested_str_weak(introspect), + /* K3 */ be_nested_str_weak(startswith), + /* K4 */ be_nested_str_weak(set_), + /* K5 */ be_nested_str_weak(get_), + /* K6 */ be_nested_str_weak(get), + /* K7 */ be_nested_str_weak(function), + /* K8 */ be_nested_str_weak(undefined), + /* K9 */ be_nested_str_weak(_obj_id), + /* K10 */ be_nested_str_weak(keys), + /* K11 */ be_nested_str_weak(push), + /* K12 */ be_nested_str_weak(stop_iteration), + /* K13 */ be_const_int(0), + /* K14 */ be_nested_str_weak(contains), + /* K15 */ be_nested_str_weak(_delete), + /* K16 */ be_const_int(1), + /* K17 */ be_nested_str_weak(_lv_scr), + /* K18 */ be_nested_str_weak(find), + /* K19 */ be_nested_str_weak(remove), + /* K20 */ be_nested_str_weak(p_X25ib_X25i), + /* K21 */ be_nested_str_weak(_page), + /* K22 */ be_nested_str_weak(id), + /* K23 */ be_nested_str_weak(global), + /* K24 */ be_nested_str_weak(_hm), + /* K25 */ be_nested_str_weak(_page_id), + /* K26 */ be_nested_str_weak(lv), + /* K27 */ be_nested_str_weak(layer_top), + /* K28 */ be_nested_str_weak(obj), + /* K29 */ be_nested_str_weak(scr_act), + /* K30 */ be_nested_str_weak(get_style_bg_color), + /* K31 */ be_nested_str_weak(set_style_bg_color), + /* K32 */ be_nested_str_weak(lvh_scr), + /* K33 */ be_nested_str_weak(p_X25s), + /* K34 */ be_nested_str_weak(p_X25sb0), + /* K35 */ be_nested_str_weak(_p), + /* K36 */ be_nested_str_weak(page_dir_to), + /* K37 */ be_nested_str_weak(_X7B_X22hasp_X22_X3A_X7B_X22p_X25i_X22_X3A_X22out_X22_X7D_X7D), + /* K38 */ be_nested_str_weak(lvh_page_cur_idx), + /* K39 */ be_nested_str_weak(tasmota), + /* K40 */ be_nested_str_weak(set_timer), + /* K41 */ be_nested_str_weak(_X7B_X22hasp_X22_X3A_X7B_X22p_X25i_X22_X3A_X22in_X22_X7D_X7D), + /* K42 */ be_nested_str_weak(screen_load), + /* K43 */ be_nested_str_weak(show_anim), + /* K44 */ be_nested_str_weak(SCR_LOAD_ANIM_NONE), + /* K45 */ be_nested_str_weak(screen_load_anim), + /* K46 */ be_nested_str_weak(_remove_page), +}; + + +extern const bclass be_class_lvh_page; + +/******************************************************************** +** Solidified function: get_clear +********************************************************************/ +be_local_closure(class_lvh_page_get_clear, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 0, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(get_clear), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x84040000, // 0002 CLOSURE R1 P0 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(class_lvh_page_member, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(member), + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0xA40A0200, // 0000 IMPORT R2 K1 + 0xA40E0400, // 0001 IMPORT R3 K2 + 0x8C100503, // 0002 GETMET R4 R2 K3 + 0x5C180200, // 0003 MOVE R6 R1 + 0x581C0004, // 0004 LDCONST R7 K4 + 0x7C100600, // 0005 CALL R4 3 + 0x74120004, // 0006 JMPT R4 #000C + 0x8C100503, // 0007 GETMET R4 R2 K3 + 0x5C180200, // 0008 MOVE R6 R1 + 0x581C0005, // 0009 LDCONST R7 K5 + 0x7C100600, // 000A CALL R4 3 + 0x78120000, // 000B JMPF R4 #000D + 0x80000800, // 000C RET 0 + 0x8C100706, // 000D GETMET R4 R3 K6 + 0x5C180000, // 000E MOVE R6 R0 + 0x001E0A01, // 000F ADD R7 K5 R1 + 0x7C100600, // 0010 CALL R4 3 + 0x60140004, // 0011 GETGBL R5 G4 + 0x5C180800, // 0012 MOVE R6 R4 + 0x7C140200, // 0013 CALL R5 1 + 0x1C140B07, // 0014 EQ R5 R5 K7 + 0x78160003, // 0015 JMPF R5 #001A + 0x5C140800, // 0016 MOVE R5 R4 + 0x5C180000, // 0017 MOVE R6 R0 + 0x7C140200, // 0018 CALL R5 1 + 0x80040A00, // 0019 RET 1 R5 + 0x6014000B, // 001A GETGBL R5 G11 + 0x58180008, // 001B LDCONST R6 K8 + 0x7C140200, // 001C CALL R5 1 + 0x80040A00, // 001D RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _clear +********************************************************************/ +be_local_closure(class_lvh_page__clear, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(_clear), + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x60040012, // 0000 GETGBL R1 G18 + 0x7C040000, // 0001 CALL R1 0 + 0x60080010, // 0002 GETGBL R2 G16 + 0x880C0109, // 0003 GETMBR R3 R0 K9 + 0x8C0C070A, // 0004 GETMET R3 R3 K10 + 0x7C0C0200, // 0005 CALL R3 1 + 0x7C080200, // 0006 CALL R2 1 + 0xA8020005, // 0007 EXBLK 0 #000E + 0x5C0C0400, // 0008 MOVE R3 R2 + 0x7C0C0000, // 0009 CALL R3 0 + 0x8C10030B, // 000A GETMET R4 R1 K11 + 0x5C180600, // 000B MOVE R6 R3 + 0x7C100400, // 000C CALL R4 2 + 0x7001FFF9, // 000D JMP #0008 + 0x5808000C, // 000E LDCONST R2 K12 + 0xAC080200, // 000F CATCH R2 1 0 + 0xB0080000, // 0010 RAISE 2 R0 R0 + 0x5808000D, // 0011 LDCONST R2 K13 + 0x600C000C, // 0012 GETGBL R3 G12 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C0C0200, // 0014 CALL R3 1 + 0x140C0403, // 0015 LT R3 R2 R3 + 0x780E000D, // 0016 JMPF R3 #0025 + 0x940C0202, // 0017 GETIDX R3 R1 R2 + 0x2010070D, // 0018 NE R4 R3 K13 + 0x78120008, // 0019 JMPF R4 #0023 + 0x88100109, // 001A GETMBR R4 R0 K9 + 0x8C10090E, // 001B GETMET R4 R4 K14 + 0x5C180600, // 001C MOVE R6 R3 + 0x7C100400, // 001D CALL R4 2 + 0x78120003, // 001E JMPF R4 #0023 + 0x88100109, // 001F GETMBR R4 R0 K9 + 0x94100803, // 0020 GETIDX R4 R4 R3 + 0x8C10090F, // 0021 GETMET R4 R4 K15 + 0x7C100200, // 0022 CALL R4 1 + 0x00080510, // 0023 ADD R2 R2 K16 + 0x7001FFEC, // 0024 JMP #0012 + 0x600C0013, // 0025 GETGBL R3 G19 + 0x7C0C0000, // 0026 CALL R3 0 + 0x90021203, // 0027 SETMBR R0 K9 R3 + 0x80000000, // 0028 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_scr +********************************************************************/ +be_local_closure(class_lvh_page_get_scr, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(get_scr), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040111, // 0000 GETMBR R1 R0 K17 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_delete +********************************************************************/ +be_local_closure(class_lvh_page_get_delete, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 0, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(get_delete), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C04010F, // 0000 GETMET R1 R0 K15 + 0x7C040200, // 0001 CALL R1 1 + 0x84040000, // 0002 CLOSURE R1 P0 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_obj +********************************************************************/ +be_local_closure(class_lvh_page_remove_obj, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(remove_obj), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x8C080512, // 0001 GETMET R2 R2 K18 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x880C0109, // 0004 GETMBR R3 R0 K9 + 0x8C0C0713, // 0005 GETMET R3 R3 K19 + 0x5C140200, // 0006 MOVE R5 R1 + 0x7C0C0400, // 0007 CALL R3 2 + 0x780A0009, // 0008 JMPF R2 #0013 + 0x600C0018, // 0009 GETGBL R3 G24 + 0x58100014, // 000A LDCONST R4 K20 + 0x88140515, // 000B GETMBR R5 R2 K21 + 0x8C140B16, // 000C GETMET R5 R5 K22 + 0x7C140200, // 000D CALL R5 1 + 0x5C180200, // 000E MOVE R6 R1 + 0x7C0C0600, // 000F CALL R3 3 + 0xB8122E00, // 0010 GETNGBL R4 K23 + 0x4C140000, // 0011 LDNIL R5 + 0x90100605, // 0012 SETMBR R4 R3 R5 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_obj +********************************************************************/ +be_local_closure(class_lvh_page_get_obj, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(get_obj), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080109, // 0000 GETMBR R2 R0 K9 + 0x8C080512, // 0001 GETMET R2 R2 K18 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: add_obj +********************************************************************/ +be_local_closure(class_lvh_page_add_obj, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(add_obj), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x880C0109, // 0000 GETMBR R3 R0 K9 + 0x980C0202, // 0001 SETIDX R3 R1 R2 + 0x600C0018, // 0002 GETGBL R3 G24 + 0x58100014, // 0003 LDCONST R4 K20 + 0x88140515, // 0004 GETMBR R5 R2 K21 + 0x8C140B16, // 0005 GETMET R5 R5 K22 + 0x7C140200, // 0006 CALL R5 1 + 0x5C180200, // 0007 MOVE R6 R1 + 0x7C0C0600, // 0008 CALL R3 3 + 0xB8122E00, // 0009 GETNGBL R4 K23 + 0x90100602, // 000A SETMBR R4 R3 R2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_lvh_page_init, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[58]) { /* code */ + 0xA40E2E00, // 0000 IMPORT R3 K23 + 0x90023002, // 0001 SETMBR R0 K24 R2 + 0x60100009, // 0002 GETGBL R4 G9 + 0x5C140200, // 0003 MOVE R5 R1 + 0x7C100200, // 0004 CALL R4 1 + 0x5C040800, // 0005 MOVE R1 R4 + 0x4C100000, // 0006 LDNIL R4 + 0x1C100204, // 0007 EQ R4 R1 R4 + 0x78120000, // 0008 JMPF R4 #000A + 0x58040010, // 0009 LDCONST R1 K16 + 0x90023201, // 000A SETMBR R0 K25 R1 + 0x60100013, // 000B GETGBL R4 G19 + 0x7C100000, // 000C CALL R4 0 + 0x90021204, // 000D SETMBR R0 K9 R4 + 0x1C10030D, // 000E EQ R4 R1 K13 + 0x78120004, // 000F JMPF R4 #0015 + 0xB8123400, // 0010 GETNGBL R4 K26 + 0x8C10091B, // 0011 GETMET R4 R4 K27 + 0x7C100200, // 0012 CALL R4 1 + 0x90022204, // 0013 SETMBR R0 K17 R4 + 0x7002000F, // 0014 JMP #0025 + 0xB8123400, // 0015 GETNGBL R4 K26 + 0x8C10091C, // 0016 GETMET R4 R4 K28 + 0x5818000D, // 0017 LDCONST R6 K13 + 0x7C100400, // 0018 CALL R4 2 + 0x90022204, // 0019 SETMBR R0 K17 R4 + 0xB8123400, // 001A GETNGBL R4 K26 + 0x8C10091D, // 001B GETMET R4 R4 K29 + 0x7C100200, // 001C CALL R4 1 + 0x8C10091E, // 001D GETMET R4 R4 K30 + 0x5818000D, // 001E LDCONST R6 K13 + 0x7C100400, // 001F CALL R4 2 + 0x88140111, // 0020 GETMBR R5 R0 K17 + 0x8C140B1F, // 0021 GETMET R5 R5 K31 + 0x5C1C0800, // 0022 MOVE R7 R4 + 0x5820000D, // 0023 LDCONST R8 K13 + 0x7C140600, // 0024 CALL R5 3 + 0x88100118, // 0025 GETMBR R4 R0 K24 + 0x88100920, // 0026 GETMBR R4 R4 K32 + 0x5C140800, // 0027 MOVE R5 R4 + 0x4C180000, // 0028 LDNIL R6 + 0x5C1C0000, // 0029 MOVE R7 R0 + 0x4C200000, // 002A LDNIL R8 + 0x88240111, // 002B GETMBR R9 R0 K17 + 0x7C140800, // 002C CALL R5 4 + 0x88180109, // 002D GETMBR R6 R0 K9 + 0x981A1A05, // 002E SETIDX R6 K13 R5 + 0x60180018, // 002F GETGBL R6 G24 + 0x581C0021, // 0030 LDCONST R7 K33 + 0x88200119, // 0031 GETMBR R8 R0 K25 + 0x7C180400, // 0032 CALL R6 2 + 0x900C0C00, // 0033 SETMBR R3 R6 R0 + 0x60180018, // 0034 GETGBL R6 G24 + 0x581C0022, // 0035 LDCONST R7 K34 + 0x88200119, // 0036 GETMBR R8 R0 K25 + 0x7C180400, // 0037 CALL R6 2 + 0x900C0C05, // 0038 SETMBR R3 R6 R5 + 0x80000000, // 0039 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: show +********************************************************************/ +be_local_closure(class_lvh_page_show, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 3), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(publish_rule), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x68080000, // 0002 GETUPV R2 U0 + 0x7C000400, // 0003 CALL R0 2 + 0x80040000, // 0004 RET 1 R0 + }) + ), + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 4), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(publish_rule), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x68080000, // 0002 GETUPV R2 U0 + 0x7C000400, // 0003 CALL R0 2 + 0x80040000, // 0004 RET 1 R0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(show), + &be_const_str_solidified, + ( &(const binstruction[73]) { /* code */ + 0x880C0111, // 0000 GETMBR R3 R0 K17 + 0x4C100000, // 0001 LDNIL R4 + 0x1C0C0604, // 0002 EQ R3 R3 R4 + 0x780E0001, // 0003 JMPF R3 #0006 + 0x4C0C0000, // 0004 LDNIL R3 + 0x80040600, // 0005 RET 1 R3 + 0x880C0111, // 0006 GETMBR R3 R0 K17 + 0x880C0723, // 0007 GETMBR R3 R3 K35 + 0xB8123400, // 0008 GETNGBL R4 K26 + 0x8C10091D, // 0009 GETMET R4 R4 K29 + 0x7C100200, // 000A CALL R4 1 + 0x88100923, // 000B GETMBR R4 R4 K35 + 0x1C0C0604, // 000C EQ R3 R3 R4 + 0x780E0000, // 000D JMPF R3 #000F + 0x80000600, // 000E RET 0 + 0x4C0C0000, // 000F LDNIL R3 + 0x1C0C0403, // 0010 EQ R3 R2 R3 + 0x780E0000, // 0011 JMPF R3 #0013 + 0x540A01F3, // 0012 LDINT R2 500 + 0x4C0C0000, // 0013 LDNIL R3 + 0x1C0C0203, // 0014 EQ R3 R1 R3 + 0x780E0005, // 0015 JMPF R3 #001C + 0x880C0118, // 0016 GETMBR R3 R0 K24 + 0x8C0C0724, // 0017 GETMET R3 R3 K36 + 0x8C140116, // 0018 GETMET R5 R0 K22 + 0x7C140200, // 0019 CALL R5 1 + 0x7C0C0400, // 001A CALL R3 2 + 0x5C040600, // 001B MOVE R1 R3 + 0x600C0018, // 001C GETGBL R3 G24 + 0x58100025, // 001D LDCONST R4 K37 + 0x88140118, // 001E GETMBR R5 R0 K24 + 0x88140B26, // 001F GETMBR R5 R5 K38 + 0x7C0C0400, // 0020 CALL R3 2 + 0xB8124E00, // 0021 GETNGBL R4 K39 + 0x8C100928, // 0022 GETMET R4 R4 K40 + 0x5818000D, // 0023 LDCONST R6 K13 + 0x841C0000, // 0024 CLOSURE R7 P0 + 0x7C100600, // 0025 CALL R4 3 + 0x60100018, // 0026 GETGBL R4 G24 + 0x58140029, // 0027 LDCONST R5 K41 + 0x88180119, // 0028 GETMBR R6 R0 K25 + 0x7C100400, // 0029 CALL R4 2 + 0xB8164E00, // 002A GETNGBL R5 K39 + 0x8C140B28, // 002B GETMET R5 R5 K40 + 0x581C000D, // 002C LDCONST R7 K13 + 0x84200001, // 002D CLOSURE R8 P1 + 0x7C140600, // 002E CALL R5 3 + 0x88140118, // 002F GETMBR R5 R0 K24 + 0x88180119, // 0030 GETMBR R6 R0 K25 + 0x90164C06, // 0031 SETMBR R5 K38 R6 + 0x1C14030D, // 0032 EQ R5 R1 K13 + 0x78160004, // 0033 JMPF R5 #0039 + 0xB8163400, // 0034 GETNGBL R5 K26 + 0x8C140B2A, // 0035 GETMET R5 R5 K42 + 0x881C0111, // 0036 GETMBR R7 R0 K17 + 0x7C140400, // 0037 CALL R5 2 + 0x7002000D, // 0038 JMP #0047 + 0x8814012B, // 0039 GETMBR R5 R0 K43 + 0x8C140B12, // 003A GETMET R5 R5 K18 + 0x5C1C0200, // 003B MOVE R7 R1 + 0xB8223400, // 003C GETNGBL R8 K26 + 0x8820112C, // 003D GETMBR R8 R8 K44 + 0x7C140600, // 003E CALL R5 3 + 0xB81A3400, // 003F GETNGBL R6 K26 + 0x8C180D2D, // 0040 GETMET R6 R6 K45 + 0x88200111, // 0041 GETMBR R8 R0 K17 + 0x5C240A00, // 0042 MOVE R9 R5 + 0x5C280400, // 0043 MOVE R10 R2 + 0x582C000D, // 0044 LDCONST R11 K13 + 0x50300000, // 0045 LDBOOL R12 0 0 + 0x7C180C00, // 0046 CALL R6 6 + 0xA0000000, // 0047 CLOSE R0 + 0x80000000, // 0048 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _delete +********************************************************************/ +be_local_closure(class_lvh_page__delete, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(_delete), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88040118, // 0000 GETMBR R1 R0 K24 + 0x8C04032E, // 0001 GETMET R1 R1 K46 + 0x880C0119, // 0002 GETMBR R3 R0 K25 + 0x7C040400, // 0003 CALL R1 2 + 0x8C040100, // 0004 GETMET R1 R0 K0 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: id +********************************************************************/ +be_local_closure(class_lvh_page_id, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_lvh_page, /* shared constants */ + be_str_weak(id), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040119, // 0000 GETMBR R1 R0 K25 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: lvh_page +********************************************************************/ +be_local_class(lvh_page, + 7, + NULL, + be_nested_map(20, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(show_anim, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(0, 3), be_const_int(0) }, + { be_const_key_int(1, -1), be_const_int(5) }, + { be_const_key_int(2, -1), be_const_int(8) }, + { be_const_key_int(-1, -1), be_const_int(6) }, + { be_const_key_int(-2, -1), be_const_int(7) }, + })) ) } )) }, + { be_const_key_weak(id, 3), be_const_closure(class_lvh_page_id_closure) }, + { be_const_key_weak(_obj_id, -1), be_const_var(0) }, + { be_const_key_weak(show, 18), be_const_closure(class_lvh_page_show_closure) }, + { be_const_key_weak(_lv_scr, 19), be_const_var(2) }, + { be_const_key_weak(get_clear, 2), be_const_closure(class_lvh_page_get_clear_closure) }, + { be_const_key_weak(back, -1), be_const_var(6) }, + { be_const_key_weak(get_delete, -1), be_const_closure(class_lvh_page_get_delete_closure) }, + { be_const_key_weak(remove_obj, 4), be_const_closure(class_lvh_page_remove_obj_closure) }, + { be_const_key_weak(_hm, -1), be_const_var(3) }, + { be_const_key_weak(_page_id, 8), be_const_var(1) }, + { be_const_key_weak(member, 10), be_const_closure(class_lvh_page_member_closure) }, + { be_const_key_weak(next, -1), be_const_var(5) }, + { be_const_key_weak(get_obj, -1), be_const_closure(class_lvh_page_get_obj_closure) }, + { be_const_key_weak(add_obj, -1), be_const_closure(class_lvh_page_add_obj_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lvh_page_init_closure) }, + { be_const_key_weak(prev, 0), be_const_var(4) }, + { be_const_key_weak(_delete, -1), be_const_closure(class_lvh_page__delete_closure) }, + { be_const_key_weak(get_scr, -1), be_const_closure(class_lvh_page_get_scr_closure) }, + { be_const_key_weak(_clear, -1), be_const_closure(class_lvh_page__clear_closure) }, + })), + be_str_weak(lvh_page) +); +extern const bclass be_class_HASPmota; +// compact class 'HASPmota' ktab size: 124, total: 197 (saved 584 bytes) +static const bvalue be_ktab_class_HASPmota[124] = { + /* K0 */ be_nested_str_weak(global), + /* K1 */ be_nested_str_weak(introspect), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(id), + /* K4 */ be_nested_str_weak(obj), + /* K5 */ be_nested_str_weak(get_page_cur_parsing), + /* K6 */ be_const_int(0), + /* K7 */ be_nested_str_weak(HSP_X3A_X20invalid_X20_X27id_X27_X3A_X20_X25s_X20for_X20_X27obj_X27_X3A_X20_X25s), + /* K8 */ be_nested_str_weak(get_obj), + /* K9 */ be_nested_str_weak(parentid), + /* K10 */ be_nested_str_weak(_lv_obj), + /* K11 */ be_nested_str_weak(get_scr), + /* K12 */ be_nested_str_weak(get), + /* K13 */ be_nested_str_weak(lvh_), + /* K14 */ be_nested_str_weak(class), + /* K15 */ be_nested_str_weak(lvh_obj), + /* K16 */ be_nested_str_weak(module), + /* K17 */ be_nested_str_weak(HSP_X3A_X20Cannot_X20find_X20object_X20of_X20type_X20_X25s), + /* K18 */ be_nested_str_weak(add_obj), + /* K19 */ be_nested_str_weak(HSP_X3A_X20cannot_X20specify_X20_X27obj_X27_X3A_X27_X25s_X27_X20for_X20_X27id_X27_X3A0), + /* K20 */ be_nested_str_weak(keys), + /* K21 */ be_nested_str_weak(stop_iteration), + /* K22 */ be_nested_str_weak(post_config), + /* K23 */ be_nested_str_weak(berry_run), + /* K24 */ be_nested_str_weak(nil), + /* K25 */ be_nested_str_weak(HSP_X3A_X20unable_X20to_X20compile_X20berry_X20code_X20_X22_X25s_X22_X20_X2D_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K26 */ be_nested_str_weak(function), + /* K27 */ be_nested_str_weak(HSP_X3A_X20unable_X20to_X20run_X20berry_X20code_X20_X22_X25s_X22_X20_X2D_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K28 */ be_nested_str_weak(get_page_cur), + /* K29 */ be_nested_str_weak(pages_list_sorted), + /* K30 */ be_nested_str_weak(lvh_page_cur_idx), + /* K31 */ be_const_int(1), + /* K32 */ be_nested_str_weak(prev), + /* K33 */ be_nested_str_weak(next), + /* K34 */ be_nested_str_weak(back), + /* K35 */ be_nested_str_weak(delete), + /* K36 */ be_nested_str_weak(re_page_target), + /* K37 */ be_nested_str_weak(match), + /* K38 */ be_nested_str_weak(lvh_pages), + /* K39 */ be_nested_str_weak(show), + /* K40 */ be_nested_str_weak(page_show), + /* K41 */ be_nested_str_weak(lvh_page_cur_idx_parsing), + /* K42 */ be_nested_str_weak(contains), + /* K43 */ be_nested_str_weak(remove), + /* K44 */ be_nested_str_weak(p_X25s), + /* K45 */ be_nested_str_weak(string), + /* K46 */ be_nested_str_weak(json), + /* K47 */ be_nested_str_weak(r), + /* K48 */ be_nested_str_weak(read), + /* K49 */ be_nested_str_weak(close), + /* K50 */ be_nested_str_weak(split), + /* K51 */ be_nested_str_weak(_X0A), + /* K52 */ be_nested_str_weak(load), + /* K53 */ be_nested_str_weak(instance), + /* K54 */ be_nested_str_weak(tasmota), + /* K55 */ be_nested_str_weak(loglevel), + /* K56 */ be_nested_str_weak(log), + /* K57 */ be_nested_str_weak(HSP_X3A_X20parsing_X20line_X20_X27_X25s_X27), + /* K58 */ be_nested_str_weak(parse_page), + /* K59 */ be_nested_str_weak(value_error), + /* K60 */ be_nested_str_weak(no_X20page_X20_X27id_X27_X20defined), + /* K61 */ be_nested_str_weak(parse_obj), + /* K62 */ be_nested_str_weak(tr), + /* K63 */ be_nested_str_weak(_X20_X09), + /* K64 */ be_nested_str_weak(), + /* K65 */ be_nested_str_weak(HSP_X3A_X20invalid_X20JSON_X20line_X20_X27_X25s_X27), + /* K66 */ be_const_int(2), + /* K67 */ be_nested_str_weak(no_X20page_X20object_X20defined), + /* K68 */ be_nested_str_weak(fix_lv_version), + /* K69 */ be_nested_str_weak(re), + /* K70 */ be_nested_str_weak(compile), + /* K71 */ be_nested_str_weak(p_X5Cd_X2B), + /* K72 */ be_nested_str_weak(has), + /* K73 */ be_nested_str_weak(page), + /* K74 */ be_nested_str_weak(int), + /* K75 */ be_nested_str_weak(lvh_page), + /* K76 */ be_nested_str_weak(unable_X20to_X20parse_X20JSON_X20line), + /* K77 */ be_nested_str_weak(path), + /* K78 */ be_nested_str_weak(def_templ_name), + /* K79 */ be_nested_str_weak(exists), + /* K80 */ be_nested_str_weak(file_X20_X27), + /* K81 */ be_nested_str_weak(_X27_X20not_X20found), + /* K82 */ be_nested_str_weak(io_erorr), + /* K83 */ be_nested_str_weak(lv), + /* K84 */ be_nested_str_weak(start), + /* K85 */ be_nested_str_weak(dark), + /* K86 */ be_nested_str_weak(hres), + /* K87 */ be_nested_str_weak(get_hor_res), + /* K88 */ be_nested_str_weak(vres), + /* K89 */ be_nested_str_weak(get_ver_res), + /* K90 */ be_nested_str_weak(scr), + /* K91 */ be_nested_str_weak(scr_act), + /* K92 */ be_nested_str_weak(r16), + /* K93 */ be_nested_str_weak(font_embedded), + /* K94 */ be_nested_str_weak(robotocondensed), + /* K95 */ be_nested_str_weak(montserrat), + /* K96 */ be_nested_str_weak(theme_haspmota_init), + /* K97 */ be_nested_str_weak(color), + /* K98 */ be_const_int(16711935), + /* K99 */ be_const_int(3158064), + /* K100 */ be_nested_str_weak(get_disp), + /* K101 */ be_nested_str_weak(set_theme), + /* K102 */ be_nested_str_weak(set_style_bg_color), + /* K103 */ be_const_int(16777215), + /* K104 */ be_nested_str_weak(theme_apply), + /* K105 */ be_nested_str_weak(layer_top), + /* K106 */ be_nested_str_weak(set_style_bg_opa), + /* K107 */ be_nested_str_weak(_load), + /* K108 */ be_const_class(be_class_HASPmota), + /* K109 */ be_nested_str_weak(EVENT_CLICKED), + /* K110 */ be_nested_str_weak(_action), + /* K111 */ be_nested_str_weak(toptr), + /* K112 */ be_nested_str_weak(event), + /* K113 */ be_nested_str_weak(_p), + /* K114 */ be_nested_str_weak(lv_event), + /* K115 */ be_nested_str_weak(get_user_data), + /* K116 */ be_nested_str_weak(fromptr), + /* K117 */ be_nested_str_weak(event_cb), + /* K118 */ be_nested_str_weak(cb), + /* K119 */ be_nested_str_weak(gen_cb), + /* K120 */ be_nested_str_weak(add_event_cb), + /* K121 */ be_nested_str_weak(version), + /* K122 */ be_nested_str_weak(push), + /* K123 */ be_nested_str_weak(sort), +}; + + +extern const bclass be_class_HASPmota; + +/******************************************************************** +** Solidified function: parse_obj +********************************************************************/ +be_local_closure(class_HASPmota_parse_obj, /* name */ + be_nested_proto( + 20, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(parse_obj), + &be_const_str_solidified, + ( &(const binstruction[239]) { /* code */ + 0xA40E0000, // 0000 IMPORT R3 K0 + 0xA4120200, // 0001 IMPORT R4 K1 + 0x60140009, // 0002 GETGBL R5 G9 + 0x8C180302, // 0003 GETMET R6 R1 K2 + 0x58200003, // 0004 LDCONST R8 K3 + 0x7C180400, // 0005 CALL R6 2 + 0x7C140200, // 0006 CALL R5 1 + 0x8C180302, // 0007 GETMET R6 R1 K2 + 0x58200004, // 0008 LDCONST R8 K4 + 0x7C180400, // 0009 CALL R6 2 + 0x4C1C0000, // 000A LDNIL R7 + 0x201C0C07, // 000B NE R7 R6 R7 + 0x781E0003, // 000C JMPF R7 #0011 + 0x601C0008, // 000D GETGBL R7 G8 + 0x5C200C00, // 000E MOVE R8 R6 + 0x7C1C0200, // 000F CALL R7 1 + 0x70020000, // 0010 JMP #0012 + 0x4C1C0000, // 0011 LDNIL R7 + 0x5C180E00, // 0012 MOVE R6 R7 + 0x8C1C0105, // 0013 GETMET R7 R0 K5 + 0x7C1C0200, // 0014 CALL R7 1 + 0x4C200000, // 0015 LDNIL R8 + 0x20200A08, // 0016 NE R8 R5 R8 + 0x78220011, // 0017 JMPF R8 #002A + 0x14200B06, // 0018 LT R8 R5 K6 + 0x74220002, // 0019 JMPT R8 #001D + 0x542200FD, // 001A LDINT R8 254 + 0x24200A08, // 001B GT R8 R5 R8 + 0x7822000C, // 001C JMPF R8 #002A + 0x20200B06, // 001D NE R8 R5 K6 + 0x74220002, // 001E JMPT R8 #0022 + 0x4C200000, // 001F LDNIL R8 + 0x1C200C08, // 0020 EQ R8 R6 R8 + 0x78220007, // 0021 JMPF R8 #002A + 0x60200001, // 0022 GETGBL R8 G1 + 0x60240018, // 0023 GETGBL R9 G24 + 0x58280007, // 0024 LDCONST R10 K7 + 0x5C2C0A00, // 0025 MOVE R11 R5 + 0x5C300C00, // 0026 MOVE R12 R6 + 0x7C240600, // 0027 CALL R9 3 + 0x7C200200, // 0028 CALL R8 1 + 0x80001000, // 0029 RET 0 + 0x8C200F08, // 002A GETMET R8 R7 K8 + 0x5C280A00, // 002B MOVE R10 R5 + 0x7C200400, // 002C CALL R8 2 + 0x4C240000, // 002D LDNIL R9 + 0x20240C09, // 002E NE R9 R6 R9 + 0x7826005F, // 002F JMPF R9 #0090 + 0x4C240000, // 0030 LDNIL R9 + 0x20240A09, // 0031 NE R9 R5 R9 + 0x7826005C, // 0032 JMPF R9 #0090 + 0x4C240000, // 0033 LDNIL R9 + 0x1C241009, // 0034 EQ R9 R8 R9 + 0x78260059, // 0035 JMPF R9 #0090 + 0x60240009, // 0036 GETGBL R9 G9 + 0x8C280302, // 0037 GETMET R10 R1 K2 + 0x58300009, // 0038 LDCONST R12 K9 + 0x7C280400, // 0039 CALL R10 2 + 0x7C240200, // 003A CALL R9 1 + 0x4C280000, // 003B LDNIL R10 + 0x4C2C0000, // 003C LDNIL R11 + 0x4C300000, // 003D LDNIL R12 + 0x2030120C, // 003E NE R12 R9 R12 + 0x78320007, // 003F JMPF R12 #0048 + 0x8C300F08, // 0040 GETMET R12 R7 K8 + 0x5C381200, // 0041 MOVE R14 R9 + 0x7C300400, // 0042 CALL R12 2 + 0x5C281800, // 0043 MOVE R10 R12 + 0x4C300000, // 0044 LDNIL R12 + 0x2030140C, // 0045 NE R12 R10 R12 + 0x78320000, // 0046 JMPF R12 #0048 + 0x882C150A, // 0047 GETMBR R11 R10 K10 + 0x4C300000, // 0048 LDNIL R12 + 0x1C30160C, // 0049 EQ R12 R11 R12 + 0x78320002, // 004A JMPF R12 #004E + 0x8C300F0B, // 004B GETMET R12 R7 K11 + 0x7C300200, // 004C CALL R12 1 + 0x5C2C1800, // 004D MOVE R11 R12 + 0x8C30090C, // 004E GETMET R12 R4 K12 + 0x5C380000, // 004F MOVE R14 R0 + 0x003E1A06, // 0050 ADD R15 K13 R6 + 0x7C300600, // 0051 CALL R12 3 + 0x4C340000, // 0052 LDNIL R13 + 0x4C380000, // 0053 LDNIL R14 + 0x1C38180E, // 0054 EQ R14 R12 R14 + 0x783A0010, // 0055 JMPF R14 #0067 + 0x8C38090C, // 0056 GETMET R14 R4 K12 + 0x5C400600, // 0057 MOVE R16 R3 + 0x5C440C00, // 0058 MOVE R17 R6 + 0x7C380600, // 0059 CALL R14 3 + 0x4C3C0000, // 005A LDNIL R15 + 0x203C1C0F, // 005B NE R15 R14 R15 + 0x783E0009, // 005C JMPF R15 #0067 + 0x603C0004, // 005D GETGBL R15 G4 + 0x5C401C00, // 005E MOVE R16 R14 + 0x7C3C0200, // 005F CALL R15 1 + 0x1C3C1F0E, // 0060 EQ R15 R15 K14 + 0x783E0004, // 0061 JMPF R15 #0067 + 0x5C3C1C00, // 0062 MOVE R15 R14 + 0x5C401600, // 0063 MOVE R16 R11 + 0x7C3C0200, // 0064 CALL R15 1 + 0x5C341E00, // 0065 MOVE R13 R15 + 0x8830010F, // 0066 GETMBR R12 R0 K15 + 0x4C380000, // 0067 LDNIL R14 + 0x1C38180E, // 0068 EQ R14 R12 R14 + 0x783A000F, // 0069 JMPF R14 #007A + 0x8C380910, // 006A GETMET R14 R4 K16 + 0x5C400C00, // 006B MOVE R16 R6 + 0x7C380400, // 006C CALL R14 2 + 0x4C3C0000, // 006D LDNIL R15 + 0x203C1C0F, // 006E NE R15 R14 R15 + 0x783E0009, // 006F JMPF R15 #007A + 0x603C0004, // 0070 GETGBL R15 G4 + 0x5C401C00, // 0071 MOVE R16 R14 + 0x7C3C0200, // 0072 CALL R15 1 + 0x1C3C1F0E, // 0073 EQ R15 R15 K14 + 0x783E0004, // 0074 JMPF R15 #007A + 0x5C3C1C00, // 0075 MOVE R15 R14 + 0x5C401600, // 0076 MOVE R16 R11 + 0x7C3C0200, // 0077 CALL R15 1 + 0x5C341E00, // 0078 MOVE R13 R15 + 0x8830010F, // 0079 GETMBR R12 R0 K15 + 0x4C380000, // 007A LDNIL R14 + 0x1C38180E, // 007B EQ R14 R12 R14 + 0x783A0006, // 007C JMPF R14 #0084 + 0x60380001, // 007D GETGBL R14 G1 + 0x603C0018, // 007E GETGBL R15 G24 + 0x58400011, // 007F LDCONST R16 K17 + 0x5C440C00, // 0080 MOVE R17 R6 + 0x7C3C0400, // 0081 CALL R15 2 + 0x7C380200, // 0082 CALL R14 1 + 0x80001C00, // 0083 RET 0 + 0x5C381800, // 0084 MOVE R14 R12 + 0x5C3C1600, // 0085 MOVE R15 R11 + 0x5C400400, // 0086 MOVE R16 R2 + 0x5C440200, // 0087 MOVE R17 R1 + 0x5C481A00, // 0088 MOVE R18 R13 + 0x5C4C1400, // 0089 MOVE R19 R10 + 0x7C380A00, // 008A CALL R14 5 + 0x5C201C00, // 008B MOVE R8 R14 + 0x8C380F12, // 008C GETMET R14 R7 K18 + 0x5C400A00, // 008D MOVE R16 R5 + 0x5C441000, // 008E MOVE R17 R8 + 0x7C380600, // 008F CALL R14 3 + 0x1C240B06, // 0090 EQ R9 R5 K6 + 0x7826000F, // 0091 JMPF R9 #00A2 + 0x4C240000, // 0092 LDNIL R9 + 0x20240C09, // 0093 NE R9 R6 R9 + 0x78260006, // 0094 JMPF R9 #009C + 0x60240001, // 0095 GETGBL R9 G1 + 0x60280018, // 0096 GETGBL R10 G24 + 0x582C0013, // 0097 LDCONST R11 K19 + 0x5C300C00, // 0098 MOVE R12 R6 + 0x7C280400, // 0099 CALL R10 2 + 0x7C240200, // 009A CALL R9 1 + 0x80001200, // 009B RET 0 + 0x8C240105, // 009C GETMET R9 R0 K5 + 0x7C240200, // 009D CALL R9 1 + 0x8C241308, // 009E GETMET R9 R9 K8 + 0x582C0006, // 009F LDCONST R11 K6 + 0x7C240400, // 00A0 CALL R9 2 + 0x5C201200, // 00A1 MOVE R8 R9 + 0x4C240000, // 00A2 LDNIL R9 + 0x20241009, // 00A3 NE R9 R8 R9 + 0x7826000C, // 00A4 JMPF R9 #00B2 + 0x60240010, // 00A5 GETGBL R9 G16 + 0x8C280314, // 00A6 GETMET R10 R1 K20 + 0x7C280200, // 00A7 CALL R10 1 + 0x7C240200, // 00A8 CALL R9 1 + 0xA8020004, // 00A9 EXBLK 0 #00AF + 0x5C281200, // 00AA MOVE R10 R9 + 0x7C280000, // 00AB CALL R10 0 + 0x942C020A, // 00AC GETIDX R11 R1 R10 + 0x9020140B, // 00AD SETMBR R8 R10 R11 + 0x7001FFFA, // 00AE JMP #00AA + 0x58240015, // 00AF LDCONST R9 K21 + 0xAC240200, // 00B0 CATCH R9 1 0 + 0xB0080000, // 00B1 RAISE 2 R0 R0 + 0x4C240000, // 00B2 LDNIL R9 + 0x20241009, // 00B3 NE R9 R8 R9 + 0x78260001, // 00B4 JMPF R9 #00B7 + 0x8C241116, // 00B5 GETMET R9 R8 K22 + 0x7C240200, // 00B6 CALL R9 1 + 0x4C240000, // 00B7 LDNIL R9 + 0x60280008, // 00B8 GETGBL R10 G8 + 0x8C2C0302, // 00B9 GETMET R11 R1 K2 + 0x58340017, // 00BA LDCONST R13 K23 + 0x7C2C0400, // 00BB CALL R11 2 + 0x7C280200, // 00BC CALL R10 1 + 0x202C1518, // 00BD NE R11 R10 K24 + 0x782E0012, // 00BE JMPF R11 #00D2 + 0xA8020005, // 00BF EXBLK 0 #00C6 + 0x602C000D, // 00C0 GETGBL R11 G13 + 0x5C301400, // 00C1 MOVE R12 R10 + 0x7C2C0200, // 00C2 CALL R11 1 + 0x5C241600, // 00C3 MOVE R9 R11 + 0xA8040001, // 00C4 EXBLK 1 1 + 0x7002000B, // 00C5 JMP #00D2 + 0xAC2C0002, // 00C6 CATCH R11 0 2 + 0x70020008, // 00C7 JMP #00D1 + 0x60340001, // 00C8 GETGBL R13 G1 + 0x60380018, // 00C9 GETGBL R14 G24 + 0x583C0019, // 00CA LDCONST R15 K25 + 0x5C401400, // 00CB MOVE R16 R10 + 0x5C441600, // 00CC MOVE R17 R11 + 0x5C481800, // 00CD MOVE R18 R12 + 0x7C380800, // 00CE CALL R14 4 + 0x7C340200, // 00CF CALL R13 1 + 0x70020000, // 00D0 JMP #00D2 + 0xB0080000, // 00D1 RAISE 2 R0 R0 + 0x4C2C0000, // 00D2 LDNIL R11 + 0x202C120B, // 00D3 NE R11 R9 R11 + 0x782E0018, // 00D4 JMPF R11 #00EE + 0xA802000B, // 00D5 EXBLK 0 #00E2 + 0x5C2C1200, // 00D6 MOVE R11 R9 + 0x7C2C0000, // 00D7 CALL R11 0 + 0x60300004, // 00D8 GETGBL R12 G4 + 0x5C341600, // 00D9 MOVE R13 R11 + 0x7C300200, // 00DA CALL R12 1 + 0x1C30191A, // 00DB EQ R12 R12 K26 + 0x78320002, // 00DC JMPF R12 #00E0 + 0x5C301600, // 00DD MOVE R12 R11 + 0x5C341000, // 00DE MOVE R13 R8 + 0x7C300200, // 00DF CALL R12 1 + 0xA8040001, // 00E0 EXBLK 1 1 + 0x7002000B, // 00E1 JMP #00EE + 0xAC2C0002, // 00E2 CATCH R11 0 2 + 0x70020008, // 00E3 JMP #00ED + 0x60340001, // 00E4 GETGBL R13 G1 + 0x60380018, // 00E5 GETGBL R14 G24 + 0x583C001B, // 00E6 LDCONST R15 K27 + 0x5C401400, // 00E7 MOVE R16 R10 + 0x5C441600, // 00E8 MOVE R17 R11 + 0x5C481800, // 00E9 MOVE R18 R12 + 0x7C380800, // 00EA CALL R14 4 + 0x7C340200, // 00EB CALL R13 1 + 0x70020000, // 00EC JMP #00EE + 0xB0080000, // 00ED RAISE 2 R0 R0 + 0x80000000, // 00EE RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_show +********************************************************************/ +be_local_closure(class_HASPmota_page_show, /* name */ + be_nested_proto( + 13, /* nstack */ + 4, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(find), + }), + be_str_weak(to_page_resolve), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0003, // 0001 NE R3 R0 R3 + 0x780E0007, // 0002 JMPF R3 #000B + 0x8C0C0500, // 0003 GETMET R3 R2 K0 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x200C0604, // 0007 NE R3 R3 R4 + 0x780E0001, // 0008 JMPF R3 #000B + 0x80040000, // 0009 RET 1 R0 + 0x70020000, // 000A JMP #000C + 0x80040200, // 000B RET 1 R1 + 0x80000000, // 000C RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(page_show), + &be_const_str_solidified, + ( &(const binstruction[108]) { /* code */ + 0x84100000, // 0000 CLOSURE R4 P0 + 0x4C140000, // 0001 LDNIL R5 + 0x8C18011C, // 0002 GETMET R6 R0 K28 + 0x7C180200, // 0003 CALL R6 1 + 0x8C1C011D, // 0004 GETMET R7 R0 K29 + 0x8824011E, // 0005 GETMBR R9 R0 K30 + 0x7C1C0400, // 0006 CALL R7 2 + 0x6020000C, // 0007 GETGBL R8 G12 + 0x5C240E00, // 0008 MOVE R9 R7 + 0x7C200200, // 0009 CALL R8 1 + 0x1820111F, // 000A LE R8 R8 K31 + 0x78220001, // 000B JMPF R8 #000E + 0x4C200000, // 000C LDNIL R8 + 0x80041000, // 000D RET 1 R8 + 0x1C200320, // 000E EQ R8 R1 K32 + 0x78220009, // 000F JMPF R8 #001A + 0x5C200800, // 0010 MOVE R8 R4 + 0x60240009, // 0011 GETGBL R9 G9 + 0x88280D20, // 0012 GETMBR R10 R6 K32 + 0x7C240200, // 0013 CALL R9 1 + 0x5429FFFE, // 0014 LDINT R10 -1 + 0x94280E0A, // 0015 GETIDX R10 R7 R10 + 0x5C2C0E00, // 0016 MOVE R11 R7 + 0x7C200600, // 0017 CALL R8 3 + 0x5C141000, // 0018 MOVE R5 R8 + 0x70020041, // 0019 JMP #005C + 0x1C200321, // 001A EQ R8 R1 K33 + 0x78220008, // 001B JMPF R8 #0025 + 0x5C200800, // 001C MOVE R8 R4 + 0x60240009, // 001D GETGBL R9 G9 + 0x88280D21, // 001E GETMBR R10 R6 K33 + 0x7C240200, // 001F CALL R9 1 + 0x94280F1F, // 0020 GETIDX R10 R7 K31 + 0x5C2C0E00, // 0021 MOVE R11 R7 + 0x7C200600, // 0022 CALL R8 3 + 0x5C141000, // 0023 MOVE R5 R8 + 0x70020036, // 0024 JMP #005C + 0x1C200322, // 0025 EQ R8 R1 K34 + 0x7822000B, // 0026 JMPF R8 #0033 + 0x5C200800, // 0027 MOVE R8 R4 + 0x60240009, // 0028 GETGBL R9 G9 + 0x88280D22, // 0029 GETMBR R10 R6 K34 + 0x7C240200, // 002A CALL R9 1 + 0x8C28011D, // 002B GETMET R10 R0 K29 + 0x4C300000, // 002C LDNIL R12 + 0x7C280400, // 002D CALL R10 2 + 0x94281506, // 002E GETIDX R10 R10 K6 + 0x5C2C0E00, // 002F MOVE R11 R7 + 0x7C200600, // 0030 CALL R8 3 + 0x5C141000, // 0031 MOVE R5 R8 + 0x70020028, // 0032 JMP #005C + 0x1C200323, // 0033 EQ R8 R1 K35 + 0x78220017, // 0034 JMPF R8 #004D + 0x5C200800, // 0035 MOVE R8 R4 + 0x60240009, // 0036 GETGBL R9 G9 + 0x88280D22, // 0037 GETMBR R10 R6 K34 + 0x7C240200, // 0038 CALL R9 1 + 0x8C28011D, // 0039 GETMET R10 R0 K29 + 0x4C300000, // 003A LDNIL R12 + 0x7C280400, // 003B CALL R10 2 + 0x94281506, // 003C GETIDX R10 R10 K6 + 0x5C2C0E00, // 003D MOVE R11 R7 + 0x7C200600, // 003E CALL R8 3 + 0x5C141000, // 003F MOVE R5 R8 + 0x8C200D03, // 0040 GETMET R8 R6 K3 + 0x7C200200, // 0041 CALL R8 1 + 0x1C200A08, // 0042 EQ R8 R5 R8 + 0x78220007, // 0043 JMPF R8 #004C + 0x5C200800, // 0044 MOVE R8 R4 + 0x60240009, // 0045 GETGBL R9 G9 + 0x88280D21, // 0046 GETMBR R10 R6 K33 + 0x7C240200, // 0047 CALL R9 1 + 0x94280F1F, // 0048 GETIDX R10 R7 K31 + 0x5C2C0E00, // 0049 MOVE R11 R7 + 0x7C200600, // 004A CALL R8 3 + 0x5C141000, // 004B MOVE R5 R8 + 0x7002000E, // 004C JMP #005C + 0x88200124, // 004D GETMBR R8 R0 K36 + 0x8C201125, // 004E GETMET R8 R8 K37 + 0x5C280200, // 004F MOVE R10 R1 + 0x7C200400, // 0050 CALL R8 2 + 0x78220009, // 0051 JMPF R8 #005C + 0x5C200800, // 0052 MOVE R8 R4 + 0x60240009, // 0053 GETGBL R9 G9 + 0x5429FFFE, // 0054 LDINT R10 -1 + 0x402A3E0A, // 0055 CONNECT R10 K31 R10 + 0x9428020A, // 0056 GETIDX R10 R1 R10 + 0x7C240200, // 0057 CALL R9 1 + 0x4C280000, // 0058 LDNIL R10 + 0x5C2C0E00, // 0059 MOVE R11 R7 + 0x7C200600, // 005A CALL R8 3 + 0x5C141000, // 005B MOVE R5 R8 + 0x4C200000, // 005C LDNIL R8 + 0x20200A08, // 005D NE R8 R5 R8 + 0x7822000B, // 005E JMPF R8 #006B + 0x24200B06, // 005F GT R8 R5 K6 + 0x78220009, // 0060 JMPF R8 #006B + 0x88200126, // 0061 GETMBR R8 R0 K38 + 0x94201005, // 0062 GETIDX R8 R8 R5 + 0x4C240000, // 0063 LDNIL R9 + 0x20241009, // 0064 NE R9 R8 R9 + 0x78260003, // 0065 JMPF R9 #006A + 0x8C241127, // 0066 GETMET R9 R8 K39 + 0x5C2C0400, // 0067 MOVE R11 R2 + 0x5C300600, // 0068 MOVE R12 R3 + 0x7C240600, // 0069 CALL R9 3 + 0x80041000, // 006A RET 1 R8 + 0x80000000, // 006B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _remove_page +********************************************************************/ +be_local_closure(class_HASPmota__remove_page, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(_remove_page), + &be_const_str_solidified, + ( &(const binstruction[37]) { /* code */ + 0x8C08011C, // 0000 GETMET R2 R0 K28 + 0x7C080200, // 0001 CALL R2 1 + 0x8C080503, // 0002 GETMET R2 R2 K3 + 0x7C080200, // 0003 CALL R2 1 + 0x1C0C0202, // 0004 EQ R3 R1 R2 + 0x780E0008, // 0005 JMPF R3 #000F + 0x8C0C0128, // 0006 GETMET R3 R0 K40 + 0x58140023, // 0007 LDCONST R5 K35 + 0x58180006, // 0008 LDCONST R6 K6 + 0x581C0006, // 0009 LDCONST R7 K6 + 0x7C0C0800, // 000A CALL R3 4 + 0x4C100000, // 000B LDNIL R4 + 0x1C100604, // 000C EQ R4 R3 R4 + 0x78120000, // 000D JMPF R4 #000F + 0x80000800, // 000E RET 0 + 0x880C0129, // 000F GETMBR R3 R0 K41 + 0x1C0C0601, // 0010 EQ R3 R3 R1 + 0x780E0001, // 0011 JMPF R3 #0014 + 0x880C011E, // 0012 GETMBR R3 R0 K30 + 0x90025203, // 0013 SETMBR R0 K41 R3 + 0x880C0126, // 0014 GETMBR R3 R0 K38 + 0x8C0C072A, // 0015 GETMET R3 R3 K42 + 0x5C140200, // 0016 MOVE R5 R1 + 0x7C0C0400, // 0017 CALL R3 2 + 0x780E0003, // 0018 JMPF R3 #001D + 0x880C0126, // 0019 GETMBR R3 R0 K38 + 0x8C0C072B, // 001A GETMET R3 R3 K43 + 0x5C140200, // 001B MOVE R5 R1 + 0x7C0C0400, // 001C CALL R3 2 + 0x600C0018, // 001D GETGBL R3 G24 + 0x5810002C, // 001E LDCONST R4 K44 + 0x5C140200, // 001F MOVE R5 R1 + 0x7C0C0400, // 0020 CALL R3 2 + 0xB8120000, // 0021 GETNGBL R4 K0 + 0x4C140000, // 0022 LDNIL R5 + 0x90100605, // 0023 SETMBR R4 R3 R5 + 0x80000000, // 0024 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_page_cur_parsing +********************************************************************/ +be_local_closure(class_HASPmota_get_page_cur_parsing, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(get_page_cur_parsing), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x88080129, // 0001 GETMBR R2 R0 K41 + 0x94040202, // 0002 GETIDX R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _load +********************************************************************/ +be_local_closure(class_HASPmota__load, /* name */ + be_nested_proto( + 14, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(_load), + &be_const_str_solidified, + ( &(const binstruction[99]) { /* code */ + 0xA40A5A00, // 0000 IMPORT R2 K45 + 0xA40E5C00, // 0001 IMPORT R3 K46 + 0x60100011, // 0002 GETGBL R4 G17 + 0x5C140200, // 0003 MOVE R5 R1 + 0x5818002F, // 0004 LDCONST R6 K47 + 0x7C100400, // 0005 CALL R4 2 + 0x8C140930, // 0006 GETMET R5 R4 K48 + 0x7C140200, // 0007 CALL R5 1 + 0x8C180931, // 0008 GETMET R6 R4 K49 + 0x7C180200, // 0009 CALL R6 1 + 0x8C180532, // 000A GETMET R6 R2 K50 + 0x5C200A00, // 000B MOVE R8 R5 + 0x58240033, // 000C LDCONST R9 K51 + 0x7C180600, // 000D CALL R6 3 + 0x4C100000, // 000E LDNIL R4 + 0x4C140000, // 000F LDNIL R5 + 0x601C000C, // 0010 GETGBL R7 G12 + 0x5C200C00, // 0011 MOVE R8 R6 + 0x7C1C0200, // 0012 CALL R7 1 + 0x241C0F06, // 0013 GT R7 R7 K6 + 0x781E0039, // 0014 JMPF R7 #004F + 0x8C1C0734, // 0015 GETMET R7 R3 K52 + 0x94240D06, // 0016 GETIDX R9 R6 K6 + 0x7C1C0400, // 0017 CALL R7 2 + 0x60200004, // 0018 GETGBL R8 G4 + 0x5C240E00, // 0019 MOVE R9 R7 + 0x7C200200, // 001A CALL R8 1 + 0x1C201135, // 001B EQ R8 R8 K53 + 0x7822001B, // 001C JMPF R8 #0039 + 0xB8226C00, // 001D GETNGBL R8 K54 + 0x8C201137, // 001E GETMET R8 R8 K55 + 0x542A0003, // 001F LDINT R10 4 + 0x7C200400, // 0020 CALL R8 2 + 0x78220007, // 0021 JMPF R8 #002A + 0xB8226C00, // 0022 GETNGBL R8 K54 + 0x8C201138, // 0023 GETMET R8 R8 K56 + 0x60280018, // 0024 GETGBL R10 G24 + 0x582C0039, // 0025 LDCONST R11 K57 + 0x94300D06, // 0026 GETIDX R12 R6 K6 + 0x7C280400, // 0027 CALL R10 2 + 0x542E0003, // 0028 LDINT R11 4 + 0x7C200600, // 0029 CALL R8 3 + 0x8C20013A, // 002A GETMET R8 R0 K58 + 0x5C280E00, // 002B MOVE R10 R7 + 0x7C200400, // 002C CALL R8 2 + 0x88200126, // 002D GETMBR R8 R0 K38 + 0x4C240000, // 002E LDNIL R9 + 0x1C201009, // 002F EQ R8 R8 R9 + 0x78220000, // 0030 JMPF R8 #0032 + 0xB006773C, // 0031 RAISE 1 K59 K60 + 0x8C20013D, // 0032 GETMET R8 R0 K61 + 0x5C280E00, // 0033 MOVE R10 R7 + 0x882C0126, // 0034 GETMBR R11 R0 K38 + 0x88300129, // 0035 GETMBR R12 R0 K41 + 0x942C160C, // 0036 GETIDX R11 R11 R12 + 0x7C200600, // 0037 CALL R8 3 + 0x70020010, // 0038 JMP #004A + 0x6020000C, // 0039 GETGBL R8 G12 + 0x8C24053E, // 003A GETMET R9 R2 K62 + 0x942C0D06, // 003B GETIDX R11 R6 K6 + 0x5830003F, // 003C LDCONST R12 K63 + 0x58340040, // 003D LDCONST R13 K64 + 0x7C240800, // 003E CALL R9 4 + 0x7C200200, // 003F CALL R8 1 + 0x24201106, // 0040 GT R8 R8 K6 + 0x78220007, // 0041 JMPF R8 #004A + 0xB8226C00, // 0042 GETNGBL R8 K54 + 0x8C201138, // 0043 GETMET R8 R8 K56 + 0x60280018, // 0044 GETGBL R10 G24 + 0x582C0041, // 0045 LDCONST R11 K65 + 0x94300D06, // 0046 GETIDX R12 R6 K6 + 0x7C280400, // 0047 CALL R10 2 + 0x582C0042, // 0048 LDCONST R11 K66 + 0x7C200600, // 0049 CALL R8 3 + 0x4C1C0000, // 004A LDNIL R7 + 0x8C200D2B, // 004B GETMET R8 R6 K43 + 0x58280006, // 004C LDCONST R10 K6 + 0x7C200400, // 004D CALL R8 2 + 0x7001FFC0, // 004E JMP #0010 + 0x4C180000, // 004F LDNIL R6 + 0x8C1C011D, // 0050 GETMET R7 R0 K29 + 0x4C240000, // 0051 LDNIL R9 + 0x7C1C0400, // 0052 CALL R7 2 + 0x6020000C, // 0053 GETGBL R8 G12 + 0x5C240E00, // 0054 MOVE R9 R7 + 0x7C200200, // 0055 CALL R8 1 + 0x1C201106, // 0056 EQ R8 R8 K6 + 0x78220000, // 0057 JMPF R8 #0059 + 0xB0067743, // 0058 RAISE 1 K59 K67 + 0x94200F06, // 0059 GETIDX R8 R7 K6 + 0x90023C08, // 005A SETMBR R0 K30 R8 + 0x88200126, // 005B GETMBR R8 R0 K38 + 0x8824011E, // 005C GETMBR R9 R0 K30 + 0x94201009, // 005D GETIDX R8 R8 R9 + 0x8C201127, // 005E GETMET R8 R8 K39 + 0x58280006, // 005F LDCONST R10 K6 + 0x582C0006, // 0060 LDCONST R11 K6 + 0x7C200600, // 0061 CALL R8 3 + 0x80000000, // 0062 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(class_HASPmota_init, /* name */ + be_nested_proto( + 5, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x8C040144, // 0000 GETMET R1 R0 K68 + 0x7C040200, // 0001 CALL R1 1 + 0xA4068A00, // 0002 IMPORT R1 K69 + 0x8C080346, // 0003 GETMET R2 R1 K70 + 0x58100047, // 0004 LDCONST R4 K71 + 0x7C080400, // 0005 CALL R2 2 + 0x90024802, // 0006 SETMBR R0 K36 R2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_page +********************************************************************/ +be_local_closure(class_HASPmota_parse_page, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(parse_page), + &be_const_str_solidified, + ( &(const binstruction[59]) { /* code */ + 0x8C080348, // 0000 GETMET R2 R1 K72 + 0x58100049, // 0001 LDCONST R4 K73 + 0x7C080400, // 0002 CALL R2 2 + 0x780A0035, // 0003 JMPF R2 #003A + 0x60080004, // 0004 GETGBL R2 G4 + 0x940C0349, // 0005 GETIDX R3 R1 K73 + 0x7C080200, // 0006 CALL R2 1 + 0x1C08054A, // 0007 EQ R2 R2 K74 + 0x780A0030, // 0008 JMPF R2 #003A + 0x60080009, // 0009 GETGBL R2 G9 + 0x940C0349, // 000A GETIDX R3 R1 K73 + 0x7C080200, // 000B CALL R2 1 + 0x90025202, // 000C SETMBR R0 K41 R2 + 0x880C011E, // 000D GETMBR R3 R0 K30 + 0x4C100000, // 000E LDNIL R4 + 0x1C0C0604, // 000F EQ R3 R3 R4 + 0x780E0000, // 0010 JMPF R3 #0012 + 0x90023C02, // 0011 SETMBR R0 K30 R2 + 0x880C0126, // 0012 GETMBR R3 R0 K38 + 0x8C0C072A, // 0013 GETMET R3 R3 K42 + 0x5C140400, // 0014 MOVE R5 R2 + 0x7C0C0400, // 0015 CALL R3 2 + 0x740E0006, // 0016 JMPT R3 #001E + 0x880C014B, // 0017 GETMBR R3 R0 K75 + 0x88100126, // 0018 GETMBR R4 R0 K38 + 0x5C140600, // 0019 MOVE R5 R3 + 0x5C180400, // 001A MOVE R6 R2 + 0x5C1C0000, // 001B MOVE R7 R0 + 0x7C140400, // 001C CALL R5 2 + 0x98100405, // 001D SETIDX R4 R2 R5 + 0x8C0C0302, // 001E GETMET R3 R1 K2 + 0x58140003, // 001F LDCONST R5 K3 + 0x7C0C0400, // 0020 CALL R3 2 + 0x1C0C0706, // 0021 EQ R3 R3 K6 + 0x780E0016, // 0022 JMPF R3 #003A + 0x8C0C0105, // 0023 GETMET R3 R0 K5 + 0x7C0C0200, // 0024 CALL R3 1 + 0x60100009, // 0025 GETGBL R4 G9 + 0x8C140302, // 0026 GETMET R5 R1 K2 + 0x581C0020, // 0027 LDCONST R7 K32 + 0x4C200000, // 0028 LDNIL R8 + 0x7C140600, // 0029 CALL R5 3 + 0x7C100200, // 002A CALL R4 1 + 0x900E4004, // 002B SETMBR R3 K32 R4 + 0x60100009, // 002C GETGBL R4 G9 + 0x8C140302, // 002D GETMET R5 R1 K2 + 0x581C0021, // 002E LDCONST R7 K33 + 0x4C200000, // 002F LDNIL R8 + 0x7C140600, // 0030 CALL R5 3 + 0x7C100200, // 0031 CALL R4 1 + 0x900E4204, // 0032 SETMBR R3 K33 R4 + 0x60100009, // 0033 GETGBL R4 G9 + 0x8C140302, // 0034 GETMET R5 R1 K2 + 0x581C0022, // 0035 LDCONST R7 K34 + 0x4C200000, // 0036 LDNIL R8 + 0x7C140600, // 0037 CALL R5 3 + 0x7C100200, // 0038 CALL R4 1 + 0x900E4404, // 0039 SETMBR R3 K34 R4 + 0x80000000, // 003A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse +********************************************************************/ +be_local_closure(class_HASPmota_parse, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(parse), + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0xA40A5C00, // 0000 IMPORT R2 K46 + 0x8C0C0534, // 0001 GETMET R3 R2 K52 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x60100004, // 0004 GETGBL R4 G4 + 0x5C140600, // 0005 MOVE R5 R3 + 0x7C100200, // 0006 CALL R4 1 + 0x1C100935, // 0007 EQ R4 R4 K53 + 0x78120009, // 0008 JMPF R4 #0013 + 0x8C10013A, // 0009 GETMET R4 R0 K58 + 0x5C180600, // 000A MOVE R6 R3 + 0x7C100400, // 000B CALL R4 2 + 0x8C10013D, // 000C GETMET R4 R0 K61 + 0x5C180600, // 000D MOVE R6 R3 + 0x881C0126, // 000E GETMBR R7 R0 K38 + 0x8820011E, // 000F GETMBR R8 R0 K30 + 0x941C0E08, // 0010 GETIDX R7 R7 R8 + 0x7C100600, // 0011 CALL R4 3 + 0x70020000, // 0012 JMP #0014 + 0xB006774C, // 0013 RAISE 1 K59 K76 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(class_HASPmota_start, /* name */ + be_nested_proto( + 11, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(start), + &be_const_str_solidified, + ( &(const binstruction[105]) { /* code */ + 0xA40E9A00, // 0000 IMPORT R3 K77 + 0x4C100000, // 0001 LDNIL R4 + 0x1C100404, // 0002 EQ R4 R2 R4 + 0x78120000, // 0003 JMPF R4 #0005 + 0x8808014E, // 0004 GETMBR R2 R0 K78 + 0x8C10074F, // 0005 GETMET R4 R3 K79 + 0x5C180400, // 0006 MOVE R6 R2 + 0x7C100400, // 0007 CALL R4 2 + 0x74120002, // 0008 JMPT R4 #000C + 0x0012A002, // 0009 ADD R4 K80 R2 + 0x00100951, // 000A ADD R4 R4 K81 + 0xB006A404, // 000B RAISE 1 K82 R4 + 0xB812A600, // 000C GETNGBL R4 K83 + 0x8C100954, // 000D GETMET R4 R4 K84 + 0x7C100200, // 000E CALL R4 1 + 0x60100017, // 000F GETGBL R4 G23 + 0x5C140200, // 0010 MOVE R5 R1 + 0x7C100200, // 0011 CALL R4 1 + 0x9002AA04, // 0012 SETMBR R0 K85 R4 + 0xB812A600, // 0013 GETNGBL R4 K83 + 0x8C100957, // 0014 GETMET R4 R4 K87 + 0x7C100200, // 0015 CALL R4 1 + 0x9002AC04, // 0016 SETMBR R0 K86 R4 + 0xB812A600, // 0017 GETNGBL R4 K83 + 0x8C100959, // 0018 GETMET R4 R4 K89 + 0x7C100200, // 0019 CALL R4 1 + 0x9002B004, // 001A SETMBR R0 K88 R4 + 0xB812A600, // 001B GETNGBL R4 K83 + 0x8C10095B, // 001C GETMET R4 R4 K91 + 0x7C100200, // 001D CALL R4 1 + 0x9002B404, // 001E SETMBR R0 K90 R4 + 0xA8020007, // 001F EXBLK 0 #0028 + 0xB812A600, // 0020 GETNGBL R4 K83 + 0x8C10095D, // 0021 GETMET R4 R4 K93 + 0x5818005E, // 0022 LDCONST R6 K94 + 0x541E000F, // 0023 LDINT R7 16 + 0x7C100600, // 0024 CALL R4 3 + 0x9002B804, // 0025 SETMBR R0 K92 R4 + 0xA8040001, // 0026 EXBLK 1 1 + 0x70020009, // 0027 JMP #0032 + 0xAC100000, // 0028 CATCH R4 0 0 + 0x70020006, // 0029 JMP #0031 + 0xB812A600, // 002A GETNGBL R4 K83 + 0x8C10095D, // 002B GETMET R4 R4 K93 + 0x5818005F, // 002C LDCONST R6 K95 + 0x541E000D, // 002D LDINT R7 14 + 0x7C100600, // 002E CALL R4 3 + 0x9002B804, // 002F SETMBR R0 K92 R4 + 0x70020000, // 0030 JMP #0032 + 0xB0080000, // 0031 RAISE 2 R0 R0 + 0xB812A600, // 0032 GETNGBL R4 K83 + 0x8C100960, // 0033 GETMET R4 R4 K96 + 0x58180006, // 0034 LDCONST R6 K6 + 0xB81EA600, // 0035 GETNGBL R7 K83 + 0x8C1C0F61, // 0036 GETMET R7 R7 K97 + 0x58240062, // 0037 LDCONST R9 K98 + 0x7C1C0400, // 0038 CALL R7 2 + 0xB822A600, // 0039 GETNGBL R8 K83 + 0x8C201161, // 003A GETMET R8 R8 K97 + 0x58280063, // 003B LDCONST R10 K99 + 0x7C200400, // 003C CALL R8 2 + 0x88240155, // 003D GETMBR R9 R0 K85 + 0x8828015C, // 003E GETMBR R10 R0 K92 + 0x7C100C00, // 003F CALL R4 6 + 0x8814015A, // 0040 GETMBR R5 R0 K90 + 0x8C140B64, // 0041 GETMET R5 R5 K100 + 0x7C140200, // 0042 CALL R5 1 + 0x8C140B65, // 0043 GETMET R5 R5 K101 + 0x5C1C0800, // 0044 MOVE R7 R4 + 0x7C140400, // 0045 CALL R5 2 + 0x8814015A, // 0046 GETMBR R5 R0 K90 + 0x8C140B66, // 0047 GETMET R5 R5 K102 + 0x881C0155, // 0048 GETMBR R7 R0 K85 + 0x781E0004, // 0049 JMPF R7 #004F + 0xB81EA600, // 004A GETNGBL R7 K83 + 0x8C1C0F61, // 004B GETMET R7 R7 K97 + 0x58240006, // 004C LDCONST R9 K6 + 0x7C1C0400, // 004D CALL R7 2 + 0x70020003, // 004E JMP #0053 + 0xB81EA600, // 004F GETNGBL R7 K83 + 0x8C1C0F61, // 0050 GETMET R7 R7 K97 + 0x58240067, // 0051 LDCONST R9 K103 + 0x7C1C0400, // 0052 CALL R7 2 + 0x58200006, // 0053 LDCONST R8 K6 + 0x7C140600, // 0054 CALL R5 3 + 0xB816A600, // 0055 GETNGBL R5 K83 + 0x8C140B68, // 0056 GETMET R5 R5 K104 + 0xB81EA600, // 0057 GETNGBL R7 K83 + 0x8C1C0F69, // 0058 GETMET R7 R7 K105 + 0x7C1C0200, // 0059 CALL R7 1 + 0x7C140400, // 005A CALL R5 2 + 0xB816A600, // 005B GETNGBL R5 K83 + 0x8C140B69, // 005C GETMET R5 R5 K105 + 0x7C140200, // 005D CALL R5 1 + 0x8C140B6A, // 005E GETMET R5 R5 K106 + 0x581C0006, // 005F LDCONST R7 K6 + 0x58200006, // 0060 LDCONST R8 K6 + 0x7C140600, // 0061 CALL R5 3 + 0x60140013, // 0062 GETGBL R5 G19 + 0x7C140000, // 0063 CALL R5 0 + 0x90024C05, // 0064 SETMBR R0 K38 R5 + 0x8C14016B, // 0065 GETMET R5 R0 K107 + 0x5C1C0400, // 0066 MOVE R7 R2 + 0x7C140400, // 0067 CALL R5 2 + 0x80000000, // 0068 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pages +********************************************************************/ +be_local_closure(class_HASPmota_get_pages, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(get_pages), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x8C04011D, // 0000 GETMET R1 R0 K29 + 0x4C0C0000, // 0001 LDNIL R3 + 0x7C040400, // 0002 CALL R1 2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: sort +********************************************************************/ +be_local_closure(class_HASPmota_sort, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(sort), + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0x5804006C, // 0000 LDCONST R1 K108 + 0x60080010, // 0001 GETGBL R2 G16 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x040C071F, // 0005 SUB R3 R3 K31 + 0x400E3E03, // 0006 CONNECT R3 K31 R3 + 0x7C080200, // 0007 CALL R2 1 + 0xA8020010, // 0008 EXBLK 0 #001A + 0x5C0C0400, // 0009 MOVE R3 R2 + 0x7C0C0000, // 000A CALL R3 0 + 0x94100003, // 000B GETIDX R4 R0 R3 + 0x5C140600, // 000C MOVE R5 R3 + 0x24180B06, // 000D GT R6 R5 K6 + 0x781A0008, // 000E JMPF R6 #0018 + 0x04180B1F, // 000F SUB R6 R5 K31 + 0x94180006, // 0010 GETIDX R6 R0 R6 + 0x24180C04, // 0011 GT R6 R6 R4 + 0x781A0004, // 0012 JMPF R6 #0018 + 0x04180B1F, // 0013 SUB R6 R5 K31 + 0x94180006, // 0014 GETIDX R6 R0 R6 + 0x98000A06, // 0015 SETIDX R0 R5 R6 + 0x04140B1F, // 0016 SUB R5 R5 K31 + 0x7001FFF4, // 0017 JMP #000D + 0x98000A04, // 0018 SETIDX R0 R5 R4 + 0x7001FFEE, // 0019 JMP #0009 + 0x58080015, // 001A LDCONST R2 K21 + 0xAC080200, // 001B CATCH R2 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x80040000, // 001D RET 1 R0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: do_action +********************************************************************/ +be_local_closure(class_HASPmota_do_action, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(do_action), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB80EA600, // 0000 GETNGBL R3 K83 + 0x880C076D, // 0001 GETMBR R3 R3 K109 + 0x200C0403, // 0002 NE R3 R2 R3 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x80000600, // 0004 RET 0 + 0x8C0C0128, // 0005 GETMET R3 R0 K40 + 0x8814036E, // 0006 GETMBR R5 R1 K110 + 0x7C0C0400, // 0007 CALL R3 2 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: event_dispatch +********************************************************************/ +be_local_closure(class_HASPmota_event_dispatch, /* name */ + be_nested_proto( + 9, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(event_dispatch), + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0xA40A0200, // 0000 IMPORT R2 K1 + 0x8C0C056F, // 0001 GETMET R3 R2 K111 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x88100170, // 0004 GETMBR R4 R0 K112 + 0x78120002, // 0005 JMPF R4 #0009 + 0x88100170, // 0006 GETMBR R4 R0 K112 + 0x9012E203, // 0007 SETMBR R4 K113 R3 + 0x70020004, // 0008 JMP #000E + 0xB812A600, // 0009 GETNGBL R4 K83 + 0x8C100972, // 000A GETMET R4 R4 K114 + 0x5C180600, // 000B MOVE R6 R3 + 0x7C100400, // 000C CALL R4 2 + 0x9002E004, // 000D SETMBR R0 K112 R4 + 0x88100170, // 000E GETMBR R4 R0 K112 + 0x8C100973, // 000F GETMET R4 R4 K115 + 0x7C100200, // 0010 CALL R4 1 + 0x60140009, // 0011 GETGBL R5 G9 + 0x5C180800, // 0012 MOVE R6 R4 + 0x7C140200, // 0013 CALL R5 1 + 0x20140B06, // 0014 NE R5 R5 K6 + 0x7816000A, // 0015 JMPF R5 #0021 + 0x8C140574, // 0016 GETMET R5 R2 K116 + 0x5C1C0800, // 0017 MOVE R7 R4 + 0x7C140400, // 0018 CALL R5 2 + 0x60180004, // 0019 GETGBL R6 G4 + 0x5C1C0A00, // 001A MOVE R7 R5 + 0x7C180200, // 001B CALL R6 1 + 0x1C180D35, // 001C EQ R6 R6 K53 + 0x781A0002, // 001D JMPF R6 #0021 + 0x8C180B75, // 001E GETMET R6 R5 K117 + 0x88200170, // 001F GETMBR R8 R0 K112 + 0x7C180400, // 0020 CALL R6 2 + 0x80000000, // 0021 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: register_event +********************************************************************/ +be_local_closure(class_HASPmota_register_event, /* name */ + be_nested_proto( + 13, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(event_dispatch), + }), + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x68040000, // 0000 GETUPV R1 U0 + 0x8C040300, // 0001 GETMET R1 R1 K0 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(register_event), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0xA40EEC00, // 0000 IMPORT R3 K118 + 0xA4120200, // 0001 IMPORT R4 K1 + 0x88140175, // 0002 GETMBR R5 R0 K117 + 0x4C180000, // 0003 LDNIL R6 + 0x1C140A06, // 0004 EQ R5 R5 R6 + 0x78160003, // 0005 JMPF R5 #000A + 0x8C140777, // 0006 GETMET R5 R3 K119 + 0x841C0000, // 0007 CLOSURE R7 P0 + 0x7C140400, // 0008 CALL R5 2 + 0x9002EA05, // 0009 SETMBR R0 K117 R5 + 0x8814030A, // 000A GETMBR R5 R1 K10 + 0x8C180B78, // 000B GETMET R6 R5 K120 + 0x88200175, // 000C GETMBR R8 R0 K117 + 0x5C240400, // 000D MOVE R9 R2 + 0x8C28096F, // 000E GETMET R10 R4 K111 + 0x5C300200, // 000F MOVE R12 R1 + 0x7C280400, // 0010 CALL R10 2 + 0x7C180800, // 0011 CALL R6 4 + 0xA0000000, // 0012 CLOSE R0 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: fix_lv_version +********************************************************************/ +be_local_closure(class_HASPmota_fix_lv_version, /* name */ + be_nested_proto( + 6, /* nstack */ + 0, /* argc */ + 12, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(fix_lv_version), + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x5800006C, // 0000 LDCONST R0 K108 + 0xA4060200, // 0001 IMPORT R1 K1 + 0x8C08030C, // 0002 GETMET R2 R1 K12 + 0xB812A600, // 0003 GETNGBL R4 K83 + 0x58140079, // 0004 LDCONST R5 K121 + 0x7C080600, // 0005 CALL R2 3 + 0x600C0004, // 0006 GETGBL R3 G4 + 0x5C100400, // 0007 MOVE R4 R2 + 0x7C0C0200, // 0008 CALL R3 1 + 0x200C074A, // 0009 NE R3 R3 K74 + 0x780E0002, // 000A JMPF R3 #000E + 0xB80EA600, // 000B GETNGBL R3 K83 + 0x54120007, // 000C LDINT R4 8 + 0x900EF204, // 000D SETMBR R3 K121 R4 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_page_cur +********************************************************************/ +be_local_closure(class_HASPmota_get_page_cur, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(get_page_cur), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040126, // 0000 GETMBR R1 R0 K38 + 0x8808011E, // 0001 GETMBR R2 R0 K30 + 0x94040202, // 0002 GETIDX R1 R1 R2 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: page_dir_to +********************************************************************/ +be_local_closure(class_HASPmota_page_dir_to, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(page_dir_to), + &be_const_str_solidified, + ( &(const binstruction[32]) { /* code */ + 0x8C08011D, // 0000 GETMET R2 R0 K29 + 0x58100006, // 0001 LDCONST R4 K6 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x1C0C0403, // 0004 EQ R3 R2 R3 + 0x780E0000, // 0005 JMPF R3 #0007 + 0x80060C00, // 0006 RET 1 K6 + 0x600C000C, // 0007 GETGBL R3 G12 + 0x5C100400, // 0008 MOVE R4 R2 + 0x7C0C0200, // 0009 CALL R3 1 + 0x1810071F, // 000A LE R4 R3 K31 + 0x78120000, // 000B JMPF R4 #000D + 0x80060C00, // 000C RET 1 K6 + 0x1C100742, // 000D EQ R4 R3 K66 + 0x78120000, // 000E JMPF R4 #0010 + 0x80063E00, // 000F RET 1 K31 + 0x8C100502, // 0010 GETMET R4 R2 K2 + 0x5C180200, // 0011 MOVE R6 R1 + 0x7C100400, // 0012 CALL R4 2 + 0x4C140000, // 0013 LDNIL R5 + 0x1C140805, // 0014 EQ R5 R4 R5 + 0x78160000, // 0015 JMPF R5 #0017 + 0x80060C00, // 0016 RET 1 K6 + 0x0014071F, // 0017 ADD R5 R3 K31 + 0x0C140B42, // 0018 DIV R5 R5 K66 + 0x18140805, // 0019 LE R5 R4 R5 + 0x78160001, // 001A JMPF R5 #001D + 0x80063E00, // 001B RET 1 K31 + 0x70020001, // 001C JMP #001F + 0x5415FFFE, // 001D LDINT R5 -1 + 0x80040A00, // 001E RET 1 R5 + 0x80000000, // 001F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: pages_list_sorted +********************************************************************/ +be_local_closure(class_HASPmota_pages_list_sorted, /* name */ + be_nested_proto( + 8, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_HASPmota, /* shared constants */ + be_str_weak(pages_list_sorted), + &be_const_str_solidified, + ( &(const binstruction[47]) { /* code */ + 0x60080012, // 0000 GETGBL R2 G18 + 0x7C080000, // 0001 CALL R2 0 + 0x1C0C0306, // 0002 EQ R3 R1 K6 + 0x780E0000, // 0003 JMPF R3 #0005 + 0x8804011E, // 0004 GETMBR R1 R0 K30 + 0x600C0010, // 0005 GETGBL R3 G16 + 0x88100126, // 0006 GETMBR R4 R0 K38 + 0x8C100914, // 0007 GETMET R4 R4 K20 + 0x7C100200, // 0008 CALL R4 1 + 0x7C0C0200, // 0009 CALL R3 1 + 0xA8020007, // 000A EXBLK 0 #0013 + 0x5C100600, // 000B MOVE R4 R3 + 0x7C100000, // 000C CALL R4 0 + 0x20140906, // 000D NE R5 R4 K6 + 0x78160002, // 000E JMPF R5 #0012 + 0x8C14057A, // 000F GETMET R5 R2 K122 + 0x5C1C0800, // 0010 MOVE R7 R4 + 0x7C140400, // 0011 CALL R5 2 + 0x7001FFF7, // 0012 JMP #000B + 0x580C0015, // 0013 LDCONST R3 K21 + 0xAC0C0200, // 0014 CATCH R3 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x8C0C017B, // 0016 GETMET R3 R0 K123 + 0x5C140400, // 0017 MOVE R5 R2 + 0x7C0C0400, // 0018 CALL R3 2 + 0x5C080600, // 0019 MOVE R2 R3 + 0x4C0C0000, // 001A LDNIL R3 + 0x1C0C0203, // 001B EQ R3 R1 R3 + 0x780E0000, // 001C JMPF R3 #001E + 0x80040400, // 001D RET 1 R2 + 0x600C000C, // 001E GETGBL R3 G12 + 0x5C100400, // 001F MOVE R4 R2 + 0x7C0C0200, // 0020 CALL R3 1 + 0x00080402, // 0021 ADD R2 R2 R2 + 0x8C100502, // 0022 GETMET R4 R2 K2 + 0x5C180200, // 0023 MOVE R6 R1 + 0x7C100400, // 0024 CALL R4 2 + 0x4C140000, // 0025 LDNIL R5 + 0x1C140805, // 0026 EQ R5 R4 R5 + 0x78160001, // 0027 JMPF R5 #002A + 0x4C140000, // 0028 LDNIL R5 + 0x80040A00, // 0029 RET 1 R5 + 0x00140803, // 002A ADD R5 R4 R3 + 0x04140B1F, // 002B SUB R5 R5 K31 + 0x40140805, // 002C CONNECT R5 R4 R5 + 0x94080405, // 002D GETIDX R2 R2 R5 + 0x80040400, // 002E RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: HASPmota +********************************************************************/ +be_local_class(HASPmota, + 11, + NULL, + be_nested_map(62, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(parse_obj, 13), be_const_closure(class_HASPmota_parse_obj_closure) }, + { be_const_key_weak(lvh_pages, -1), be_const_var(5) }, + { be_const_key_weak(lvh_dropdown_list, 1), be_const_class(be_class_lvh_dropdown_list) }, + { be_const_key_weak(lvh_tab, 17), be_const_class(be_class_lvh_tab) }, + { be_const_key_weak(lvh_line, -1), be_const_class(be_class_lvh_line) }, + { be_const_key_weak(lvh_bar, -1), be_const_class(be_class_lvh_bar) }, + { be_const_key_weak(lvh_scale_section, -1), be_const_class(be_class_lvh_scale_section) }, + { be_const_key_weak(page_dir_to, -1), be_const_closure(class_HASPmota_page_dir_to_closure) }, + { be_const_key_weak(lvh_scr, -1), be_const_class(be_class_lvh_scr) }, + { be_const_key_weak(lvh_flex, -1), be_const_class(be_class_lvh_flex) }, + { be_const_key_weak(lvh_spangroup, -1), be_const_class(be_class_lvh_spangroup) }, + { be_const_key_weak(lvh_obj, -1), be_const_class(be_class_lvh_obj) }, + { be_const_key_weak(lvh_chart, 47), be_const_class(be_class_lvh_chart) }, + { be_const_key_weak(get_page_cur, -1), be_const_closure(class_HASPmota_get_page_cur_closure) }, + { be_const_key_weak(_remove_page, -1), be_const_closure(class_HASPmota__remove_page_closure) }, + { be_const_key_weak(event_cb, -1), be_const_var(10) }, + { be_const_key_weak(page_show, 51), be_const_closure(class_HASPmota_page_show_closure) }, + { be_const_key_weak(lvh_cpicker, -1), be_const_class(be_class_lvh_cpicker) }, + { be_const_key_weak(fix_lv_version, -1), be_const_static_closure(class_HASPmota_fix_lv_version_closure) }, + { be_const_key_weak(register_event, -1), be_const_closure(class_HASPmota_register_event_closure) }, + { be_const_key_weak(lvh_fixed, -1), be_const_class(be_class_lvh_fixed) }, + { be_const_key_weak(lvh_scale_line, -1), be_const_class(be_class_lvh_scale_line) }, + { be_const_key_weak(lvh_dropdown, -1), be_const_class(be_class_lvh_dropdown) }, + { be_const_key_weak(lvh_page_cur_idx_parsing, -1), be_const_var(7) }, + { be_const_key_weak(lvh_roller, 56), be_const_class(be_class_lvh_roller) }, + { be_const_key_weak(event_dispatch, -1), be_const_closure(class_HASPmota_event_dispatch_closure) }, + { be_const_key_weak(dark, 43), be_const_var(0) }, + { be_const_key_weak(lvh_label, -1), be_const_class(be_class_lvh_label) }, + { be_const_key_weak(r16, -1), be_const_var(4) }, + { be_const_key_weak(init, -1), be_const_closure(class_HASPmota_init_closure) }, + { be_const_key_weak(parse_page, -1), be_const_closure(class_HASPmota_parse_page_closure) }, + { be_const_key_weak(event, -1), be_const_var(9) }, + { be_const_key_weak(lvh_span, 44), be_const_class(be_class_lvh_span) }, + { be_const_key_weak(get_page_cur_parsing, 39), be_const_closure(class_HASPmota_get_page_cur_parsing_closure) }, + { be_const_key_weak(lvh_arc, -1), be_const_class(be_class_lvh_arc) }, + { be_const_key_weak(start, -1), be_const_closure(class_HASPmota_start_closure) }, + { be_const_key_weak(get_pages, -1), be_const_closure(class_HASPmota_get_pages_closure) }, + { be_const_key_weak(sort, -1), be_const_static_closure(class_HASPmota_sort_closure) }, + { be_const_key_weak(lvh_page_cur_idx, -1), be_const_var(6) }, + { be_const_key_weak(hres, 48), be_const_var(1) }, + { be_const_key_weak(lvh_root, 32), be_const_class(be_class_lvh_root) }, + { be_const_key_weak(vres, -1), be_const_var(2) }, + { be_const_key_weak(lvh_led, 22), be_const_class(be_class_lvh_led) }, + { be_const_key_weak(scr, -1), be_const_var(3) }, + { be_const_key_weak(re_page_target, -1), be_const_var(8) }, + { be_const_key_weak(lvh_btnmatrix, 42), be_const_class(be_class_lvh_btnmatrix) }, + { be_const_key_weak(lvh_scale, 27), be_const_class(be_class_lvh_scale) }, + { be_const_key_weak(lvh_msgbox, -1), be_const_class(be_class_lvh_msgbox) }, + { be_const_key_weak(lvh_img, 23), be_const_class(be_class_lvh_img) }, + { be_const_key_weak(lvh_checkbox, 26), be_const_class(be_class_lvh_checkbox) }, + { be_const_key_weak(lvh_switch, 25), be_const_class(be_class_lvh_switch) }, + { be_const_key_weak(parse, 4), be_const_closure(class_HASPmota_parse_closure) }, + { be_const_key_weak(lvh_btn, -1), be_const_class(be_class_lvh_btn) }, + { be_const_key_weak(do_action, 19), be_const_closure(class_HASPmota_do_action_closure) }, + { be_const_key_weak(lvh_tabview, 18), be_const_class(be_class_lvh_tabview) }, + { be_const_key_weak(lvh_slider, -1), be_const_class(be_class_lvh_slider) }, + { be_const_key_weak(_load, -1), be_const_closure(class_HASPmota__load_closure) }, + { be_const_key_weak(def_templ_name, 10), be_nested_str_weak(pages_X2Ejsonl) }, + { be_const_key_weak(lvh_qrcode, 7), be_const_class(be_class_lvh_qrcode) }, + { be_const_key_weak(lvh_spinner, 5), be_const_class(be_class_lvh_spinner) }, + { be_const_key_weak(pages_list_sorted, -1), be_const_closure(class_HASPmota_pages_list_sorted_closure) }, + { be_const_key_weak(lvh_page, -1), be_const_class(be_class_lvh_page) }, + })), + be_str_weak(HASPmota) +); + +/******************************************************************** +** Solidified function: _anonymous_ +********************************************************************/ +be_local_closure(_anonymous_, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(HASPmota), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x5C080200, // 0001 MOVE R2 R1 + 0x7C080000, // 0002 CALL R2 0 + 0x80040400, // 0003 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified module: haspmota +********************************************************************/ +be_local_module(haspmota, + "haspmota", + be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(HASPmota, -1), be_const_class(be_class_HASPmota) }, + { be_const_key_weak(init, -1), be_const_closure(_anonymous__closure) }, + })) +); +BE_EXPORT_VARIABLE be_define_const_native_module(haspmota); +/********************************************************************/ +/********************************************************************/ +/* End of solidification */