diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index c6cce0315..b5901619b 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -222,7 +222,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because #include "solidify/solidified_Matter_Session.h" #include "solidify/solidified_Matter_Session_Store.h" #include "solidify/solidified_Matter_Commissioning_Data.h" -#include "solidify/solidified_Matter_Commissioning.h" +#include "solidify/solidified_Matter_Commissioning_Context.h" #include "solidify/solidified_Matter_Message.h" #include "solidify/solidified_Matter_MessageHandler.h" #include "solidify/solidified_Matter_IM_Message.h" @@ -231,6 +231,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because #include "solidify/solidified_Matter_EventHandler.h" #include "solidify/solidified_Matter_Control_Message.h" #include "solidify/solidified_Matter_Plugin_0.h" +#include "solidify/solidified_Matter_z_Commissioning.h" #include "solidify/solidified_Matter_Base38.h" #include "solidify/solidified_Matter_UI.h" #include "solidify/solidified_Matter_Profiler.h" @@ -470,6 +471,9 @@ module matter (scope: global, strings: weak) { Control_Message, class(be_class_Matter_Control_Message) UI, class(be_class_Matter_UI) + // Commissioning + Commissioning, class(be_class_Matter_Commissioning) + // QR Code QRCode, class(be_class_Matter_QRCode) diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be similarity index 98% rename from lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be rename to lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be index 2e7f0e170..f0a611944 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be @@ -1,5 +1,5 @@ # -# Matter_Commissioning.be - suppport for Matter Commissioning process PASE and CASE +# Matter_Commissioning_Context.be - suppport for Matter Commissioning process PASE and CASE # # Copyright (C) 2023 Stephan Hadinger & Theo Arends # @@ -53,7 +53,7 @@ class Matter_Commisioning_Context def process_incoming(msg) # - if !self.device.is_commissioning_open() && msg.opcode >= 0x20 && msg.opcode <= 0x24 + if !self.device.commissioning.is_commissioning_open() && msg.opcode >= 0x20 && msg.opcode <= 0x24 log("MTR: commissioning not open", 2) return false end @@ -139,8 +139,8 @@ class Matter_Commisioning_Context # generate 32 bytes random pbkdfparamresp.responderRandom = crypto.random(32) pbkdfparamresp.responderSessionId = session.__future_local_session_id - pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning_salt - pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning_iterations + pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning.commissioning_salt + pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning.commissioning_iterations # log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4) var pbkdfparamresp_raw = pbkdfparamresp.tlv2raw() # log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4) @@ -172,7 +172,7 @@ class Matter_Commisioning_Context # instanciate SPAKE # for testing purpose, we don't send `w1` to make sure - var spake = crypto.SPAKE2P_Matter(self.device.commissioning_w0, nil, self.device.commissioning_L) + var spake = crypto.SPAKE2P_Matter(self.device.commissioning.commissioning_w0, nil, self.device.commissioning.commissioning_L) # generate `y` nonce (not persisted) var y = crypto.random(32) # 32 bytes random known only by verifier diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be index 6a9f8e58f..4673810d5 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be @@ -196,17 +196,17 @@ class Matter_Plugin_Root : Matter_Plugin # ==================================================================================================== elif cluster == 0x003C # ========== Administrator Commissioning Cluster 11.18 p.725 ========== if attribute == 0x0000 # ---------- WindowStatus / u8 ---------- - var commissioning_open = self.device.is_commissioning_open() - var basic_commissioning = self.device.is_root_commissioning_open() + var commissioning_open = self.device.commissioning.is_commissioning_open() + var basic_commissioning = self.device.commissioning.is_root_commissioning_open() var val = commissioning_open ? (basic_commissioning ? 2 #-BasicWindowOpen-# : 1 #-EnhancedWindowOpen-#) : 0 #-WindowNotOpen-# return tlv_solo.set(TLV.U1, val) elif attribute == 0x0001 # ---------- AdminFabricIndex / u16 ---------- - var admin_fabric = self.device.commissioning_admin_fabric + var admin_fabric = self.device.commissioning.commissioning_admin_fabric if admin_fabric != nil return tlv_solo.set_or_nil(TLV.U2, admin_fabric.get_fabric_index()) end elif attribute == 0x0002 # ---------- AdminVendorId / u16 ---------- - var admin_fabric = self.device.commissioning_admin_fabric + var admin_fabric = self.device.commissioning.commissioning_admin_fabric if admin_fabric != nil return tlv_solo.set_or_nil(TLV.U2, admin_fabric.get_admin_vendor()) end @@ -387,7 +387,7 @@ class Matter_Plugin_Root : Matter_Plugin ccr.add_TLV(1, TLV.UTF1, "") # DebugText = "" ctx.command = 0x05 # CommissioningCompleteResponse - self.device.start_commissioning_complete_deferred(session) + self.device.commissioning.start_commissioning_complete_deferred(session) return ccr else raise "context_error", "CommissioningComplete: no fabric attached" @@ -526,7 +526,7 @@ class Matter_Plugin_Root : Matter_Plugin var hk = crypto.HKDF_SHA256() var fabric_rev = fabric_id.copy().reverse() var k_fabric = hk.derive(root_ca_pub, fabric_rev, info, 8) - var parent_fabric = session._fabric ? session._fabric : self.device.commissioning_admin_fabric # get parent fabric whether CASE or PASE + var parent_fabric = session._fabric ? session._fabric : self.device.commissioning.commissioning_admin_fabric # get parent fabric whether CASE or PASE new_fabric.set_fabric_device(fabric_id, deviceid, k_fabric, parent_fabric) # log("MTR: AddNoc k_fabric=" + str(k_fabric), 3) @@ -534,7 +534,7 @@ class Matter_Plugin_Root : Matter_Plugin new_fabric.fabric_candidate() # move to next step - self.device.start_operational_discovery_deferred(new_fabric) + self.device.commissioning.start_operational_discovery_deferred(new_fabric) # we keep the PASE session for 1 minute if session.is_PASE() @@ -627,7 +627,7 @@ class Matter_Plugin_Root : Matter_Plugin var w0 = passcode_verifier[0..31] var L = passcode_verifier[32..] - self.device.start_basic_commissioning(timeout, iterations, discriminator, salt, w0, #-w1,-# L, session.get_fabric()) + self.device.commissioning.start_basic_commissioning(timeout, iterations, discriminator, salt, w0, #-w1,-# L, session.get_fabric()) # TODO announce in MDNS return true # OK elif command == 0x0001 # ---------- OpenBasicCommissioningWindow ---------- @@ -637,7 +637,7 @@ class Matter_Plugin_Root : Matter_Plugin return true elif command == 0x0002 # ---------- RevokeCommissioning ---------- # TODO add checks that the commissioning window was opened by the same fabric - self.device.stop_basic_commissioning() + self.device.commissioning.stop_basic_commissioning() return true end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be index 6917a9d7b..3bd31aa98 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be @@ -108,7 +108,7 @@ class Matter_UI if self.matter_enabled() # checkbox for Matter commissioning - var commissioning_open_checked = self.device.commissioning_open != nil ? "checked" : "" + var commissioning_open_checked = self.device.commissioning.commissioning_open != nil ? "checked" : "" webserver.content_send(f"

") webserver.content_send("

") var disable_bridge_mode_checked = self.device.disable_bridge_mode ? " checked" : "" @@ -173,17 +173,17 @@ class Matter_UI def show_commissioning_info() import webserver - var seconds_left = (self.device.commissioning_open - tasmota.millis()) / 1000 + var seconds_left = (self.device.commissioning.commissioning_open - tasmota.millis()) / 1000 if seconds_left < 0 seconds_left = 0 end var min_left = (seconds_left + 30) / 60 webserver.content_send(f"
 Commissioning open for {min_left:i} min 

") - var pairing_code = self.device.compute_manual_pairing_code() + var pairing_code = self.device.commissioning.compute_manual_pairing_code() webserver.content_send(f"

Manual pairing code:
{pairing_code[0..3]}-{pairing_code[4..6]}-{pairing_code[7..]}


") webserver.content_send("
") - var qr_text = self.device.compute_qrcode_content() + var qr_text = self.device.commissioning.compute_qrcode_content() self.show_qrcode(qr_text) webserver.content_send(f"

{qr_text}

") webserver.content_send("

") @@ -794,11 +794,11 @@ class Matter_UI end #- and force restart -# webserver.redirect("/?rst=") - elif matter_commissioning_requested != (self.device.commissioning_open != nil) + elif matter_commissioning_requested != (self.device.commissioning.commissioning_open != nil) if matter_commissioning_requested self.device.start_root_basic_commissioning() else - self.device.stop_basic_commissioning() + self.device.commissioning.stop_basic_commissioning() end #- and force restart -# @@ -1085,7 +1085,7 @@ class Matter_UI self.show_bridge_status() - if self.device.is_root_commissioning_open() + if self.device.commissioning.is_root_commissioning_open() self.show_commissioning_info() end @@ -1095,7 +1095,7 @@ class Matter_UI def web_get_arg() import webserver if webserver.has_arg("mtc0") # Close Commissioning - self.device.stop_basic_commissioning() + self.device.commissioning.stop_basic_commissioning() elif webserver.has_arg("mtc1") # Open Commissioning self.device.start_root_basic_commissioning() end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be b/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be new file mode 100644 index 000000000..45b706419 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be @@ -0,0 +1,483 @@ +# +# Matter_z_Commissioning.be - implements the commissioning and MDNS logic +# +# Copyright (C) 2023 Stephan Hadinger & Theo Arends +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import matter + +#@ solidify:Matter_Commissioning,weak + +class Matter_Commissioning + var device # reference to the main Device instance + + static var PBKDF_ITERATIONS = 1000 # I don't see any reason to choose a different number + static var PASE_TIMEOUT = 10*60 # default open commissioning window (10 minutes) + # Commissioning open + var commissioning_open # timestamp for timeout of commissioning (millis()) or `nil` if closed + var commissioning_iterations # current PBKDF number of iterations + var commissioning_discriminator # commissioning_discriminator + var commissioning_salt # current salt + var commissioning_w0 # current w0 (SPAKE2+) + var commissioning_L # current L (SPAKE2+) + var commissioning_admin_fabric # the fabric that opened the currint commissioning window, or `nil` for default + # information about the device + var commissioning_instance_wifi # random instance name for commissioning (mDNS) + var commissioning_instance_eth # random instance name for commissioning (mDNS) + var hostname_wifi # MAC-derived hostname for commissioning + var hostname_eth # MAC-derived hostname for commissioning + # mDNS active announces + var mdns_pase_eth # do we have an active PASE mDNS announce for eth + var mdns_pase_wifi # do we have an active PASE mDNS announce for wifi + + + ############################################################# + def init(device) + self.device = device + self._init_basic_commissioning() + end + + ############################################################# + # Start Basic Commissioning Window if needed at startup + def _init_basic_commissioning() + # if no fabric is configured, automatically open commissioning at restart + if self.device.sessions.count_active_fabrics() == 0 + self.start_root_basic_commissioning() + end + end + + ############################################################# + # dispatch every second click to sub-objects that need it + def every_second() + if self.commissioning_open != nil && tasmota.time_reached(self.commissioning_open) # timeout reached, close provisioning + self.commissioning_open = nil + end + end + + ############################################################# + # Start Basic Commissioning with root parameters + # + # Open window for `timeout_s` (default 10 minutes) + def start_root_basic_commissioning(timeout_s) + if timeout_s == nil timeout_s = self.PASE_TIMEOUT end + + # show Manual pairing code in logs + var pairing_code = self.compute_manual_pairing_code() + log(format("MTR: Manual pairing code: %s", pairing_code), 2) + + # output MQTT + var qr_code = self.compute_qrcode_content() + tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter') + + # compute PBKDF + import crypto + var root_salt = crypto.random(16) + + # Compute the PBKDF parameters for SPAKE2+ from root parameters + var passcode = bytes().add(self.device.root_passcode, 4) + + var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, root_salt, self.PBKDF_ITERATIONS, 80) + var w0s = tv[0..39] + var w1s = tv[40..79] + + var root_w0 = crypto.EC_P256().mod(w0s) + var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded + # self.root_w1 = crypto.EC_P256().mod(w1s) + var root_L = crypto.EC_P256().public_key(w1) + self.start_basic_commissioning(timeout_s, self.PBKDF_ITERATIONS, self.device.root_discriminator, root_salt, root_w0, #-self.root_w1,-# root_L, nil) + end + + ############################################################# + # Start Basic Commissioning Window with custom parameters + def start_basic_commissioning(timeout_s, iterations, discriminator, salt, w0, L, admin_fabric) + self.commissioning_open = tasmota.millis() + timeout_s * 1000 + self.commissioning_iterations = iterations + self.commissioning_discriminator = discriminator + self.commissioning_salt = salt + self.commissioning_w0 = w0 + self.commissioning_L = L + self.commissioning_admin_fabric = admin_fabric + + if tasmota.wifi()['up'] || tasmota.eth()['up'] + self.mdns_announce_PASE() + else + tasmota.add_rule("Wifi#Connected", def () + self.mdns_announce_PASE() + tasmota.remove_rule("Wifi#Connected", "mdns_announce_PASE") + end, "mdns_announce_PASE") + tasmota.add_rule("Eth#Connected", def () + self.mdns_announce_PASE() + tasmota.remove_rule("Eth#Connected", "mdns_announce_PASE") + end, "mdns_announce_PASE") + end + end + + ############################################################# + # Is root commissioning currently open. Mostly for UI to know if QRCode needs to be shown. + def is_root_commissioning_open() + return self.commissioning_open != nil && self.commissioning_admin_fabric == nil + end + + ############################################################# + # Stop PASE commissioning, mostly called when CASE is about to start + def stop_basic_commissioning() + var n = nil + if self.is_root_commissioning_open() + tasmota.publish_result('{"Matter":{"Commissioning":0}}', 'Matter') + end + self.commissioning_open = n + + self.mdns_remove_PASE() + + # clear any PBKDF information to free memory + self.commissioning_iterations = n + self.commissioning_discriminator = n + self.commissioning_salt = n + self.commissioning_w0 = n + # self.commissioning_w1 = nil + self.commissioning_L = n + self.commissioning_admin_fabric = n + end + def is_commissioning_open() + return self.commissioning_open != nil + end + + ############################################################# + # Compute QR Code content - can be done only for root PASE + def compute_qrcode_content() + var raw = bytes().resize(11) # we don't use TLV Data so it's only 88 bits or 11 bytes + # version is `000` dont touch + raw.setbits(3, 16, self.device.VENDOR_ID) + raw.setbits(19, 16, self.device.PRODUCT_ID) + # custom flow = 0 (offset=35, len=2) + raw.setbits(37, 8, 0x04) # already on IP network + raw.setbits(45, 12, self.device.root_discriminator & 0xFFF) + raw.setbits(57, 27, self.device.root_passcode & 0x7FFFFFF) + # padding (offset=84 len=4) + return "MT:" + matter.Base38.encode(raw) + end + + + ############################################################# + # Compute the 11 digits manual pairing code (wihout vendorid nor productid) p.223 + #
+ # can be done only for root PASE (we need the passcode, but we don't get it with OpenCommissioningWindow command) + def compute_manual_pairing_code() + var digit_1 = (self.device.root_discriminator & 0x0FFF) >> 10 + var digit_2_6 = ((self.device.root_discriminator & 0x0300) << 6) | (self.device.root_passcode & 0x3FFF) + var digit_7_10 = (self.device.root_passcode >> 14) + + var ret = format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10) + ret += matter.Verhoeff.checksum(ret) + return ret + end + + ############################################################# + # Start Operational Discovery for this session + # + # Deferred until next tick. + def start_operational_discovery_deferred(fabric) + # defer to next click + tasmota.set_timer(0, /-> self.start_operational_discovery(fabric)) + end + + ############################################################# + # Start Commissioning Complete for this session + # + # Deferred until next tick. + def start_commissioning_complete_deferred(session) + # defer to next click + tasmota.set_timer(0, /-> self.start_commissioning_complete(session)) + end + + ############################################################# + # Start Operational Discovery for this session + # + # Stop Basic Commissioning and clean PASE specific values (to save memory). + # Announce fabric entry in mDNS. + def start_operational_discovery(fabric) + import crypto + import mdns + + self.stop_basic_commissioning() # close all PASE commissioning information + + self.mdns_announce_op_discovery(fabric) + end + + ############################################################# + # Commissioning Complete + # + # Stop basic commissioning. + def start_commissioning_complete(session) + var fabric = session.get_fabric() + var fabric_id = fabric.get_fabric_id().copy().reverse().tohex() + var vendor_name = fabric.get_admin_vendor_name() + log(f"MTR: --- Commissioning complete for Fabric '{fabric_id}' (Vendor {vendor_name}) ---", 2) + self.stop_basic_commissioning() # by default close commissioning when it's complete + end + + ############################################################# + # mDNS Configuration + ############################################################# + # Start mDNS and announce hostnames for Wifi and ETH from MAC + # + # When the announce is active, `hostname_wifi` and `hostname_eth` + # are defined + def start_mdns_announce_hostnames() + if tasmota.wifi()['up'] + self._mdns_announce_hostname(false) + else + tasmota.add_rule("Wifi#Connected", def () + self._mdns_announce_hostname(false) + tasmota.remove_rule("Wifi#Connected", "matter_mdns_host") + end, "matter_mdns_host") + end + + if tasmota.eth()['up'] + self._mdns_announce_hostname(true) + else + tasmota.add_rule("Eth#Connected", def () + self._mdns_announce_hostname(true) + tasmota.remove_rule("Eth#Connected", "matter_mdns_host") + end, "matter_mdns_host") + end + end + + ############################################################# + # Start UDP mDNS announcements hostname + # This announcement is independant from commissioning windows + # + # eth is `true` if ethernet turned up, `false` is wifi turned up + def _mdns_announce_hostname(is_eth) + import mdns + import string + + mdns.start() + + try + if is_eth + # Add Hostname (based on MAC) with IPv4/IPv6 addresses + var eth = tasmota.eth() + self.hostname_eth = string.replace(eth.find("mac"), ':', '') + if !self.device.ipv4only || !eth.contains('ip6local') + # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4) + mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6','')) + else + log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3) + mdns.add_hostname(self.hostname_eth, eth.find('ip','')) + end + else + var wifi = tasmota.wifi() + self.hostname_wifi = string.replace(wifi.find("mac"), ':', '') + if !self.device.ipv4only || !wifi.contains('ip6local') + # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4) + mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6','')) + else + log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_wifi, wifi.find('ip','')), 3) + mdns.add_hostname(self.hostname_wifi, wifi.find('ip','')) + end + end + log(format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3) + except .. as e, m + log("MTR: Exception" + str(e) + "|" + str(m), 2) + end + + self.mdns_announce_op_discovery_all_fabrics() + end + + ############################################################# + # Announce MDNS for PASE commissioning + def mdns_announce_PASE() + import mdns + import crypto + + var services = { + "VP": f"{self.device.VENDOR_ID}+{self.device.PRODUCT_ID}", + "D": self.commissioning_discriminator, + "CM":1, # requires passcode + "T":0, # no support for TCP + "SII":5000, "SAI":300 + } + + self.commissioning_instance_wifi = crypto.random(8).tohex() # 16 characters random hostname + self.commissioning_instance_eth = crypto.random(8).tohex() # 16 characters random hostname + + try + if self.hostname_eth + # Add Matter `_matterc._udp` service + # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4) + mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth) + self.mdns_pase_eth = true + + log(format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2) + + # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil` + var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) + subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) + subtype = "_V" + str(self.device.VENDOR_ID) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) + subtype = "_CM1" + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) + end + if self.hostname_wifi + + # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4) + mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi) + self.mdns_pase_wifi = true + + log(format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3) + + # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil` + var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) + subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) + subtype = "_V" + str(self.device.VENDOR_ID) + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) + subtype = "_CM1" + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) + end + except .. as e, m + log("MTR: Exception" + str(e) + "|" + str(m), 2) + end + + end + + ############################################################# + # MDNS remove any PASE announce + def mdns_remove_PASE() + import mdns + + try + if self.mdns_pase_eth + log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3) + log(format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3) + self.mdns_pase_eth = false + mdns.remove_service("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth) + end + if self.mdns_pase_wifi + log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3) + log(format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3) + self.mdns_pase_wifi = false + mdns.remove_service("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi) + end + except .. as e, m + log("MTR: Exception" + str(e) + "|" + str(m), 2) + end + end + + ############################################################# + # Start UDP mDNS announcements for commissioning for all persisted sessions + def mdns_announce_op_discovery_all_fabrics() + for fabric: self.device.sessions.active_fabrics() + if fabric.get_device_id() && fabric.get_fabric_id() + self.mdns_announce_op_discovery(fabric) + end + end + end + + ############################################################# + # Start UDP mDNS announcements for commissioning + def mdns_announce_op_discovery(fabric) + import mdns + try + var device_id = fabric.get_device_id().copy().reverse() + var k_fabric = fabric.get_fabric_compressed() + var op_node = k_fabric.tohex() + "-" + device_id.tohex() + log("MTR: Operational Discovery node = " + op_node, 3) + + # mdns + if (tasmota.eth().find("up")) + log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3) + mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_eth) + var subtype = "_I" + k_fabric.tohex() + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_eth, subtype) + end + if (tasmota.wifi().find("up")) + log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3) + mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_wifi) + var subtype = "_I" + k_fabric.tohex() + log("MTR: adding subtype: "+subtype, 3) + mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_wifi, subtype) + end + except .. as e, m + log("MTR: Exception" + str(e) + "|" + str(m), 2) + end + end + + ############################################################# + # Remove all mDNS announces for all fabrics + def mdns_remove_op_discovery_all_fabrics() + for fabric: self.device.sessions.active_fabrics() + if fabric.get_device_id() && fabric.get_fabric_id() + self.mdns_remove_op_discovery(fabric) + end + end + end + + ############################################################# + # Remove mDNS announce for fabric + def mdns_remove_op_discovery(fabric) + import mdns + try + var device_id = fabric.get_device_id().copy().reverse() + var k_fabric = fabric.get_fabric_compressed() + var op_node = k_fabric.tohex() + "-" + device_id.tohex() + + # mdns + if (tasmota.eth().find("up")) + log(format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3) + mdns.remove_service("_matter", "_tcp", op_node, self.hostname_eth) + end + if (tasmota.wifi().find("up")) + log(format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3) + mdns.remove_service("_matter", "_tcp", op_node, self.hostname_wifi) + end + except .. as e, m + log("MTR: Exception" + str(e) + "|" + str(m), 2) + end + end + + ##################################################################### + # Generate random passcode + ##################################################################### + static var PASSCODE_INVALID = [ 0, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321] + def generate_random_passcode() + import crypto + var passcode + while true + passcode = crypto.random(4).get(0, 4) & 0x7FFFFFF + if passcode > 0x5F5E0FE continue end # larger than allowed + for inv: self.PASSCODE_INVALID + if passcode == inv passcode = nil end + end + if passcode != nil return passcode end + end + end + +end +matter.Commissioning = Matter_Commissioning diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be index cc0528efc..d547c3df7 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be @@ -23,11 +23,9 @@ import matter class Matter_Device static var UDP_PORT = 5540 # this is the default port for group multicast, we also use it for unicast - static var PBKDF_ITERATIONS = 1000 # I don't see any reason to choose a different number static var VENDOR_ID = 0xFFF1 static var PRODUCT_ID = 0x8000 static var FILENAME = "_matter_device.json" - static var PASE_TIMEOUT = 10*60 # default open commissioning window (10 minutes) var started # is the Matter Device started (configured, mDNS and UDPServer started) var plugins # list of plugins instances var plugins_persist # true if plugins configuration needs to be saved @@ -37,27 +35,12 @@ class Matter_Device var udp_server # `matter.UDPServer()` object var profiler var message_handler # `matter.MessageHandler()` object + var commissioning # `matter.Commissioning()` object var sessions # `matter.Session_Store()` objet var ui var tick # increment at each tick, avoids to repeat too frequently some actions # Events var events # Event handler - # Commissioning open - var commissioning_open # timestamp for timeout of commissioning (millis()) or `nil` if closed - var commissioning_iterations # current PBKDF number of iterations - var commissioning_discriminator # commissioning_discriminator - var commissioning_salt # current salt - var commissioning_w0 # current w0 (SPAKE2+) - var commissioning_L # current L (SPAKE2+) - var commissioning_admin_fabric # the fabric that opened the currint commissioning window, or `nil` for default - # information about the device - var commissioning_instance_wifi # random instance name for commissioning (mDNS) - var commissioning_instance_eth # random instance name for commissioning (mDNS) - var hostname_wifi # MAC-derived hostname for commissioning - var hostname_eth # MAC-derived hostname for commissioning - # mDNS active announces - var mdns_pase_eth # do we have an active PASE mDNS announce for eth - var mdns_pase_wifi # do we have an active PASE mDNS announce for wifi # for brige mode, list of HTTP_remote objects (only one instance per remote object) var http_remotes # map of 'domain:port' to `Matter_HTTP_remote` instance or `nil` if no bridges # saved in parameters @@ -114,7 +97,7 @@ class Matter_Device end, "matter_start") end - self._init_basic_commissioning() + self.commissioning = matter.Commissioning(self) tasmota.add_driver(self) @@ -131,60 +114,18 @@ class Matter_Device self._start_udp(self.UDP_PORT) - self.start_mdns_announce_hostnames() + self.commissioning.start_mdns_announce_hostnames() self.started = true end - ############################################################# - # Start Basic Commissioning Window if needed at startup - def _init_basic_commissioning() - # if no fabric is configured, automatically open commissioning at restart - if self.sessions.count_active_fabrics() == 0 - self.start_root_basic_commissioning() - end - end - - ############################################################# - # Start Basic Commissioning with root parameters - # - # Open window for `timeout_s` (default 10 minutes) - def start_root_basic_commissioning(timeout_s) - if timeout_s == nil timeout_s = self.PASE_TIMEOUT end - - # show Manual pairing code in logs - var pairing_code = self.compute_manual_pairing_code() - log(format("MTR: Manual pairing code: %s", pairing_code), 2) - - # output MQTT - var qr_code = self.compute_qrcode_content() - tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter') - - # compute PBKDF - import crypto - var root_salt = crypto.random(16) - - # Compute the PBKDF parameters for SPAKE2+ from root parameters - var passcode = bytes().add(self.root_passcode, 4) - - var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, root_salt, self.PBKDF_ITERATIONS, 80) - var w0s = tv[0..39] - var w1s = tv[40..79] - - var root_w0 = crypto.EC_P256().mod(w0s) - var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded - # self.root_w1 = crypto.EC_P256().mod(w1s) - var root_L = crypto.EC_P256().public_key(w1) - self.start_basic_commissioning(timeout_s, self.PBKDF_ITERATIONS, self.root_discriminator, root_salt, root_w0, #-self.root_w1,-# root_L, nil) - end - ##################################################################### # Remove a fabric and clean all corresponding values and mDNS entries def remove_fabric(fabric) if fabric != nil log("MTR: removing fabric " + fabric.get_fabric_id().copy().reverse().tohex(), 2) self.message_handler.im.subs_shop.remove_by_fabric(fabric) - self.mdns_remove_op_discovery(fabric) + self.commissioning.mdns_remove_op_discovery(fabric) self.sessions.remove_fabric(fabric) end # var sub_fabrics = self.sessions.find_children_fabrics(fabric_parent.get_fabric_index()) @@ -201,91 +142,6 @@ class Matter_Device self.sessions.save_fabrics() end - ############################################################# - # Start Basic Commissioning Window with custom parameters - def start_basic_commissioning(timeout_s, iterations, discriminator, salt, w0, L, admin_fabric) - self.commissioning_open = tasmota.millis() + timeout_s * 1000 - self.commissioning_iterations = iterations - self.commissioning_discriminator = discriminator - self.commissioning_salt = salt - self.commissioning_w0 = w0 - self.commissioning_L = L - self.commissioning_admin_fabric = admin_fabric - - if tasmota.wifi()['up'] || tasmota.eth()['up'] - self.mdns_announce_PASE() - else - tasmota.add_rule("Wifi#Connected", def () - self.mdns_announce_PASE() - tasmota.remove_rule("Wifi#Connected", "mdns_announce_PASE") - end, "mdns_announce_PASE") - tasmota.add_rule("Eth#Connected", def () - self.mdns_announce_PASE() - tasmota.remove_rule("Eth#Connected", "mdns_announce_PASE") - end, "mdns_announce_PASE") - end - end - - ############################################################# - # Is root commissioning currently open. Mostly for UI to know if QRCode needs to be shown. - def is_root_commissioning_open() - return self.commissioning_open != nil && self.commissioning_admin_fabric == nil - end - - ############################################################# - # Stop PASE commissioning, mostly called when CASE is about to start - def stop_basic_commissioning() - var n = nil - if self.is_root_commissioning_open() - tasmota.publish_result('{"Matter":{"Commissioning":0}}', 'Matter') - end - self.commissioning_open = n - - self.mdns_remove_PASE() - - # clear any PBKDF information to free memory - self.commissioning_iterations = n - self.commissioning_discriminator = n - self.commissioning_salt = n - self.commissioning_w0 = n - # self.commissioning_w1 = nil - self.commissioning_L = n - self.commissioning_admin_fabric = n - end - def is_commissioning_open() - return self.commissioning_open != nil - end - - ############################################################# - # Compute QR Code content - can be done only for root PASE - def compute_qrcode_content() - var raw = bytes().resize(11) # we don't use TLV Data so it's only 88 bits or 11 bytes - # version is `000` dont touch - raw.setbits(3, 16, self.VENDOR_ID) - raw.setbits(19, 16, self.PRODUCT_ID) - # custom flow = 0 (offset=35, len=2) - raw.setbits(37, 8, 0x04) # already on IP network - raw.setbits(45, 12, self.root_discriminator & 0xFFF) - raw.setbits(57, 27, self.root_passcode & 0x7FFFFFF) - # padding (offset=84 len=4) - return "MT:" + matter.Base38.encode(raw) - end - - - ############################################################# - # Compute the 11 digits manual pairing code (wihout vendorid nor productid) p.223 - #
- # can be done only for root PASE (we need the passcode, but we don't get it with OpenCommissioningWindow command) - def compute_manual_pairing_code() - var digit_1 = (self.root_discriminator & 0x0FFF) >> 10 - var digit_2_6 = ((self.root_discriminator & 0x0300) << 6) | (self.root_passcode & 0x3FFF) - var digit_7_10 = (self.root_passcode >> 14) - - var ret = format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10) - ret += matter.Verhoeff.checksum(ret) - return ret - end - ##################################################################### # Driver handling of buttons ##################################################################### @@ -330,9 +186,7 @@ class Matter_Device self.sessions.every_second() self.message_handler.every_second() self.events.every_second() # periodically remove bytes() representation of events - if self.commissioning_open != nil && tasmota.time_reached(self.commissioning_open) # timeout reached, close provisioning - self.commissioning_open = nil - end + self.commissioning.every_second() end ############################################################# @@ -440,50 +294,6 @@ class Matter_Device self.udp_server.start(/ raw, addr, port -> self.msg_received(raw, addr, port)) end - ############################################################# - # Start Operational Discovery for this session - # - # Deferred until next tick. - def start_operational_discovery_deferred(fabric) - # defer to next click - tasmota.set_timer(0, /-> self.start_operational_discovery(fabric)) - end - - ############################################################# - # Start Commissioning Complete for this session - # - # Deferred until next tick. - def start_commissioning_complete_deferred(session) - # defer to next click - tasmota.set_timer(0, /-> self.start_commissioning_complete(session)) - end - - ############################################################# - # Start Operational Discovery for this session - # - # Stop Basic Commissioning and clean PASE specific values (to save memory). - # Announce fabric entry in mDNS. - def start_operational_discovery(fabric) - import crypto - import mdns - - self.stop_basic_commissioning() # close all PASE commissioning information - - self.mdns_announce_op_discovery(fabric) - end - - ############################################################# - # Commissioning Complete - # - # Stop basic commissioning. - def start_commissioning_complete(session) - var fabric = session.get_fabric() - var fabric_id = fabric.get_fabric_id().copy().reverse().tohex() - var vendor_name = fabric.get_admin_vendor_name() - log(f"MTR: --- Commissioning complete for Fabric '{fabric_id}' (Vendor {vendor_name}) ---", 2) - self.stop_basic_commissioning() # by default close commissioning when it's complete - end - ################################################################################# # Simple insertion sort - sorts the list in place, and returns the list @@ -734,7 +544,7 @@ class Matter_Device dirty = true end if self.root_passcode == nil - self.root_passcode = self.generate_random_passcode() + self.root_passcode = self.commissioning.generate_random_passcode() dirty = true end if dirty self.save_param() end @@ -814,239 +624,6 @@ class Matter_Device ctx.status = matter.UNSUPPORTED_ENDPOINT end - ############################################################# - # mDNS Configuration - ############################################################# - # Start mDNS and announce hostnames for Wifi and ETH from MAC - # - # When the announce is active, `hostname_wifi` and `hostname_eth` - # are defined - def start_mdns_announce_hostnames() - if tasmota.wifi()['up'] - self._mdns_announce_hostname(false) - else - tasmota.add_rule("Wifi#Connected", def () - self._mdns_announce_hostname(false) - tasmota.remove_rule("Wifi#Connected", "matter_mdns_host") - end, "matter_mdns_host") - end - - if tasmota.eth()['up'] - self._mdns_announce_hostname(true) - else - tasmota.add_rule("Eth#Connected", def () - self._mdns_announce_hostname(true) - tasmota.remove_rule("Eth#Connected", "matter_mdns_host") - end, "matter_mdns_host") - end - end - - ############################################################# - # Start UDP mDNS announcements hostname - # This announcement is independant from commissioning windows - # - # eth is `true` if ethernet turned up, `false` is wifi turned up - def _mdns_announce_hostname(is_eth) - import mdns - import string - - mdns.start() - - try - if is_eth - # Add Hostname (based on MAC) with IPv4/IPv6 addresses - var eth = tasmota.eth() - self.hostname_eth = string.replace(eth.find("mac"), ':', '') - if !self.ipv4only || !eth.contains('ip6local') - # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4) - mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6','')) - else - log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3) - mdns.add_hostname(self.hostname_eth, eth.find('ip','')) - end - else - var wifi = tasmota.wifi() - self.hostname_wifi = string.replace(wifi.find("mac"), ':', '') - if !self.ipv4only || !wifi.contains('ip6local') - # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4) - mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6','')) - else - log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_wifi, wifi.find('ip','')), 3) - mdns.add_hostname(self.hostname_wifi, wifi.find('ip','')) - end - end - log(format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3) - except .. as e, m - log("MTR: Exception" + str(e) + "|" + str(m), 2) - end - - self.mdns_announce_op_discovery_all_fabrics() - end - - ############################################################# - # Announce MDNS for PASE commissioning - def mdns_announce_PASE() - import mdns - import crypto - - var services = { - "VP": f"{self.VENDOR_ID}+{self.PRODUCT_ID}", - "D": self.commissioning_discriminator, - "CM":1, # requires passcode - "T":0, # no support for TCP - "SII":5000, "SAI":300 - } - - self.commissioning_instance_wifi = crypto.random(8).tohex() # 16 characters random hostname - self.commissioning_instance_eth = crypto.random(8).tohex() # 16 characters random hostname - - try - if self.hostname_eth - # Add Matter `_matterc._udp` service - # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4) - mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth) - self.mdns_pase_eth = true - - log(format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2) - - # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil` - var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) - subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) - subtype = "_V" + str(self.VENDOR_ID) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) - subtype = "_CM1" - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype) - end - if self.hostname_wifi - - # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4) - mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi) - self.mdns_pase_wifi = true - - log(format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3) - - # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil` - var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) - subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) - subtype = "_V" + str(self.VENDOR_ID) - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) - subtype = "_CM1" - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype) - end - except .. as e, m - log("MTR: Exception" + str(e) + "|" + str(m), 2) - end - - end - - ############################################################# - # MDNS remove any PASE announce - def mdns_remove_PASE() - import mdns - - try - if self.mdns_pase_eth - log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3) - log(format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3) - self.mdns_pase_eth = false - mdns.remove_service("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth) - end - if self.mdns_pase_wifi - log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3) - log(format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3) - self.mdns_pase_wifi = false - mdns.remove_service("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi) - end - except .. as e, m - log("MTR: Exception" + str(e) + "|" + str(m), 2) - end - end - - ############################################################# - # Start UDP mDNS announcements for commissioning for all persisted sessions - def mdns_announce_op_discovery_all_fabrics() - for fabric: self.sessions.active_fabrics() - if fabric.get_device_id() && fabric.get_fabric_id() - self.mdns_announce_op_discovery(fabric) - end - end - end - - ############################################################# - # Start UDP mDNS announcements for commissioning - def mdns_announce_op_discovery(fabric) - import mdns - try - var device_id = fabric.get_device_id().copy().reverse() - var k_fabric = fabric.get_fabric_compressed() - var op_node = k_fabric.tohex() + "-" + device_id.tohex() - log("MTR: Operational Discovery node = " + op_node, 3) - - # mdns - if (tasmota.eth().find("up")) - log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3) - mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_eth) - var subtype = "_I" + k_fabric.tohex() - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_eth, subtype) - end - if (tasmota.wifi().find("up")) - log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3) - mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_wifi) - var subtype = "_I" + k_fabric.tohex() - log("MTR: adding subtype: "+subtype, 3) - mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_wifi, subtype) - end - except .. as e, m - log("MTR: Exception" + str(e) + "|" + str(m), 2) - end - end - - ############################################################# - # Remove all mDNS announces for all fabrics - def mdns_remove_op_discovery_all_fabrics() - for fabric: self.sessions.active_fabrics() - if fabric.get_device_id() && fabric.get_fabric_id() - self.mdns_remove_op_discovery(fabric) - end - end - end - - ############################################################# - # Remove mDNS announce for fabric - def mdns_remove_op_discovery(fabric) - import mdns - try - var device_id = fabric.get_device_id().copy().reverse() - var k_fabric = fabric.get_fabric_compressed() - var op_node = k_fabric.tohex() + "-" + device_id.tohex() - - # mdns - if (tasmota.eth().find("up")) - log(format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3) - mdns.remove_service("_matter", "_tcp", op_node, self.hostname_eth) - end - if (tasmota.wifi().find("up")) - log(format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3) - mdns.remove_service("_matter", "_tcp", op_node, self.hostname_wifi) - end - except .. as e, m - log("MTR: Exception" + str(e) + "|" + str(m), 2) - end - end - ############################################################# # Try to clean MDNS entries before restart. # @@ -1408,23 +985,6 @@ class Matter_Device end end - ##################################################################### - # Generate random passcode - ##################################################################### - static var PASSCODE_INVALID = [ 0, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321] - def generate_random_passcode() - import crypto - var passcode - while true - passcode = crypto.random(4).get(0, 4) & 0x7FFFFFF - if passcode > 0x5F5E0FE continue end # larger than allowed - for inv: self.PASSCODE_INVALID - if passcode == inv passcode = nil end - end - if passcode != nil return passcode end - end - end - ##################################################################### # Manager HTTP remotes ##################################################################### @@ -1523,7 +1083,7 @@ class Matter_Device def MtrJoin(cmd_found, idx, payload, payload_json) var payload_int = int(payload) if payload_int - self.start_root_basic_commissioning() + self.commissioning.start_root_basic_commissioning() else self.stop_basic_commissioning() end diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h similarity index 68% rename from lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h rename to lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h index 13ecf842a..944e0a787 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h @@ -1,10 +1,10 @@ -/* Solidification of Matter_Commissioning.h */ +/* Solidification of Matter_Commissioning_Context.h */ /********************************************************************\ * Generated code, don't edit * \********************************************************************/ #include "be_constobj.h" -// compact class 'Matter_Commisioning_Context' ktab size: 184, total: 359 (saved 1400 bytes) -static const bvalue be_ktab_class_Matter_Commisioning_Context[184] = { +// 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), @@ -63,132 +63,133 @@ static const bvalue be_ktab_class_Matter_Commisioning_Context[184] = { /* 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_salt), - /* K59 */ be_nested_str_weak(pbkdf_parameters_iterations), - /* K60 */ be_nested_str_weak(commissioning_iterations), - /* K61 */ be_nested_str_weak(tlv2raw), - /* K62 */ be_nested_str_weak(__Msg2), - /* K63 */ be_nested_str_weak(build_response), - /* K64 */ be_nested_str_weak(encode_frame), - /* K65 */ be_nested_str_weak(responder), - /* K66 */ be_nested_str_weak(send_response_frame), - /* K67 */ be_nested_str_weak(add), - /* K68 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake1_X20message), - /* K69 */ be_nested_str_weak(Pake1), - /* K70 */ be_nested_str_weak(pA), - /* K71 */ be_nested_str_weak(SPAKE2P_Matter), - /* K72 */ be_nested_str_weak(commissioning_w0), - /* K73 */ be_nested_str_weak(commissioning_L), - /* K74 */ be_nested_str_weak(compute_pB), - /* K75 */ be_nested_str_weak(compute_ZV_verifier), - /* K76 */ be_nested_str_weak(SHA256), - /* K77 */ be_nested_str_weak(fromstring), - /* K78 */ be_nested_str_weak(Matter_Context_Prefix), - /* K79 */ be_nested_str_weak(set_context), - /* K80 */ be_nested_str_weak(compute_TT_hash), - /* K81 */ be_nested_str_weak(Pake2), - /* K82 */ be_nested_str_weak(pB), - /* K83 */ be_nested_str_weak(cB), - /* K84 */ be_nested_str_weak(__spake_cA), - /* K85 */ be_nested_str_weak(cA), - /* K86 */ be_nested_str_weak(__spake_Ke), - /* K87 */ be_nested_str_weak(Ke), - /* K88 */ be_nested_str_weak(MTR_X3A_X20New_X20Commissioning_X20_X28PASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i), - /* K89 */ be_nested_str_weak(_ip), - /* K90 */ be_nested_str_weak(_port), - /* K91 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake3_X20message), - /* K92 */ be_nested_str_weak(Pake3), - /* K93 */ be_nested_str_weak(MTR_X3A_X20invalid_X20cA_X20received), - /* K94 */ be_nested_str_weak(rtc_utc), - /* K95 */ be_nested_str_weak(HKDF_SHA256), - /* K96 */ be_nested_str_weak(derive), - /* K97 */ be_nested_str_weak(SEKeys_Info), - /* K98 */ be_nested_str_weak(add_session), - /* K99 */ be_nested_str_weak(Sigma3), - /* K100 */ be_nested_str_weak(S3K_Info), - /* K101 */ be_nested_str_weak(shared_secret), - /* K102 */ be_nested_str_weak(TBEData3Encrypted), - /* K103 */ be_nested_str_weak(AES_CCM), - /* K104 */ be_nested_str_weak(TBEData3_Nonce), - /* K105 */ be_nested_str_weak(decrypt), - /* K106 */ be_nested_str_weak(tag), - /* K107 */ be_nested_str_weak(MTR_X3A_X20Tag_X20don_X27t_X20match), - /* K108 */ be_nested_str_weak(TLV), - /* K109 */ be_nested_str_weak(findsubval), - /* K110 */ be_nested_str_weak(findsub), - /* K111 */ be_nested_str_weak(int), - /* K112 */ be_nested_str_weak(peer_node_id), - /* K113 */ be_nested_str_weak(int64), - /* K114 */ be_nested_str_weak(fromu32), - /* K115 */ be_nested_str_weak(tobytes), - /* K116 */ be_nested_str_weak(Matter_TLV_struct), - /* K117 */ be_nested_str_weak(add_TLV), - /* K118 */ be_nested_str_weak(B1), - /* K119 */ be_nested_str_weak(__initiator_pub), - /* K120 */ be_nested_str_weak(__responder_pub), - /* K121 */ be_nested_str_weak(EC_P256), - /* K122 */ be_nested_str_weak(ecdsa_verify_sha256), - /* K123 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature), - /* K124 */ 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), - /* K125 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys), - /* K126 */ be_nested_str_weak(Msg3), - /* K127 */ be_nested_str_weak(close), - /* K128 */ be_nested_str_weak(_breadcrumb), - /* K129 */ be_nested_str_weak(counter_snd_next), - /* K130 */ be_nested_str_weak(set_persist), - /* K131 */ be_nested_str_weak(set_no_expiration), - /* K132 */ be_nested_str_weak(persist_to_fabric), - /* K133 */ be_nested_str_weak(save), - /* K134 */ be_nested_str_weak(is_commissioning_open), - /* K135 */ be_nested_str_weak(MTR_X3A_X20commissioning_X20not_X20open), - /* K136 */ be_nested_str_weak(parse_PBKDFParamRequest), - /* K137 */ be_nested_str_weak(parse_Pake1), - /* K138 */ be_nested_str_weak(parse_Pake3), - /* K139 */ be_nested_str_weak(parse_Sigma1), - /* K140 */ be_nested_str_weak(parse_Sigma3), - /* K141 */ be_nested_str_weak(parse_StatusReport), - /* K142 */ 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), - /* K143 */ be_nested_str_weak(Sigma1), - /* K144 */ be_nested_str_weak(initiatorEphPubKey), - /* K145 */ be_nested_str_weak(resumptionID), - /* K146 */ be_nested_str_weak(initiatorResumeMIC), - /* K147 */ be_nested_str_weak(find_session_by_resumption_id), - /* K148 */ be_nested_str_weak(_fabric), - /* K149 */ 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), - /* 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), - /* K151 */ be_nested_str_weak(Sigma1_Resume), - /* K152 */ be_nested_str_weak(NCASE_SigmaS1), - /* K153 */ be_nested_str_weak(_source_node_id), - /* K154 */ be_nested_str_weak(source_node_id), - /* K155 */ be_nested_str_weak(set_mode_CASE), - /* K156 */ be_nested_str_weak(resumption_id), - /* K157 */ be_nested_str_weak(Sigma2_Resume), - /* K158 */ be_nested_str_weak(NCASE_SigmaS2), - /* K159 */ be_nested_str_weak(Sigma2Resume), - /* K160 */ be_nested_str_weak(sigma2ResumeMIC), - /* K161 */ be_nested_str_weak(responderSessionID), - /* K162 */ be_nested_str_weak(SessionResumptionKeys), - /* K163 */ 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), - /* 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_X20FAILED_X2C_X20switching_X20to_X20CASE), - /* K165 */ be_nested_str_weak(find_fabric_by_destination_id), - /* K166 */ be_nested_str_weak(destinationId), - /* K167 */ be_nested_str_weak(MTR_X3A_X20StatusReport_X28GeneralCode_X3A_X20FAILURE_X2C_X20ProtocolId_X3A_X20SECURE_CHANNEL_X2C_X20ProtocolCode_X3A_X20NO_SHARED_TRUST_ROOTS_X29), - /* K168 */ be_nested_str_weak(__responder_priv), - /* K169 */ be_nested_str_weak(public_key), - /* K170 */ be_nested_str_weak(shared_key), - /* K171 */ be_nested_str_weak(B2), - /* K172 */ be_nested_str_weak(get_noc), - /* K173 */ be_nested_str_weak(get_icac), - /* K174 */ be_nested_str_weak(ecdsa_sign_sha256), - /* K175 */ be_nested_str_weak(get_pk), - /* K176 */ be_nested_str_weak(Msg1), - /* K177 */ be_nested_str_weak(S2K_Info), - /* K178 */ be_nested_str_weak(TBEData2_Nonce), - /* K179 */ be_nested_str_weak(encrypt), - /* K180 */ be_nested_str_weak(Sigma2), - /* K181 */ be_nested_str_weak(responderEphPubKey), - /* K182 */ be_nested_str_weak(encrypted2), - /* K183 */ be_nested_str_weak(MTR_X3A_X20New_X20Connection_X20_X28CASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i), + /* 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), }; @@ -414,7 +415,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /* &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ be_str_weak(parse_PBKDFParamRequest), &be_const_str_solidified, - ( &(const binstruction[113]) { /* code */ + ( &(const binstruction[115]) { /* code */ 0xA40A1200, // 0000 IMPORT R2 K9 0x880C0300, // 0001 GETMBR R3 R1 K0 0x8810031D, // 0002 GETMBR R4 R1 K29 @@ -508,26 +509,28 @@ be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /* 0x90167006, // 005A SETMBR R5 K56 R6 0x8818010D, // 005B GETMBR R6 R0 K13 0x88180D3A, // 005C GETMBR R6 R6 K58 - 0x90167206, // 005D SETMBR R5 K57 R6 - 0x8818010D, // 005E GETMBR R6 R0 K13 - 0x88180D3C, // 005F GETMBR R6 R6 K60 - 0x90167606, // 0060 SETMBR R5 K59 R6 - 0x8C180B3D, // 0061 GETMET R6 R5 K61 - 0x7C180200, // 0062 CALL R6 1 - 0x900E7C06, // 0063 SETMBR R3 K62 R6 - 0x8C1C033F, // 0064 GETMET R7 R1 K63 - 0x54260020, // 0065 LDINT R9 33 - 0x50280200, // 0066 LDBOOL R10 1 0 - 0x7C1C0600, // 0067 CALL R7 3 - 0x8C200F40, // 0068 GETMET R8 R7 K64 - 0x5C280C00, // 0069 MOVE R10 R6 - 0x7C200400, // 006A CALL R8 2 - 0x88240141, // 006B GETMBR R9 R0 K65 - 0x8C241342, // 006C GETMET R9 R9 K66 - 0x5C2C0E00, // 006D MOVE R11 R7 - 0x7C240400, // 006E CALL R9 2 - 0x50240200, // 006F LDBOOL R9 1 0 - 0x80041200, // 0070 RET 1 R9 + 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 }) ) ); @@ -551,29 +554,29 @@ be_local_closure(class_Matter_Commisioning_Context_send_status_report, /* name be_str_weak(send_status_report), &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ - 0x8C18033F, // 0000 GETMET R6 R1 K63 + 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 - 0x8C200F43, // 0006 GETMET R8 R7 K67 + 0x8C200F44, // 0006 GETMET R8 R7 K68 0x5C280400, // 0007 MOVE R10 R2 0x582C0022, // 0008 LDCONST R11 K34 0x7C200600, // 0009 CALL R8 3 - 0x8C200F43, // 000A GETMET R8 R7 K67 + 0x8C200F44, // 000A GETMET R8 R7 K68 0x5C280600, // 000B MOVE R10 R3 0x542E0003, // 000C LDINT R11 4 0x7C200600, // 000D CALL R8 3 - 0x8C200F43, // 000E GETMET R8 R7 K67 + 0x8C200F44, // 000E GETMET R8 R7 K68 0x5C280800, // 000F MOVE R10 R4 0x542E0003, // 0010 LDINT R11 4 0x7C200600, // 0011 CALL R8 3 - 0x8C200D40, // 0012 GETMET R8 R6 K64 + 0x8C200D41, // 0012 GETMET R8 R6 K65 0x5C280E00, // 0013 MOVE R10 R7 0x7C200400, // 0014 CALL R8 2 - 0x88240141, // 0015 GETMBR R9 R0 K65 - 0x8C241342, // 0016 GETMET R9 R9 K66 + 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 @@ -599,7 +602,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */ &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ be_str_weak(parse_Pake1), &be_const_str_solidified, - ( &(const binstruction[112]) { /* code */ + ( &(const binstruction[114]) { /* code */ 0xA40A1200, // 0000 IMPORT R2 K9 0x880C0300, // 0001 GETMBR R3 R1 K0 0x8810031D, // 0002 GETMBR R4 R1 K29 @@ -613,7 +616,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */ 0x2010091F, // 000A NE R4 R4 K31 0x78120010, // 000B JMPF R4 #001D 0xB8120A00, // 000C GETNGBL R4 K5 - 0x58140044, // 000D LDCONST R5 K68 + 0x58140045, // 000D LDCONST R5 K69 0x58180008, // 000E LDCONST R6 K8 0x7C100400, // 000F CALL R4 2 0xB8120A00, // 0010 GETNGBL R4 K5 @@ -630,88 +633,90 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */ 0x50100000, // 001B LDBOOL R4 0 0 0x80040800, // 001C RET 1 R4 0xB8124C00, // 001D GETNGBL R4 K38 - 0x8C100945, // 001E GETMET R4 R4 K69 + 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 - 0x88140946, // 0024 GETMBR R5 R4 K70 - 0x8C180547, // 0025 GETMET R6 R2 K71 + 0x88140947, // 0024 GETMBR R5 R4 K71 + 0x8C180548, // 0025 GETMET R6 R2 K72 0x8820010D, // 0026 GETMBR R8 R0 K13 - 0x88201148, // 0027 GETMBR R8 R8 K72 - 0x4C240000, // 0028 LDNIL R9 - 0x8828010D, // 0029 GETMBR R10 R0 K13 - 0x88281549, // 002A GETMBR R10 R10 K73 - 0x7C180800, // 002B CALL R6 4 - 0x8C1C0537, // 002C GETMET R7 R2 K55 - 0x5426001F, // 002D LDINT R9 32 - 0x7C1C0400, // 002E CALL R7 2 - 0x8C200D4A, // 002F GETMET R8 R6 K74 - 0x5C280E00, // 0030 MOVE R10 R7 - 0x7C200400, // 0031 CALL R8 2 - 0x8C200D4B, // 0032 GETMET R8 R6 K75 - 0x5C280A00, // 0033 MOVE R10 R5 - 0x7C200400, // 0034 CALL R8 2 - 0x8C20054C, // 0035 GETMET R8 R2 K76 - 0x7C200200, // 0036 CALL R8 1 - 0x8C241116, // 0037 GETMET R9 R8 K22 - 0x602C0015, // 0038 GETGBL R11 G21 - 0x7C2C0000, // 0039 CALL R11 0 - 0x8C2C174D, // 003A GETMET R11 R11 K77 - 0x8834014E, // 003B GETMBR R13 R0 K78 - 0x7C2C0400, // 003C CALL R11 2 - 0x7C240400, // 003D CALL R9 2 - 0x8C241116, // 003E GETMET R9 R8 K22 - 0x882C072A, // 003F GETMBR R11 R3 K42 - 0x7C240400, // 0040 CALL R9 2 - 0x8C241116, // 0041 GETMET R9 R8 K22 - 0x882C073E, // 0042 GETMBR R11 R3 K62 - 0x7C240400, // 0043 CALL R9 2 - 0x8C241117, // 0044 GETMET R9 R8 K23 - 0x7C240200, // 0045 CALL R9 1 - 0x901A8C05, // 0046 SETMBR R6 K70 R5 - 0x8C280D4F, // 0047 GETMET R10 R6 K79 - 0x5C301200, // 0048 MOVE R12 R9 - 0x7C280400, // 0049 CALL R10 2 - 0x8C280D50, // 004A GETMET R10 R6 K80 - 0x50300200, // 004B LDBOOL R12 1 0 - 0x7C280400, // 004C CALL R10 2 - 0xB82A4C00, // 004D GETNGBL R10 K38 - 0x8C281551, // 004E GETMET R10 R10 K81 - 0x7C280200, // 004F CALL R10 1 - 0x882C0D52, // 0050 GETMBR R11 R6 K82 - 0x902AA40B, // 0051 SETMBR R10 K82 R11 + 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 - 0x8C2C153D, // 0054 GETMET R11 R10 K61 - 0x7C2C0200, // 0055 CALL R11 1 - 0x88300D55, // 0056 GETMBR R12 R6 K85 - 0x900EA80C, // 0057 SETMBR R3 K84 R12 - 0x88300D57, // 0058 GETMBR R12 R6 K87 - 0x900EAC0C, // 0059 SETMBR R3 K86 R12 - 0x8C30033F, // 005A GETMET R12 R1 K63 - 0x543A0022, // 005B LDINT R14 35 - 0x503C0200, // 005C LDBOOL R15 1 0 - 0x7C300600, // 005D CALL R12 3 - 0x8C341940, // 005E GETMET R13 R12 K64 - 0x5C3C1600, // 005F MOVE R15 R11 - 0x7C340400, // 0060 CALL R13 2 - 0xB83A0A00, // 0061 GETNGBL R14 K5 - 0x603C0018, // 0062 GETGBL R15 G24 - 0x58400058, // 0063 LDCONST R16 K88 - 0x8844072F, // 0064 GETMBR R17 R3 K47 - 0x88480759, // 0065 GETMBR R18 R3 K89 - 0x884C075A, // 0066 GETMBR R19 R3 K90 - 0x7C3C0800, // 0067 CALL R15 4 - 0x58400022, // 0068 LDCONST R16 K34 - 0x7C380400, // 0069 CALL R14 2 - 0x88380141, // 006A GETMBR R14 R0 K65 - 0x8C381D42, // 006B GETMET R14 R14 K66 - 0x5C401800, // 006C MOVE R16 R12 - 0x7C380400, // 006D CALL R14 2 - 0x50380200, // 006E LDBOOL R14 1 0 - 0x80041C00, // 006F RET 1 R14 + 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 }) ) ); @@ -736,7 +741,7 @@ be_local_closure(class_Matter_Commisioning_Context_init, /* name */ &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xA40A1200, // 0000 IMPORT R2 K9 - 0x90028201, // 0001 SETMBR R0 K65 R1 + 0x90028401, // 0001 SETMBR R0 K66 R1 0x880C030D, // 0002 GETMBR R3 R1 K13 0x90021A03, // 0003 SETMBR R0 K13 R3 0x80000000, // 0004 RET 0 @@ -776,7 +781,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ 0x2010091F, // 000A NE R4 R4 K31 0x78120010, // 000B JMPF R4 #001D 0xB8120A00, // 000C GETNGBL R4 K5 - 0x5814005B, // 000D LDCONST R5 K91 + 0x5814005C, // 000D LDCONST R5 K92 0x58180008, // 000E LDCONST R6 K8 0x7C100400, // 000F CALL R4 2 0xB8120A00, // 0010 GETNGBL R4 K5 @@ -793,18 +798,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ 0x50100000, // 001B LDBOOL R4 0 0 0x80040800, // 001C RET 1 R4 0xB8124C00, // 001D GETNGBL R4 K38 - 0x8C10095C, // 001E GETMET R4 R4 K92 + 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 - 0x88140955, // 0024 GETMBR R5 R4 K85 - 0x88180754, // 0025 GETMBR R6 R3 K84 + 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 - 0x581C005D, // 0029 LDCONST R7 K93 + 0x581C005E, // 0029 LDCONST R7 K94 0x58200008, // 002A LDCONST R8 K8 0x7C180400, // 002B CALL R6 2 0xB81A0A00, // 002C GETNGBL R6 K5 @@ -821,18 +826,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ 0x50180000, // 0037 LDBOOL R6 0 0 0x80040C00, // 0038 RET 1 R6 0xB81A1400, // 0039 GETNGBL R6 K10 - 0x8C180D5E, // 003A GETMET R6 R6 K94 + 0x8C180D5F, // 003A GETMET R6 R6 K95 0x7C180200, // 003B CALL R6 1 - 0x8C1C055F, // 003C GETMET R7 R2 K95 + 0x8C1C0560, // 003C GETMET R7 R2 K96 0x7C1C0200, // 003D CALL R7 1 - 0x8C1C0F60, // 003E GETMET R7 R7 K96 - 0x88240756, // 003F GETMBR R9 R3 K86 + 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 - 0x8C2C174D, // 0044 GETMET R11 R11 K77 - 0x88340161, // 0045 GETMBR R13 R0 K97 + 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 @@ -854,7 +859,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ 0x5840001F, // 0058 LDCONST R16 K31 0x50440000, // 0059 LDBOOL R17 0 0 0x7C2C0C00, // 005A CALL R11 6 - 0x8C2C0162, // 005B GETMET R11 R0 K98 + 0x8C2C0163, // 005B GETMET R11 R0 K99 0x8834072F, // 005C GETMBR R13 R3 K47 0x8838072D, // 005D GETMBR R14 R3 K45 0x5C3C1000, // 005E MOVE R15 R8 @@ -913,31 +918,31 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x80040600, // 0017 RET 1 R3 0x880C0300, // 0018 GETMBR R3 R1 K0 0xB8124C00, // 0019 GETNGBL R4 K38 - 0x8C100963, // 001A GETMET R4 R4 K99 + 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 - 0x8C14054C, // 0020 GETMET R5 R2 K76 + 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 - 0x881C073E, // 0026 GETMBR R7 R3 K62 + 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 - 0x8C180D4D, // 002C GETMET R6 R6 K77 - 0x88200164, // 002D GETMBR R8 R0 K100 + 0x8C180D4E, // 002C GETMET R6 R6 K78 + 0x88200165, // 002D GETMBR R8 R0 K101 0x7C180400, // 002E CALL R6 2 - 0x8C1C055F, // 002F GETMET R7 R2 K95 + 0x8C1C0560, // 002F GETMET R7 R2 K96 0x7C1C0200, // 0030 CALL R7 1 - 0x8C1C0F60, // 0031 GETMET R7 R7 K96 - 0x88240765, // 0032 GETMBR R9 R3 K101 + 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 @@ -946,18 +951,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x7C1C0A00, // 0038 CALL R7 5 0x5421FFEE, // 0039 LDINT R8 -17 0x40223E08, // 003A CONNECT R8 K31 R8 - 0x88240966, // 003B GETMBR R9 R4 K102 + 0x88240967, // 003B GETMBR R9 R4 K103 0x94201208, // 003C GETIDX R8 R9 R8 0x5429FFEF, // 003D LDINT R10 -16 0x40281503, // 003E CONNECT R10 R10 K3 - 0x882C0966, // 003F GETMBR R11 R4 K102 + 0x882C0967, // 003F GETMBR R11 R4 K103 0x9424160A, // 0040 GETIDX R9 R11 R10 - 0x8C300567, // 0041 GETMET R12 R2 K103 + 0x8C300568, // 0041 GETMET R12 R2 K104 0x5C380E00, // 0042 MOVE R14 R7 0x603C0015, // 0043 GETGBL R15 G21 0x7C3C0000, // 0044 CALL R15 0 - 0x8C3C1F4D, // 0045 GETMET R15 R15 K77 - 0x88440168, // 0046 GETMBR R17 R0 K104 + 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 @@ -967,16 +972,16 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x544A000F, // 004D LDINT R18 16 0x7C300C00, // 004E CALL R12 6 0x5C281800, // 004F MOVE R10 R12 - 0x8C301569, // 0050 GETMET R12 R10 K105 + 0x8C30156A, // 0050 GETMET R12 R10 K106 0x5C381000, // 0051 MOVE R14 R8 0x7C300400, // 0052 CALL R12 2 0x5C2C1800, // 0053 MOVE R11 R12 - 0x8C30156A, // 0054 GETMET R12 R10 K106 + 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 - 0x5838006B, // 0059 LDCONST R14 K107 + 0x5838006C, // 0059 LDCONST R14 K108 0x583C0008, // 005A LDCONST R15 K8 0x7C340400, // 005B CALL R13 2 0xB8360A00, // 005C GETNGBL R13 K5 @@ -993,86 +998,86 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x50340000, // 0067 LDBOOL R13 0 0 0x80041A00, // 0068 RET 1 R13 0xB8364C00, // 0069 GETNGBL R13 K38 - 0x88341B6C, // 006A GETMBR R13 R13 K108 + 0x88341B6D, // 006A GETMBR R13 R13 K109 0x8C341B28, // 006B GETMET R13 R13 K40 0x5C3C1600, // 006C MOVE R15 R11 0x7C340400, // 006D CALL R13 2 - 0x8C381B6D, // 006E GETMET R14 R13 K109 + 0x8C381B6E, // 006E GETMET R14 R13 K110 0x58400025, // 006F LDCONST R16 K37 0x7C380400, // 0070 CALL R14 2 - 0x8C3C1B6D, // 0071 GETMET R15 R13 K109 + 0x8C3C1B6E, // 0071 GETMET R15 R13 K110 0x58440022, // 0072 LDCONST R17 K34 0x7C3C0400, // 0073 CALL R15 2 - 0x8C401B6D, // 0074 GETMET R16 R13 K109 + 0x8C401B6E, // 0074 GETMET R16 R13 K110 0x58480008, // 0075 LDCONST R18 K8 0x7C400400, // 0076 CALL R16 2 0xB8464C00, // 0077 GETNGBL R17 K38 - 0x8844236C, // 0078 GETMBR R17 R17 K108 + 0x8844236D, // 0078 GETMBR R17 R17 K109 0x8C442328, // 0079 GETMET R17 R17 K40 0x5C4C1C00, // 007A MOVE R19 R14 0x7C440400, // 007B CALL R17 2 - 0x8C48236D, // 007C GETMET R18 R17 K109 + 0x8C48236E, // 007C GETMET R18 R17 K110 0x54520008, // 007D LDINT R20 9 0x7C480400, // 007E CALL R18 2 - 0x8C4C236E, // 007F GETMET R19 R17 K110 + 0x8C4C236F, // 007F GETMET R19 R17 K111 0x54560005, // 0080 LDINT R21 6 0x7C4C0400, // 0081 CALL R19 2 - 0x8C50276D, // 0082 GETMET R20 R19 K109 + 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 - 0x1C542B6F, // 0088 EQ R21 R21 K111 + 0x1C542B70, // 0088 EQ R21 R21 K112 0x78560007, // 0089 JMPF R21 #0092 - 0xB856E200, // 008A GETNGBL R21 K113 - 0x8C542B72, // 008B GETMET R21 R21 K114 + 0xB856E400, // 008A GETNGBL R21 K114 + 0x8C542B73, // 008B GETMET R21 R21 K115 0x5C5C2800, // 008C MOVE R23 R20 0x7C540400, // 008D CALL R21 2 - 0x8C542B73, // 008E GETMET R21 R21 K115 + 0x8C542B74, // 008E GETMET R21 R21 K116 0x7C540200, // 008F CALL R21 1 - 0x900EE015, // 0090 SETMBR R3 K112 R21 + 0x900EE215, // 0090 SETMBR R3 K113 R21 0x70020002, // 0091 JMP #0095 - 0x8C542973, // 0092 GETMET R21 R20 K115 + 0x8C542974, // 0092 GETMET R21 R20 K116 0x7C540200, // 0093 CALL R21 1 - 0x900EE015, // 0094 SETMBR R3 K112 R21 + 0x900EE215, // 0094 SETMBR R3 K113 R21 0xB8564C00, // 0095 GETNGBL R21 K38 - 0x88542B6C, // 0096 GETMBR R21 R21 K108 - 0x8C542B74, // 0097 GETMET R21 R21 K116 + 0x88542B6D, // 0096 GETMBR R21 R21 K109 + 0x8C542B75, // 0097 GETMET R21 R21 K117 0x7C540200, // 0098 CALL R21 1 - 0x8C582B75, // 0099 GETMET R22 R21 K117 + 0x8C582B76, // 0099 GETMET R22 R21 K118 0x58600025, // 009A LDCONST R24 K37 0xB8664C00, // 009B GETNGBL R25 K38 - 0x8864336C, // 009C GETMBR R25 R25 K108 - 0x88643376, // 009D GETMBR R25 R25 K118 + 0x8864336D, // 009C GETMBR R25 R25 K109 + 0x88643377, // 009D GETMBR R25 R25 K119 0x5C681C00, // 009E MOVE R26 R14 0x7C580800, // 009F CALL R22 4 - 0x8C582B75, // 00A0 GETMET R22 R21 K117 + 0x8C582B76, // 00A0 GETMET R22 R21 K118 0x58600022, // 00A1 LDCONST R24 K34 0xB8664C00, // 00A2 GETNGBL R25 K38 - 0x8864336C, // 00A3 GETMBR R25 R25 K108 - 0x88643376, // 00A4 GETMBR R25 R25 K118 + 0x8864336D, // 00A3 GETMBR R25 R25 K109 + 0x88643377, // 00A4 GETMBR R25 R25 K119 0x5C681E00, // 00A5 MOVE R26 R15 0x7C580800, // 00A6 CALL R22 4 - 0x8C582B75, // 00A7 GETMET R22 R21 K117 + 0x8C582B76, // 00A7 GETMET R22 R21 K118 0x58600008, // 00A8 LDCONST R24 K8 0xB8664C00, // 00A9 GETNGBL R25 K38 - 0x8864336C, // 00AA GETMBR R25 R25 K108 - 0x88643376, // 00AB GETMBR R25 R25 K118 - 0x88680777, // 00AC GETMBR R26 R3 K119 + 0x8864336D, // 00AA GETMBR R25 R25 K109 + 0x88643377, // 00AB GETMBR R25 R25 K119 + 0x88680778, // 00AC GETMBR R26 R3 K120 0x7C580800, // 00AD CALL R22 4 - 0x8C582B75, // 00AE GETMET R22 R21 K117 + 0x8C582B76, // 00AE GETMET R22 R21 K118 0x54620003, // 00AF LDINT R24 4 0xB8664C00, // 00B0 GETNGBL R25 K38 - 0x8864336C, // 00B1 GETMBR R25 R25 K108 - 0x88643376, // 00B2 GETMBR R25 R25 K118 - 0x88680778, // 00B3 GETMBR R26 R3 K120 + 0x8864336D, // 00B1 GETMBR R25 R25 K109 + 0x88643377, // 00B2 GETMBR R25 R25 K119 + 0x88680779, // 00B3 GETMBR R26 R3 K121 0x7C580800, // 00B4 CALL R22 4 - 0x8C582B3D, // 00B5 GETMET R22 R21 K61 + 0x8C582B3E, // 00B5 GETMET R22 R21 K62 0x7C580200, // 00B6 CALL R22 1 - 0x8C5C0579, // 00B7 GETMET R23 R2 K121 + 0x8C5C057A, // 00B7 GETMET R23 R2 K122 0x7C5C0200, // 00B8 CALL R23 1 - 0x8C5C2F7A, // 00B9 GETMET R23 R23 K122 + 0x8C5C2F7B, // 00B9 GETMET R23 R23 K123 0x5C642400, // 00BA MOVE R25 R18 0x5C682C00, // 00BB MOVE R26 R22 0x5C6C2000, // 00BC MOVE R27 R16 @@ -1080,28 +1085,28 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x5C602E00, // 00BE MOVE R24 R23 0x74620008, // 00BF JMPT R24 #00C9 0xB8620A00, // 00C0 GETNGBL R24 K5 - 0x5864007B, // 00C1 LDCONST R25 K123 + 0x5864007C, // 00C1 LDCONST R25 K124 0x58680022, // 00C2 LDCONST R26 K34 0x7C600400, // 00C3 CALL R24 2 0xB8620A00, // 00C4 GETNGBL R24 K5 - 0x5864007C, // 00C5 LDCONST R25 K124 + 0x5864007D, // 00C5 LDCONST R25 K125 0x58680022, // 00C6 LDCONST R26 K34 0x7C600400, // 00C7 CALL R24 2 0x70020003, // 00C8 JMP #00CD 0xB8620A00, // 00C9 GETNGBL R24 K5 - 0x5864007D, // 00CA LDCONST R25 K125 + 0x5864007E, // 00CA LDCONST R25 K126 0x58680008, // 00CB LDCONST R26 K8 0x7C600400, // 00CC CALL R24 2 - 0x8C60054C, // 00CD GETMET R24 R2 K76 + 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 - 0x8868073E, // 00D3 GETMBR R26 R3 K62 + 0x8868073F, // 00D3 GETMBR R26 R3 K63 0x7C600400, // 00D4 CALL R24 2 0x8C603116, // 00D5 GETMET R24 R24 K22 - 0x8868097E, // 00D6 GETMBR R26 R4 K126 + 0x8868097F, // 00D6 GETMBR R26 R4 K127 0x7C600400, // 00D7 CALL R24 2 0x8C603117, // 00D8 GETMET R24 R24 K23 0x7C600200, // 00D9 CALL R24 1 @@ -1109,18 +1114,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x4C600000, // 00DB LDNIL R24 0x900E5418, // 00DC SETMBR R3 K42 R24 0x4C600000, // 00DD LDNIL R24 - 0x900E7C18, // 00DE SETMBR R3 K62 R24 - 0x8C60055F, // 00DF GETMET R24 R2 K95 + 0x900E7E18, // 00DE SETMBR R3 K63 R24 + 0x8C600560, // 00DF GETMET R24 R2 K96 0x7C600200, // 00E0 CALL R24 1 - 0x8C603160, // 00E1 GETMET R24 R24 K96 - 0x88680765, // 00E2 GETMBR R26 R3 K101 + 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 - 0x8C70394D, // 00E8 GETMET R28 R28 K77 - 0x88780161, // 00E9 GETMBR R30 R0 K97 + 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 @@ -1136,7 +1141,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x406C361C, // 00F6 CONNECT R27 R27 R28 0x946C301B, // 00F7 GETIDX R27 R24 R27 0xB8721400, // 00F8 GETNGBL R28 K10 - 0x8C70395E, // 00F9 GETMET R28 R28 K94 + 0x8C70395F, // 00F9 GETMET R28 R28 K95 0x7C700200, // 00FA CALL R28 1 0x8C740124, // 00FB GETMET R29 R0 K36 0x5C7C0200, // 00FC MOVE R31 R1 @@ -1145,7 +1150,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x5888001F, // 00FF LDCONST R34 K31 0x508C0200, // 0100 LDBOOL R35 1 0 0x7C740C00, // 0101 CALL R29 6 - 0x8C74077F, // 0102 GETMET R29 R3 K127 + 0x8C740780, // 0102 GETMET R29 R3 K128 0x7C740200, // 0103 CALL R29 1 0x8C74071C, // 0104 GETMET R29 R3 K28 0x5C7C3200, // 0105 MOVE R31 R25 @@ -1153,17 +1158,17 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ 0x5C843600, // 0107 MOVE R33 R27 0x5C883800, // 0108 MOVE R34 R28 0x7C740A00, // 0109 CALL R29 5 - 0x900F011F, // 010A SETMBR R3 K128 K31 - 0x8C740781, // 010B GETMET R29 R3 K129 + 0x900F031F, // 010A SETMBR R3 K129 K31 + 0x8C740782, // 010B GETMET R29 R3 K130 0x7C740200, // 010C CALL R29 1 - 0x8C740782, // 010D GETMET R29 R3 K130 + 0x8C740783, // 010D GETMET R29 R3 K131 0x507C0200, // 010E LDBOOL R31 1 0 0x7C740400, // 010F CALL R29 2 - 0x8C740783, // 0110 GETMET R29 R3 K131 + 0x8C740784, // 0110 GETMET R29 R3 K132 0x7C740200, // 0111 CALL R29 1 - 0x8C740784, // 0112 GETMET R29 R3 K132 + 0x8C740785, // 0112 GETMET R29 R3 K133 0x7C740200, // 0113 CALL R29 1 - 0x8C740785, // 0114 GETMET R29 R3 K133 + 0x8C740786, // 0114 GETMET R29 R3 K134 0x7C740200, // 0115 CALL R29 1 0x50740200, // 0116 LDBOOL R29 1 0 0x80043A00, // 0117 RET 1 R29 @@ -1189,95 +1194,96 @@ be_local_closure(class_Matter_Commisioning_Context_process_incoming, /* name * &be_ktab_class_Matter_Commisioning_Context, /* shared constants */ be_str_weak(process_incoming), &be_const_str_solidified, - ( &(const binstruction[88]) { /* code */ + ( &(const binstruction[89]) { /* code */ 0x8808010D, // 0000 GETMBR R2 R0 K13 - 0x8C080586, // 0001 GETMET R2 R2 K134 - 0x7C080200, // 0002 CALL R2 1 - 0x740A000D, // 0003 JMPT R2 #0012 - 0x8808031D, // 0004 GETMBR R2 R1 K29 - 0x540E001F, // 0005 LDINT R3 32 - 0x28080403, // 0006 GE R2 R2 R3 - 0x780A0009, // 0007 JMPF R2 #0012 - 0x8808031D, // 0008 GETMBR R2 R1 K29 - 0x540E0023, // 0009 LDINT R3 36 - 0x18080403, // 000A LE R2 R2 R3 - 0x780A0005, // 000B JMPF R2 #0012 - 0xB80A0A00, // 000C GETNGBL R2 K5 - 0x580C0087, // 000D LDCONST R3 K135 - 0x58100022, // 000E LDCONST R4 K34 - 0x7C080400, // 000F CALL R2 2 - 0x50080000, // 0010 LDBOOL R2 0 0 - 0x80040400, // 0011 RET 1 R2 - 0x8808031D, // 0012 GETMBR R2 R1 K29 - 0x540E000F, // 0013 LDINT R3 16 - 0x1C080403, // 0014 EQ R2 R2 R3 - 0x780A0000, // 0015 JMPF R2 #0017 - 0x7002003E, // 0016 JMP #0056 - 0x8808031D, // 0017 GETMBR R2 R1 K29 - 0x540E001F, // 0018 LDINT R3 32 - 0x1C080403, // 0019 EQ R2 R2 R3 - 0x780A0004, // 001A JMPF R2 #0020 - 0x8C080188, // 001B GETMET R2 R0 K136 - 0x5C100200, // 001C MOVE R4 R1 - 0x7C080400, // 001D CALL R2 2 - 0x80040400, // 001E RET 1 R2 - 0x70020035, // 001F JMP #0056 - 0x8808031D, // 0020 GETMBR R2 R1 K29 - 0x540E0021, // 0021 LDINT R3 34 - 0x1C080403, // 0022 EQ R2 R2 R3 - 0x780A0004, // 0023 JMPF R2 #0029 - 0x8C080189, // 0024 GETMET R2 R0 K137 - 0x5C100200, // 0025 MOVE R4 R1 - 0x7C080400, // 0026 CALL R2 2 - 0x80040400, // 0027 RET 1 R2 - 0x7002002C, // 0028 JMP #0056 - 0x8808031D, // 0029 GETMBR R2 R1 K29 - 0x540E0023, // 002A LDINT R3 36 - 0x1C080403, // 002B EQ R2 R2 R3 - 0x780A0004, // 002C JMPF R2 #0032 - 0x8C08018A, // 002D GETMET R2 R0 K138 - 0x5C100200, // 002E MOVE R4 R1 - 0x7C080400, // 002F CALL R2 2 - 0x80040400, // 0030 RET 1 R2 - 0x70020023, // 0031 JMP #0056 - 0x8808031D, // 0032 GETMBR R2 R1 K29 - 0x540E002F, // 0033 LDINT R3 48 - 0x1C080403, // 0034 EQ R2 R2 R3 - 0x780A0004, // 0035 JMPF R2 #003B - 0x8C08018B, // 0036 GETMET R2 R0 K139 - 0x5C100200, // 0037 MOVE R4 R1 - 0x7C080400, // 0038 CALL R2 2 - 0x80040400, // 0039 RET 1 R2 - 0x7002001A, // 003A JMP #0056 - 0x8808031D, // 003B GETMBR R2 R1 K29 - 0x540E0031, // 003C LDINT R3 50 - 0x1C080403, // 003D EQ R2 R2 R3 - 0x780A0004, // 003E JMPF R2 #0044 - 0x8C08018C, // 003F GETMET R2 R0 K140 - 0x5C100200, // 0040 MOVE R4 R1 - 0x7C080400, // 0041 CALL R2 2 - 0x80040400, // 0042 RET 1 R2 - 0x70020011, // 0043 JMP #0056 - 0x8808031D, // 0044 GETMBR R2 R1 K29 - 0x540E003F, // 0045 LDINT R3 64 - 0x1C080403, // 0046 EQ R2 R2 R3 - 0x780A0004, // 0047 JMPF R2 #004D - 0x8C08018D, // 0048 GETMET R2 R0 K141 - 0x5C100200, // 0049 MOVE R4 R1 - 0x7C080400, // 004A CALL R2 2 - 0x80040400, // 004B RET 1 R2 - 0x70020008, // 004C JMP #0056 - 0xB80A0A00, // 004D GETNGBL R2 K5 - 0x600C0018, // 004E GETGBL R3 G24 - 0x5810008E, // 004F LDCONST R4 K142 - 0x8814031D, // 0050 GETMBR R5 R1 K29 - 0x7C0C0400, // 0051 CALL R3 2 - 0x58100022, // 0052 LDCONST R4 K34 - 0x7C080400, // 0053 CALL R2 2 - 0x50080000, // 0054 LDBOOL R2 0 0 - 0x80040400, // 0055 RET 1 R2 - 0x50080000, // 0056 LDBOOL R2 0 0 - 0x80040400, // 0057 RET 1 R2 + 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 }) ) ); @@ -1327,19 +1333,19 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x50100000, // 0017 LDBOOL R4 0 0 0x80040800, // 0018 RET 1 R4 0xB8124C00, // 0019 GETNGBL R4 K38 - 0x8C10098F, // 001A GETMET R4 R4 K143 + 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 - 0x88140990, // 0020 GETMBR R5 R4 K144 - 0x900EEE05, // 0021 SETMBR R3 K119 R5 - 0x88140991, // 0022 GETMBR R5 R4 K145 + 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 - 0x88140992, // 0026 GETMBR R5 R4 K146 + 0x88140993, // 0026 GETMBR R5 R4 K147 0x4C180000, // 0027 LDNIL R6 0x20140A06, // 0028 NE R5 R5 R6 0x74160000, // 0029 JMPT R5 #002B @@ -1349,60 +1355,60 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x78160014, // 002D JMPF R5 #0043 0x881C010D, // 002E GETMBR R7 R0 K13 0x881C0F0E, // 002F GETMBR R7 R7 K14 - 0x8C1C0F93, // 0030 GETMET R7 R7 K147 - 0x88240991, // 0031 GETMBR R9 R4 K145 + 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 - 0x881C0D94, // 0037 GETMBR R7 R6 K148 + 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 - 0x58240095, // 003D LDCONST R9 K149 - 0x88280991, // 003E GETMBR R10 R4 K145 + 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 - 0x58200096, // 0045 LDCONST R8 K150 + 0x58200097, // 0045 LDCONST R8 K151 0x58240008, // 0046 LDCONST R9 K8 0x7C1C0400, // 0047 CALL R7 2 0x881C0935, // 0048 GETMBR R7 R4 K53 - 0x88200991, // 0049 GETMBR R8 R4 K145 + 0x88200992, // 0049 GETMBR R8 R4 K146 0x001C0E08, // 004A ADD R7 R7 R8 0x60200015, // 004B GETGBL R8 G21 0x7C200000, // 004C CALL R8 0 - 0x8C20114D, // 004D GETMET R8 R8 K77 - 0x58280097, // 004E LDCONST R10 K151 + 0x8C20114E, // 004D GETMET R8 R8 K78 + 0x58280098, // 004E LDCONST R10 K152 0x7C200400, // 004F CALL R8 2 - 0x8C24055F, // 0050 GETMET R9 R2 K95 + 0x8C240560, // 0050 GETMET R9 R2 K96 0x7C240200, // 0051 CALL R9 1 - 0x8C241360, // 0052 GETMET R9 R9 K96 - 0x882C0D65, // 0053 GETMBR R11 R6 K101 + 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 - 0x8C28154D, // 005A GETMET R10 R10 K77 - 0x58300098, // 005B LDCONST R12 K152 + 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 - 0x88300992, // 005F GETMBR R12 R4 K146 + 0x88300993, // 005F GETMBR R12 R4 K147 0x942C180B, // 0060 GETIDX R11 R12 R11 0x5435FFEF, // 0061 LDINT R13 -16 0x40341B03, // 0062 CONNECT R13 R13 K3 - 0x88380992, // 0063 GETMBR R14 R4 K146 + 0x88380993, // 0063 GETMBR R14 R4 K147 0x94301C0D, // 0064 GETIDX R12 R14 R13 - 0x8C3C0567, // 0065 GETMET R15 R2 K103 + 0x8C3C0568, // 0065 GETMET R15 R2 K104 0x5C441200, // 0066 MOVE R17 R9 0x5C481400, // 0067 MOVE R18 R10 0x604C0015, // 0068 GETGBL R19 G21 @@ -1413,19 +1419,19 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x5456000F, // 006D LDINT R21 16 0x7C3C0C00, // 006E CALL R15 6 0x5C341E00, // 006F MOVE R13 R15 - 0x8C3C1B69, // 0070 GETMET R15 R13 K105 + 0x8C3C1B6A, // 0070 GETMET R15 R13 K106 0x5C441600, // 0071 MOVE R17 R11 0x7C3C0400, // 0072 CALL R15 2 0x5C381E00, // 0073 MOVE R14 R15 - 0x8C3C1B6A, // 0074 GETMET R15 R13 K106 + 0x8C3C1B6B, // 0074 GETMET R15 R13 K107 0x7C3C0200, // 0075 CALL R15 1 0x1C40180F, // 0076 EQ R16 R12 R15 0x7842008A, // 0077 JMPF R16 #0103 - 0x88400D94, // 0078 GETMBR R16 R6 K148 - 0x900F2810, // 0079 SETMBR R3 K148 R16 - 0x8840039A, // 007A GETMBR R16 R1 K154 - 0x900F3210, // 007B SETMBR R3 K153 R16 - 0x8C40079B, // 007C GETMET R16 R3 K155 + 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 @@ -1443,62 +1449,62 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x7C440800, // 008B CALL R17 4 0x58480008, // 008C LDCONST R18 K8 0x7C400400, // 008D CALL R16 2 - 0x88400D65, // 008E GETMBR R16 R6 K101 - 0x900ECA10, // 008F SETMBR R3 K101 R16 + 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 - 0x900F3810, // 0093 SETMBR R3 K156 R16 + 0x900F3A10, // 0093 SETMBR R3 K157 R16 0x60400015, // 0094 GETGBL R16 G21 0x7C400000, // 0095 CALL R16 0 - 0x8C40214D, // 0096 GETMET R16 R16 K77 - 0x5848009D, // 0097 LDCONST R18 K157 + 0x8C40214E, // 0096 GETMET R16 R16 K78 + 0x5848009E, // 0097 LDCONST R18 K158 0x7C400400, // 0098 CALL R16 2 0x88440935, // 0099 GETMBR R17 R4 K53 - 0x8848079C, // 009A GETMBR R18 R3 K156 + 0x8848079D, // 009A GETMBR R18 R3 K157 0x00442212, // 009B ADD R17 R17 R18 - 0x8C48055F, // 009C GETMET R18 R2 K95 + 0x8C480560, // 009C GETMET R18 R2 K96 0x7C480200, // 009D CALL R18 1 - 0x8C482560, // 009E GETMET R18 R18 K96 - 0x88500765, // 009F GETMBR R20 R3 K101 + 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 - 0x8C4C0567, // 00A4 GETMET R19 R2 K103 + 0x8C4C0568, // 00A4 GETMET R19 R2 K104 0x5C542400, // 00A5 MOVE R21 R18 0x60580015, // 00A6 GETGBL R22 G21 0x7C580000, // 00A7 CALL R22 0 - 0x8C582D4D, // 00A8 GETMET R22 R22 K77 - 0x5860009E, // 00A9 LDCONST R24 K158 + 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 - 0x8C50276A, // 00B0 GETMET R20 R19 K106 + 0x8C50276B, // 00B0 GETMET R20 R19 K107 0x7C500200, // 00B1 CALL R20 1 0xB8564C00, // 00B2 GETNGBL R21 K38 - 0x8C542B9F, // 00B3 GETMET R21 R21 K159 + 0x8C542BA0, // 00B3 GETMET R21 R21 K160 0x7C540200, // 00B4 CALL R21 1 - 0x8858079C, // 00B5 GETMBR R22 R3 K156 - 0x90572216, // 00B6 SETMBR R21 K145 R22 - 0x90574014, // 00B7 SETMBR R21 K160 R20 + 0x8858079D, // 00B5 GETMBR R22 R3 K157 + 0x90572416, // 00B6 SETMBR R21 K146 R22 + 0x90574214, // 00B7 SETMBR R21 K161 R20 0x8858072F, // 00B8 GETMBR R22 R3 K47 - 0x90574216, // 00B9 SETMBR R21 K161 R22 + 0x90574416, // 00B9 SETMBR R21 K162 R22 0x88580935, // 00BA GETMBR R22 R4 K53 - 0x885C0D9C, // 00BB GETMBR R23 R6 K156 + 0x885C0D9D, // 00BB GETMBR R23 R6 K157 0x00582C17, // 00BC ADD R22 R22 R23 - 0x8C5C055F, // 00BD GETMET R23 R2 K95 + 0x8C5C0560, // 00BD GETMET R23 R2 K96 0x7C5C0200, // 00BE CALL R23 1 - 0x8C5C2F60, // 00BF GETMET R23 R23 K96 - 0x88640765, // 00C0 GETMBR R25 R3 K101 + 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 - 0x8C6C374D, // 00C4 GETMET R27 R27 K77 - 0x587400A2, // 00C5 LDCONST R29 K162 + 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 @@ -1514,24 +1520,24 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x4068341B, // 00D2 CONNECT R26 R26 R27 0x94682E1A, // 00D3 GETIDX R26 R23 R26 0xB86E1400, // 00D4 GETNGBL R27 K10 - 0x8C6C375E, // 00D5 GETMET R27 R27 K94 + 0x8C6C375F, // 00D5 GETMET R27 R27 K95 0x7C6C0200, // 00D6 CALL R27 1 - 0x8C702B3D, // 00D7 GETMET R28 R21 K61 + 0x8C702B3E, // 00D7 GETMET R28 R21 K62 0x7C700200, // 00D8 CALL R28 1 0x4C740000, // 00D9 LDNIL R29 0x900E541D, // 00DA SETMBR R3 K42 R29 - 0x8C74033F, // 00DB GETMET R29 R1 K63 + 0x8C740340, // 00DB GETMET R29 R1 K64 0x547E0032, // 00DC LDINT R31 51 0x50800200, // 00DD LDBOOL R32 1 0 0x7C740600, // 00DE CALL R29 3 - 0x8C783B40, // 00DF GETMET R30 R29 K64 + 0x8C783B41, // 00DF GETMET R30 R29 K65 0x5C803800, // 00E0 MOVE R32 R28 0x7C780400, // 00E1 CALL R30 2 - 0x887C0141, // 00E2 GETMBR R31 R0 K65 - 0x8C7C3F42, // 00E3 GETMET R31 R31 K66 + 0x887C0142, // 00E2 GETMBR R31 R0 K66 + 0x8C7C3F43, // 00E3 GETMET R31 R31 K67 0x5C843A00, // 00E4 MOVE R33 R29 0x7C7C0400, // 00E5 CALL R31 2 - 0x8C7C077F, // 00E6 GETMET R31 R3 K127 + 0x8C7C0780, // 00E6 GETMET R31 R3 K128 0x7C7C0200, // 00E7 CALL R31 1 0x8C7C071C, // 00E8 GETMET R31 R3 K28 0x5C843000, // 00E9 MOVE R33 R24 @@ -1539,48 +1545,48 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x5C8C3400, // 00EB MOVE R35 R26 0x5C903600, // 00EC MOVE R36 R27 0x7C7C0A00, // 00ED CALL R31 5 - 0x887C0D70, // 00EE GETMBR R31 R6 K112 - 0x900EE01F, // 00EF SETMBR R3 K112 R31 - 0x900F011F, // 00F0 SETMBR R3 K128 K31 - 0x8C7C0781, // 00F1 GETMET R31 R3 K129 + 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 - 0x8C7C0782, // 00F3 GETMET R31 R3 K130 + 0x8C7C0783, // 00F3 GETMET R31 R3 K131 0x50840200, // 00F4 LDBOOL R33 1 0 0x7C7C0400, // 00F5 CALL R31 2 - 0x8C7C0783, // 00F6 GETMET R31 R3 K131 + 0x8C7C0784, // 00F6 GETMET R31 R3 K132 0x7C7C0200, // 00F7 CALL R31 1 - 0x8C7C0784, // 00F8 GETMET R31 R3 K132 + 0x8C7C0785, // 00F8 GETMET R31 R3 K133 0x7C7C0200, // 00F9 CALL R31 1 - 0x8C7C0785, // 00FA GETMET R31 R3 K133 + 0x8C7C0786, // 00FA GETMET R31 R3 K134 0x7C7C0200, // 00FB CALL R31 1 0xB87E0A00, // 00FC GETNGBL R31 K5 - 0x588000A3, // 00FD LDCONST R32 K163 + 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 - 0x584400A4, // 0104 LDCONST R17 K164 + 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 - 0x8C1C01A5, // 010A GETMET R7 R0 K165 - 0x882409A6, // 010B GETMBR R9 R4 K166 + 0x8C1C01A6, // 010A GETMET R7 R0 K166 + 0x882409A7, // 010B GETMBR R9 R4 K167 0x88280935, // 010C GETMBR R10 R4 K53 0x7C1C0600, // 010D CALL R7 3 - 0x900F2807, // 010E SETMBR R3 K148 R7 + 0x900F2A07, // 010E SETMBR R3 K149 R7 0x4C200000, // 010F LDNIL R8 0x1C200608, // 0110 EQ R8 R3 R8 0x74220003, // 0111 JMPT R8 #0116 - 0x88200794, // 0112 GETMBR R8 R3 K148 + 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 - 0x582400A7, // 0117 LDCONST R9 K167 + 0x582400A8, // 0117 LDCONST R9 K168 0x58280008, // 0118 LDCONST R10 K8 0x7C200400, // 0119 CALL R8 2 0x8C200124, // 011A GETMET R8 R0 K36 @@ -1592,9 +1598,9 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x7C200C00, // 0120 CALL R8 6 0x50200000, // 0121 LDBOOL R8 0 0 0x80041000, // 0122 RET 1 R8 - 0x8820039A, // 0123 GETMBR R8 R1 K154 - 0x900F3208, // 0124 SETMBR R3 K153 R8 - 0x8C20079B, // 0125 GETMET R8 R3 K155 + 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 @@ -1615,106 +1621,106 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x8C200537, // 0137 GETMET R8 R2 K55 0x542A000F, // 0138 LDINT R10 16 0x7C200400, // 0139 CALL R8 2 - 0x900F3808, // 013A SETMBR R3 K156 R8 + 0x900F3A08, // 013A SETMBR R3 K157 R8 0x8C200537, // 013B GETMET R8 R2 K55 0x542A001F, // 013C LDINT R10 32 0x7C200400, // 013D CALL R8 2 - 0x900F5008, // 013E SETMBR R3 K168 R8 - 0x8C200579, // 013F GETMET R8 R2 K121 + 0x900F5208, // 013E SETMBR R3 K169 R8 + 0x8C20057A, // 013F GETMET R8 R2 K122 0x7C200200, // 0140 CALL R8 1 - 0x8C2011A9, // 0141 GETMET R8 R8 K169 - 0x882807A8, // 0142 GETMBR R10 R3 K168 + 0x8C2011AA, // 0141 GETMET R8 R8 K170 + 0x882807A9, // 0142 GETMBR R10 R3 K169 0x7C200400, // 0143 CALL R8 2 - 0x900EF008, // 0144 SETMBR R3 K120 R8 + 0x900EF208, // 0144 SETMBR R3 K121 R8 0x8C200537, // 0145 GETMET R8 R2 K55 0x542A001F, // 0146 LDINT R10 32 0x7C200400, // 0147 CALL R8 2 - 0x8C240579, // 0148 GETMET R9 R2 K121 + 0x8C24057A, // 0148 GETMET R9 R2 K122 0x7C240200, // 0149 CALL R9 1 - 0x8C2413AA, // 014A GETMET R9 R9 K170 - 0x882C07A8, // 014B GETMBR R11 R3 K168 - 0x88300990, // 014C GETMBR R12 R4 K144 + 0x8C2413AB, // 014A GETMET R9 R9 K171 + 0x882C07A9, // 014B GETMBR R11 R3 K169 + 0x88300991, // 014C GETMBR R12 R4 K145 0x7C240600, // 014D CALL R9 3 - 0x900ECA09, // 014E SETMBR R3 K101 R9 + 0x900ECC09, // 014E SETMBR R3 K102 R9 0xB8264C00, // 014F GETNGBL R9 K38 - 0x8824136C, // 0150 GETMBR R9 R9 K108 - 0x8C241374, // 0151 GETMET R9 R9 K116 + 0x8824136D, // 0150 GETMBR R9 R9 K109 + 0x8C241375, // 0151 GETMET R9 R9 K117 0x7C240200, // 0152 CALL R9 1 - 0x8C281375, // 0153 GETMET R10 R9 K117 + 0x8C281376, // 0153 GETMET R10 R9 K118 0x58300025, // 0154 LDCONST R12 K37 0xB8364C00, // 0155 GETNGBL R13 K38 - 0x88341B6C, // 0156 GETMBR R13 R13 K108 - 0x88341BAB, // 0157 GETMBR R13 R13 K171 - 0x8C380FAC, // 0158 GETMET R14 R7 K172 + 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 - 0x8C281375, // 015B GETMET R10 R9 K117 + 0x8C281376, // 015B GETMET R10 R9 K118 0x58300022, // 015C LDCONST R12 K34 0xB8364C00, // 015D GETNGBL R13 K38 - 0x88341B6C, // 015E GETMBR R13 R13 K108 - 0x88341BAB, // 015F GETMBR R13 R13 K171 - 0x8C380FAD, // 0160 GETMET R14 R7 K173 + 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 - 0x8C281375, // 0163 GETMET R10 R9 K117 + 0x8C281376, // 0163 GETMET R10 R9 K118 0x58300008, // 0164 LDCONST R12 K8 0xB8364C00, // 0165 GETNGBL R13 K38 - 0x88341B6C, // 0166 GETMBR R13 R13 K108 - 0x88341BAB, // 0167 GETMBR R13 R13 K171 - 0x88380778, // 0168 GETMBR R14 R3 K120 + 0x88341B6D, // 0166 GETMBR R13 R13 K109 + 0x88341BAC, // 0167 GETMBR R13 R13 K172 + 0x88380779, // 0168 GETMBR R14 R3 K121 0x7C280800, // 0169 CALL R10 4 - 0x8C281375, // 016A GETMET R10 R9 K117 + 0x8C281376, // 016A GETMET R10 R9 K118 0x54320003, // 016B LDINT R12 4 0xB8364C00, // 016C GETNGBL R13 K38 - 0x88341B6C, // 016D GETMBR R13 R13 K108 - 0x88341BAB, // 016E GETMBR R13 R13 K171 - 0x88380990, // 016F GETMBR R14 R4 K144 + 0x88341B6D, // 016D GETMBR R13 R13 K109 + 0x88341BAC, // 016E GETMBR R13 R13 K172 + 0x88380991, // 016F GETMBR R14 R4 K145 0x7C280800, // 0170 CALL R10 4 - 0x8C280579, // 0171 GETMET R10 R2 K121 + 0x8C28057A, // 0171 GETMET R10 R2 K122 0x7C280200, // 0172 CALL R10 1 - 0x8C2815AE, // 0173 GETMET R10 R10 K174 - 0x8C300FAF, // 0174 GETMET R12 R7 K175 + 0x8C2815AF, // 0173 GETMET R10 R10 K175 + 0x8C300FB0, // 0174 GETMET R12 R7 K176 0x7C300200, // 0175 CALL R12 1 - 0x8C34133D, // 0176 GETMET R13 R9 K61 + 0x8C34133E, // 0176 GETMET R13 R9 K62 0x7C340200, // 0177 CALL R13 1 0x7C280600, // 0178 CALL R10 3 0xB82E4C00, // 0179 GETNGBL R11 K38 - 0x882C176C, // 017A GETMBR R11 R11 K108 - 0x8C2C1774, // 017B GETMET R11 R11 K116 + 0x882C176D, // 017A GETMBR R11 R11 K109 + 0x8C2C1775, // 017B GETMET R11 R11 K117 0x7C2C0200, // 017C CALL R11 1 - 0x8C301775, // 017D GETMET R12 R11 K117 + 0x8C301776, // 017D GETMET R12 R11 K118 0x58380025, // 017E LDCONST R14 K37 0xB83E4C00, // 017F GETNGBL R15 K38 - 0x883C1F6C, // 0180 GETMBR R15 R15 K108 - 0x883C1FAB, // 0181 GETMBR R15 R15 K171 - 0x8C400FAC, // 0182 GETMET R16 R7 K172 + 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 - 0x8C301775, // 0185 GETMET R12 R11 K117 + 0x8C301776, // 0185 GETMET R12 R11 K118 0x58380022, // 0186 LDCONST R14 K34 0xB83E4C00, // 0187 GETNGBL R15 K38 - 0x883C1F6C, // 0188 GETMBR R15 R15 K108 - 0x883C1FAB, // 0189 GETMBR R15 R15 K171 - 0x8C400FAD, // 018A GETMET R16 R7 K173 + 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 - 0x8C301775, // 018D GETMET R12 R11 K117 + 0x8C301776, // 018D GETMET R12 R11 K118 0x58380008, // 018E LDCONST R14 K8 0xB83E4C00, // 018F GETNGBL R15 K38 - 0x883C1F6C, // 0190 GETMBR R15 R15 K108 - 0x883C1FAB, // 0191 GETMBR R15 R15 K171 + 0x883C1F6D, // 0190 GETMBR R15 R15 K109 + 0x883C1FAC, // 0191 GETMBR R15 R15 K172 0x5C401400, // 0192 MOVE R16 R10 0x7C300800, // 0193 CALL R12 4 - 0x8C301775, // 0194 GETMET R12 R11 K117 + 0x8C301776, // 0194 GETMET R12 R11 K118 0x543A0003, // 0195 LDINT R14 4 0xB83E4C00, // 0196 GETNGBL R15 K38 - 0x883C1F6C, // 0197 GETMBR R15 R15 K108 - 0x883C1FAB, // 0198 GETMBR R15 R15 K171 - 0x8840079C, // 0199 GETMBR R16 R3 K156 + 0x883C1F6D, // 0197 GETMBR R15 R15 K109 + 0x883C1FAC, // 0198 GETMBR R15 R15 K172 + 0x8840079D, // 0199 GETMBR R16 R3 K157 0x7C300800, // 019A CALL R12 4 - 0x883009B0, // 019B GETMBR R12 R4 K176 + 0x883009B1, // 019B GETMBR R12 R4 K177 0x900E540C, // 019C SETMBR R3 K42 R12 - 0x8C30054C, // 019D GETMET R12 R2 K76 + 0x8C30054D, // 019D GETMET R12 R2 K77 0x7C300200, // 019E CALL R12 1 0x8C301916, // 019F GETMET R12 R12 K22 0x8838072A, // 01A0 GETMBR R14 R3 K42 @@ -1723,31 +1729,31 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x7C300200, // 01A3 CALL R12 1 0x60340015, // 01A4 GETGBL R13 G21 0x7C340000, // 01A5 CALL R13 0 - 0x8C341B4D, // 01A6 GETMET R13 R13 K77 - 0x883C01B1, // 01A7 GETMBR R15 R0 K177 + 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 - 0x883C0778, // 01AC GETMBR R15 R3 K120 + 0x883C0779, // 01AC GETMBR R15 R3 K121 0x00381C0F, // 01AD ADD R14 R14 R15 0x00381C0C, // 01AE ADD R14 R14 R12 - 0x8C3C055F, // 01AF GETMET R15 R2 K95 + 0x8C3C0560, // 01AF GETMET R15 R2 K96 0x7C3C0200, // 01B0 CALL R15 1 - 0x8C3C1F60, // 01B1 GETMET R15 R15 K96 - 0x88440765, // 01B2 GETMBR R17 R3 K101 + 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 - 0x8C40173D, // 01B7 GETMET R16 R11 K61 + 0x8C40173E, // 01B7 GETMET R16 R11 K62 0x7C400200, // 01B8 CALL R16 1 - 0x8C440567, // 01B9 GETMET R17 R2 K103 + 0x8C440568, // 01B9 GETMET R17 R2 K104 0x5C4C1E00, // 01BA MOVE R19 R15 0x60500015, // 01BB GETGBL R20 G21 0x7C500000, // 01BC CALL R20 0 - 0x8C50294D, // 01BD GETMET R20 R20 K77 - 0x885801B2, // 01BE GETMBR R22 R0 K178 + 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 @@ -1756,42 +1762,42 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x7C580200, // 01C4 CALL R22 1 0x545E000F, // 01C5 LDINT R23 16 0x7C440C00, // 01C6 CALL R17 6 - 0x8C4823B3, // 01C7 GETMET R18 R17 K179 + 0x8C4823B4, // 01C7 GETMET R18 R17 K180 0x5C502000, // 01C8 MOVE R20 R16 0x7C480400, // 01C9 CALL R18 2 - 0x8C4C236A, // 01CA GETMET R19 R17 K106 + 0x8C4C236B, // 01CA GETMET R19 R17 K107 0x7C4C0200, // 01CB CALL R19 1 0x00482413, // 01CC ADD R18 R18 R19 0xB84E4C00, // 01CD GETNGBL R19 K38 - 0x8C4C27B4, // 01CE GETMET R19 R19 K180 + 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 - 0x88500778, // 01D3 GETMBR R20 R3 K120 - 0x904F6A14, // 01D4 SETMBR R19 K181 R20 - 0x904F6C12, // 01D5 SETMBR R19 K182 R18 - 0x8C50273D, // 01D6 GETMET R20 R19 K61 + 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 - 0x900E7C14, // 01D8 SETMBR R3 K62 R20 - 0x8C54033F, // 01D9 GETMET R21 R1 K63 + 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 - 0x8C582B40, // 01DD GETMET R22 R21 K64 + 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 - 0x586400B7, // 01E2 LDCONST R25 K183 + 0x586400B8, // 01E2 LDCONST R25 K184 0x8868072F, // 01E3 GETMBR R26 R3 K47 - 0x886C0759, // 01E4 GETMBR R27 R3 K89 - 0x8870075A, // 01E5 GETMBR R28 R3 K90 + 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 - 0x885C0141, // 01E9 GETMBR R23 R0 K65 - 0x8C5C2F42, // 01EA GETMET R23 R23 K66 + 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 diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h index c6b837e1d..57aa70d09 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h @@ -3,8 +3,8 @@ * Generated code, don't edit * \********************************************************************/ #include "be_constobj.h" -// compact class 'Matter_Plugin_Root' ktab size: 172, total: 225 (saved 424 bytes) -static const bvalue be_ktab_class_Matter_Plugin_Root[172] = { +// 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), @@ -79,104 +79,105 @@ static const bvalue be_ktab_class_Matter_Plugin_Root[172] = { /* 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(is_commissioning_open), - /* K75 */ be_nested_str_weak(is_root_commissioning_open), - /* K76 */ be_nested_str_weak(commissioning_admin_fabric), - /* K77 */ be_nested_str_weak(set_or_nil), - /* K78 */ be_nested_str_weak(Tasmota), - /* K79 */ be_nested_str_weak(VENDOR_ID), - /* K80 */ be_nested_str_weak(DeviceName), - /* K81 */ be_nested_str_weak(FriendlyName), - /* K82 */ be_nested_str_weak(FriendlyName1), - /* K83 */ be_nested_str_weak(XX), - /* K84 */ be_nested_str_weak(Status_X202), - /* K85 */ be_nested_str_weak(StatusFWR), - /* K86 */ be_nested_str_weak(Hardware), - /* K87 */ be_nested_str_weak(version), - /* K88 */ be_nested_str_weak(Version), - /* K89 */ be_nested_str_weak(_X28), - /* K90 */ be_nested_str_weak(locale), - /* K91 */ be_nested_str_weak(create_TLV), - /* K92 */ be_nested_str_weak(get_active_endpoints), - /* K93 */ be_nested_str_weak(disable_bridge_mode), - /* K94 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), - /* K95 */ be_nested_str_weak(read_attribute), - /* K96 */ be_nested_str_weak(int), - /* K97 */ be_nested_str_weak(attribute_updated), - /* K98 */ be_nested_str_weak(status), - /* K99 */ be_nested_str_weak(CONSTRAINT_ERROR), - /* K100 */ be_nested_str_weak(INVALID_ACTION), - /* K101 */ be_nested_str_weak(init), - /* K102 */ be_nested_str_weak(publish_event), - /* K103 */ be_nested_str_weak(EVENT_CRITICAL), - /* K104 */ be_nested_str_weak(Matter_TLV_item), - /* K105 */ be_nested_str_weak(crypto), - /* K106 */ be_nested_str_weak(command), - /* K107 */ be_nested_str_weak(fabric_completed), - /* K108 */ be_nested_str_weak(set_no_expiration), - /* K109 */ be_nested_str_weak(save), - /* K110 */ be_nested_str_weak(start_commissioning_complete_deferred), - /* K111 */ be_nested_str_weak(context_error), - /* K112 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached), - /* K113 */ be_nested_str_weak(UNSUPPORTED_COMMAND), - /* K114 */ be_nested_str_weak(DAC_Cert_FFF1_8000), - /* K115 */ be_nested_str_weak(PAI_Cert_FFF1), - /* K116 */ be_nested_str_weak(CD_FFF1_8000), - /* K117 */ be_nested_str_weak(tlv2raw), - /* K118 */ be_nested_str_weak(get_ac), - /* K119 */ be_nested_str_weak(EC_P256), - /* K120 */ be_nested_str_weak(ecdsa_sign_sha256), - /* K121 */ be_nested_str_weak(DAC_Priv_FFF1_8000), - /* K122 */ be_nested_str_weak(gen_CSR), - /* K123 */ be_nested_str_weak(set_temp_ca), - /* K124 */ be_nested_str_weak(SUCCESS), - /* K125 */ be_nested_str_weak(log), - /* K126 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D), - /* K127 */ be_nested_str_weak(get_temp_ca), - /* K128 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA), - /* K129 */ be_nested_str_weak(create_fabric), - /* K130 */ be_nested_str_weak(set_ca), - /* K131 */ be_nested_str_weak(set_noc_icac), - /* K132 */ be_nested_str_weak(set_ipk_epoch_key), - /* K133 */ be_nested_str_weak(set_admin_subject_vendor), - /* K134 */ be_nested_str_weak(set_pk), - /* K135 */ be_nested_str_weak(get_pk), - /* K136 */ be_nested_str_weak(findsub), - /* K137 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate), - /* K138 */ be_nested_str_weak(fromu32), - /* K139 */ be_nested_str_weak(tobytes), - /* K140 */ be_nested_str_weak(get_temp_ca_pub), - /* K141 */ be_const_int(2147483647), - /* K142 */ be_nested_str_weak(fromstring), - /* K143 */ be_nested_str_weak(CompressedFabric), - /* K144 */ be_nested_str_weak(HKDF_SHA256), - /* K145 */ be_nested_str_weak(copy), - /* K146 */ be_nested_str_weak(reverse), - /* K147 */ be_nested_str_weak(derive), - /* K148 */ be_nested_str_weak(set_fabric_device), - /* K149 */ be_nested_str_weak(fabric_candidate), - /* K150 */ be_nested_str_weak(start_operational_discovery_deferred), - /* K151 */ be_nested_str_weak(is_PASE), - /* K152 */ be_nested_str_weak(set_expire_in_seconds), - /* K153 */ be_nested_str_weak(log_new_fabric), - /* K154 */ be_nested_str_weak(assign_fabric_index), - /* K155 */ be_nested_str_weak(set_fabric_label), - /* K156 */ 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), - /* K157 */ be_nested_str_weak(get_fabric_id), - /* K158 */ be_nested_str_weak(tohex), - /* K159 */ be_nested_str_weak(fabric_index_X3A), - /* K160 */ be_nested_str_weak(mark_for_deletion), - /* K161 */ be_nested_str_weak(set_timer), - /* K162 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28), - /* K163 */ be_nested_str_weak(_X29_X20not_X20found), - /* K164 */ 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), - /* K165 */ be_nested_str_weak(INVALID_DATA_TYPE), - /* K166 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters), - /* K167 */ be_nested_str_weak(start_basic_commissioning), - /* K168 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D), - /* K169 */ be_nested_str_weak(start_root_basic_commissioning), - /* K170 */ be_nested_str_weak(stop_basic_commissioning), - /* K171 */ be_nested_str_weak(invoke_request), + /* 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), }; @@ -198,7 +199,7 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ &be_ktab_class_Matter_Plugin_Root, /* shared constants */ be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[926]) { /* code */ + ( &(const binstruction[930]) { /* code */ 0xA4120000, // 0000 IMPORT R4 K0 0xB8160200, // 0001 GETNGBL R5 K1 0x88140B02, // 0002 GETMBR R5 R5 K2 @@ -255,11 +256,11 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ 0x502C0000, // 0035 LDBOOL R11 0 0 0x7C200600, // 0036 CALL R8 3 0x80041000, // 0037 RET 1 R8 - 0x7002035B, // 0038 JMP #0395 + 0x7002035F, // 0038 JMP #0399 0x54220031, // 0039 LDINT R8 50 0x1C200C08, // 003A EQ R8 R6 R8 0x78220000, // 003B JMPF R8 #003D - 0x70020357, // 003C JMP #0395 + 0x7002035B, // 003C JMP #0399 0x54220032, // 003D LDINT R8 51 0x1C200C08, // 003E EQ R8 R6 R8 0x782200DC, // 003F JMPF R8 #011D @@ -483,11 +484,11 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ 0x502C0000, // 0119 LDBOOL R11 0 0 0x7C200600, // 011A CALL R8 3 0x80041000, // 011B RET 1 R8 - 0x70020277, // 011C JMP #0395 + 0x7002027B, // 011C JMP #0399 0x54220033, // 011D LDINT R8 52 0x1C200C08, // 011E EQ R8 R6 R8 0x78220000, // 011F JMPF R8 #0121 - 0x70020273, // 0120 JMP #0395 + 0x70020277, // 0120 JMP #0399 0x54220037, // 0121 LDINT R8 56 0x1C200C08, // 0122 EQ R8 R6 R8 0x7822002B, // 0123 JMPF R8 #0150 @@ -534,7 +535,7 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ 0x5C301000, // 014C MOVE R12 R8 0x7C240600, // 014D CALL R9 3 0x80041200, // 014E RET 1 R9 - 0x70020244, // 014F JMP #0395 + 0x70020248, // 014F JMP #0399 0x5422003D, // 0150 LDINT R8 62 0x1C200C08, // 0151 EQ R8 R6 R8 0x782200B5, // 0152 JMPF R8 #0209 @@ -719,412 +720,416 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ 0x5C301000, // 0205 MOVE R12 R8 0x7C240600, // 0206 CALL R9 3 0x80041200, // 0207 RET 1 R9 - 0x7002018B, // 0208 JMP #0395 + 0x7002018F, // 0208 JMP #0399 0x5422003B, // 0209 LDINT R8 60 0x1C200C08, // 020A EQ R8 R6 R8 - 0x78220030, // 020B JMPF R8 #023D + 0x78220034, // 020B JMPF R8 #0241 0x1C200F05, // 020C EQ R8 R7 K5 - 0x78220012, // 020D JMPF R8 #0221 + 0x78220014, // 020D JMPF R8 #0223 0x88200136, // 020E GETMBR R8 R0 K54 - 0x8C20114A, // 020F GETMET R8 R8 K74 - 0x7C200200, // 0210 CALL R8 1 - 0x88240136, // 0211 GETMBR R9 R0 K54 - 0x8C24134B, // 0212 GETMET R9 R9 K75 - 0x7C240200, // 0213 CALL R9 1 - 0x78220004, // 0214 JMPF R8 #021A - 0x78260001, // 0215 JMPF R9 #0218 - 0x5828000D, // 0216 LDCONST R10 K13 - 0x70020000, // 0217 JMP #0219 - 0x58280009, // 0218 LDCONST R10 K9 + 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 - 0x58280005, // 021A LDCONST R10 K5 - 0x8C2C0706, // 021B GETMET R11 R3 K6 - 0x88340B0E, // 021C GETMBR R13 R5 K14 - 0x5C381400, // 021D MOVE R14 R10 - 0x7C2C0600, // 021E CALL R11 3 - 0x80041600, // 021F RET 1 R11 - 0x7002001A, // 0220 JMP #023C - 0x1C200F09, // 0221 EQ R8 R7 K9 - 0x7822000B, // 0222 JMPF R8 #022F - 0x88200136, // 0223 GETMBR R8 R0 K54 - 0x8820114C, // 0224 GETMBR R8 R8 K76 - 0x4C240000, // 0225 LDNIL R9 - 0x20241009, // 0226 NE R9 R8 R9 - 0x78260005, // 0227 JMPF R9 #022E - 0x8C24074D, // 0228 GETMET R9 R3 K77 - 0x882C0B0C, // 0229 GETMBR R11 R5 K12 - 0x8C30113D, // 022A GETMET R12 R8 K61 - 0x7C300200, // 022B CALL R12 1 - 0x7C240600, // 022C CALL R9 3 - 0x80041200, // 022D RET 1 R9 - 0x7002000C, // 022E JMP #023C - 0x1C200F0D, // 022F EQ R8 R7 K13 - 0x7822000A, // 0230 JMPF R8 #023C - 0x88200136, // 0231 GETMBR R8 R0 K54 - 0x8820114C, // 0232 GETMBR R8 R8 K76 - 0x4C240000, // 0233 LDNIL R9 - 0x20241009, // 0234 NE R9 R8 R9 - 0x78260005, // 0235 JMPF R9 #023C - 0x8C24074D, // 0236 GETMET R9 R3 K77 - 0x882C0B0C, // 0237 GETMBR R11 R5 K12 - 0x8C301142, // 0238 GETMET R12 R8 K66 - 0x7C300200, // 0239 CALL R12 1 - 0x7C240600, // 023A CALL R9 3 - 0x80041200, // 023B RET 1 R9 - 0x70020157, // 023C JMP #0395 - 0x54220027, // 023D LDINT R8 40 - 0x1C200C08, // 023E EQ R8 R6 R8 - 0x782200BC, // 023F JMPF R8 #02FD - 0x8C200133, // 0240 GETMET R8 R0 K51 - 0x5C280400, // 0241 MOVE R10 R2 - 0x7C200400, // 0242 CALL R8 2 - 0x1C200F05, // 0243 EQ R8 R7 K5 - 0x78220005, // 0244 JMPF R8 #024B - 0x8C200706, // 0245 GETMET R8 R3 K6 - 0x88280B0C, // 0246 GETMBR R10 R5 K12 - 0x582C0009, // 0247 LDCONST R11 K9 - 0x7C200600, // 0248 CALL R8 3 - 0x80041000, // 0249 RET 1 R8 - 0x700200B0, // 024A JMP #02FC - 0x1C200F09, // 024B EQ R8 R7 K9 - 0x78220005, // 024C JMPF R8 #0253 - 0x8C200706, // 024D GETMET R8 R3 K6 - 0x88280B16, // 024E GETMBR R10 R5 K22 - 0x582C004E, // 024F LDCONST R11 K78 - 0x7C200600, // 0250 CALL R8 3 - 0x80041000, // 0251 RET 1 R8 - 0x700200A8, // 0252 JMP #02FC - 0x1C200F0D, // 0253 EQ R8 R7 K13 - 0x78220006, // 0254 JMPF R8 #025C - 0x8C200706, // 0255 GETMET R8 R3 K6 - 0x88280B0C, // 0256 GETMBR R10 R5 K12 - 0x882C0136, // 0257 GETMBR R11 R0 K54 - 0x882C174F, // 0258 GETMBR R11 R11 K79 - 0x7C200600, // 0259 CALL R8 3 - 0x80041000, // 025A RET 1 R8 - 0x7002009F, // 025B JMP #02FC - 0x1C200F0F, // 025C EQ R8 R7 K15 - 0x7822000A, // 025D JMPF R8 #0269 - 0x8C200706, // 025E GETMET R8 R3 K6 - 0x88280B16, // 025F GETMBR R10 R5 K22 - 0xB82E2400, // 0260 GETNGBL R11 K18 - 0x8C2C1726, // 0261 GETMET R11 R11 K38 - 0x58340050, // 0262 LDCONST R13 K80 - 0x50380200, // 0263 LDBOOL R14 1 0 - 0x7C2C0600, // 0264 CALL R11 3 - 0x942C1750, // 0265 GETIDX R11 R11 K80 - 0x7C200600, // 0266 CALL R8 3 - 0x80041000, // 0267 RET 1 R8 - 0x70020092, // 0268 JMP #02FC - 0x54220003, // 0269 LDINT R8 4 - 0x1C200E08, // 026A EQ R8 R7 R8 - 0x78220005, // 026B JMPF R8 #0272 - 0x8C200706, // 026C GETMET R8 R3 K6 - 0x88280B0C, // 026D GETMBR R10 R5 K12 - 0x542E7FFF, // 026E LDINT R11 32768 - 0x7C200600, // 026F CALL R8 3 - 0x80041000, // 0270 RET 1 R8 - 0x70020089, // 0271 JMP #02FC - 0x54220004, // 0272 LDINT R8 5 - 0x1C200E08, // 0273 EQ R8 R7 R8 - 0x7822000A, // 0274 JMPF R8 #0280 - 0x8C200706, // 0275 GETMET R8 R3 K6 - 0x88280B16, // 0276 GETMBR R10 R5 K22 - 0xB82E2400, // 0277 GETNGBL R11 K18 - 0x8C2C1726, // 0278 GETMET R11 R11 K38 - 0x58340051, // 0279 LDCONST R13 K81 - 0x50380200, // 027A LDBOOL R14 1 0 - 0x7C2C0600, // 027B CALL R11 3 - 0x942C1752, // 027C GETIDX R11 R11 K82 - 0x7C200600, // 027D CALL R8 3 - 0x80041000, // 027E RET 1 R8 - 0x7002007B, // 027F JMP #02FC - 0x54220005, // 0280 LDINT R8 6 - 0x1C200E08, // 0281 EQ R8 R7 R8 - 0x78220005, // 0282 JMPF R8 #0289 - 0x8C200706, // 0283 GETMET R8 R3 K6 - 0x88280B16, // 0284 GETMBR R10 R5 K22 - 0x582C0053, // 0285 LDCONST R11 K83 - 0x7C200600, // 0286 CALL R8 3 - 0x80041000, // 0287 RET 1 R8 - 0x70020072, // 0288 JMP #02FC - 0x54220006, // 0289 LDINT R8 7 - 0x1C200E08, // 028A EQ R8 R7 R8 - 0x78220005, // 028B JMPF R8 #0292 - 0x8C200706, // 028C GETMET R8 R3 K6 - 0x88280B0C, // 028D GETMBR R10 R5 K12 - 0x582C0005, // 028E LDCONST R11 K5 - 0x7C200600, // 028F CALL R8 3 - 0x80041000, // 0290 RET 1 R8 - 0x70020069, // 0291 JMP #02FC - 0x54220007, // 0292 LDINT R8 8 - 0x1C200E08, // 0293 EQ R8 R7 R8 - 0x7822000B, // 0294 JMPF R8 #02A1 - 0x8C200706, // 0295 GETMET R8 R3 K6 - 0x88280B16, // 0296 GETMBR R10 R5 K22 - 0xB82E2400, // 0297 GETNGBL R11 K18 - 0x8C2C1726, // 0298 GETMET R11 R11 K38 - 0x58340054, // 0299 LDCONST R13 K84 - 0x50380200, // 029A LDBOOL R14 1 0 - 0x7C2C0600, // 029B CALL R11 3 - 0x942C1755, // 029C GETIDX R11 R11 K85 - 0x942C1756, // 029D GETIDX R11 R11 K86 - 0x7C200600, // 029E CALL R8 3 - 0x80041000, // 029F RET 1 R8 - 0x7002005A, // 02A0 JMP #02FC - 0x54220008, // 02A1 LDINT R8 9 - 0x1C200E08, // 02A2 EQ R8 R7 R8 - 0x78220007, // 02A3 JMPF R8 #02AC - 0x8C200706, // 02A4 GETMET R8 R3 K6 - 0x88280B2A, // 02A5 GETMBR R10 R5 K42 - 0xB82E2400, // 02A6 GETNGBL R11 K18 - 0x8C2C1757, // 02A7 GETMET R11 R11 K87 - 0x7C2C0200, // 02A8 CALL R11 1 - 0x7C200600, // 02A9 CALL R8 3 - 0x80041000, // 02AA RET 1 R8 - 0x7002004F, // 02AB JMP #02FC - 0x54220009, // 02AC LDINT R8 10 - 0x1C200E08, // 02AD EQ R8 R7 R8 - 0x78220015, // 02AE JMPF R8 #02C5 - 0xB8222400, // 02AF GETNGBL R8 K18 - 0x8C201126, // 02B0 GETMET R8 R8 K38 - 0x58280054, // 02B1 LDCONST R10 K84 - 0x502C0200, // 02B2 LDBOOL R11 1 0 - 0x7C200600, // 02B3 CALL R8 3 - 0x94201155, // 02B4 GETIDX R8 R8 K85 - 0x94201158, // 02B5 GETIDX R8 R8 K88 - 0x8C24091B, // 02B6 GETMET R9 R4 K27 - 0x5C2C1000, // 02B7 MOVE R11 R8 - 0x58300059, // 02B8 LDCONST R12 K89 - 0x7C240600, // 02B9 CALL R9 3 - 0x24281305, // 02BA GT R10 R9 K5 - 0x782A0002, // 02BB JMPF R10 #02BF - 0x04281309, // 02BC SUB R10 R9 K9 - 0x402A0A0A, // 02BD CONNECT R10 K5 R10 - 0x9420100A, // 02BE GETIDX R8 R8 R10 - 0x8C280706, // 02BF GETMET R10 R3 K6 - 0x88300B16, // 02C0 GETMBR R12 R5 K22 - 0x5C341000, // 02C1 MOVE R13 R8 - 0x7C280600, // 02C2 CALL R10 3 - 0x80041400, // 02C3 RET 1 R10 - 0x70020036, // 02C4 JMP #02FC - 0x5422000E, // 02C5 LDINT R8 15 - 0x1C200E08, // 02C6 EQ R8 R7 R8 - 0x7822000B, // 02C7 JMPF R8 #02D4 - 0x8C200706, // 02C8 GETMET R8 R3 K6 - 0x88280B16, // 02C9 GETMBR R10 R5 K22 - 0xB82E2400, // 02CA GETNGBL R11 K18 - 0x8C2C1725, // 02CB GETMET R11 R11 K37 - 0x7C2C0200, // 02CC CALL R11 1 - 0x8C2C171B, // 02CD GETMET R11 R11 K27 - 0x5834001C, // 02CE LDCONST R13 K28 - 0x5838001D, // 02CF LDCONST R14 K29 - 0x7C2C0600, // 02D0 CALL R11 3 - 0x7C200600, // 02D1 CALL R8 3 - 0x80041000, // 02D2 RET 1 R8 - 0x70020027, // 02D3 JMP #02FC - 0x54220010, // 02D4 LDINT R8 17 - 0x1C200E08, // 02D5 EQ R8 R7 R8 - 0x78220005, // 02D6 JMPF R8 #02DD - 0x8C200706, // 02D7 GETMET R8 R3 K6 - 0x88280B10, // 02D8 GETMBR R10 R5 K16 - 0x582C0009, // 02D9 LDCONST R11 K9 - 0x7C200600, // 02DA CALL R8 3 - 0x80041000, // 02DB RET 1 R8 - 0x7002001E, // 02DC JMP #02FC - 0x54220011, // 02DD LDINT R8 18 - 0x1C200E08, // 02DE EQ R8 R7 R8 - 0x7822000B, // 02DF JMPF R8 #02EC - 0x8C200706, // 02E0 GETMET R8 R3 K6 - 0x88280B16, // 02E1 GETMBR R10 R5 K22 - 0xB82E2400, // 02E2 GETNGBL R11 K18 - 0x8C2C1725, // 02E3 GETMET R11 R11 K37 - 0x7C2C0200, // 02E4 CALL R11 1 - 0x8C2C171B, // 02E5 GETMET R11 R11 K27 - 0x5834001C, // 02E6 LDCONST R13 K28 - 0x5838001D, // 02E7 LDCONST R14 K29 - 0x7C2C0600, // 02E8 CALL R11 3 - 0x7C200600, // 02E9 CALL R8 3 - 0x80041000, // 02EA RET 1 R8 - 0x7002000F, // 02EB JMP #02FC - 0x54220012, // 02EC LDINT R8 19 - 0x1C200E08, // 02ED EQ R8 R7 R8 - 0x7822000C, // 02EE JMPF R8 #02FC - 0x8C200B0A, // 02EF GETMET R8 R5 K10 - 0x7C200200, // 02F0 CALL R8 1 - 0x8C24110B, // 02F1 GETMET R9 R8 K11 - 0x582C0005, // 02F2 LDCONST R11 K5 - 0x88300B0C, // 02F3 GETMBR R12 R5 K12 - 0x5834000F, // 02F4 LDCONST R13 K15 - 0x7C240800, // 02F5 CALL R9 4 - 0x8C24110B, // 02F6 GETMET R9 R8 K11 - 0x582C0009, // 02F7 LDCONST R11 K9 - 0x88300B0C, // 02F8 GETMBR R12 R5 K12 - 0x5834000F, // 02F9 LDCONST R13 K15 - 0x7C240800, // 02FA CALL R9 4 - 0x80041000, // 02FB RET 1 R8 - 0x70020097, // 02FC JMP #0395 - 0x5422003E, // 02FD LDINT R8 63 - 0x1C200C08, // 02FE EQ R8 R6 R8 - 0x78220000, // 02FF JMPF R8 #0301 - 0x70020093, // 0300 JMP #0395 - 0x54220029, // 0301 LDINT R8 42 + 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 - 0x7822001D, // 0303 JMPF R8 #0322 - 0x1C200F05, // 0304 EQ R8 R7 K5 - 0x78220003, // 0305 JMPF R8 #030A - 0x8C200B11, // 0306 GETMET R8 R5 K17 - 0x7C200200, // 0307 CALL R8 1 - 0x80041000, // 0308 RET 1 R8 - 0x70020016, // 0309 JMP #0321 - 0x1C200F09, // 030A EQ R8 R7 K9 - 0x78220005, // 030B JMPF R8 #0312 - 0x8C200706, // 030C GETMET R8 R3 K6 - 0x88280B10, // 030D GETMBR R10 R5 K16 - 0x582C0005, // 030E LDCONST R11 K5 - 0x7C200600, // 030F CALL R8 3 - 0x80041000, // 0310 RET 1 R8 - 0x7002000E, // 0311 JMP #0321 - 0x1C200F0D, // 0312 EQ R8 R7 K13 - 0x78220005, // 0313 JMPF R8 #031A - 0x8C200706, // 0314 GETMET R8 R3 K6 - 0x88280B0E, // 0315 GETMBR R10 R5 K14 - 0x582C0009, // 0316 LDCONST R11 K9 - 0x7C200600, // 0317 CALL R8 3 - 0x80041000, // 0318 RET 1 R8 - 0x70020006, // 0319 JMP #0321 - 0x1C200F0F, // 031A EQ R8 R7 K15 - 0x78220004, // 031B JMPF R8 #0321 - 0x8C200706, // 031C GETMET R8 R3 K6 - 0x88280B18, // 031D GETMBR R10 R5 K24 - 0x4C2C0000, // 031E LDNIL R11 - 0x7C200600, // 031F CALL R8 3 - 0x80041000, // 0320 RET 1 R8 - 0x70020072, // 0321 JMP #0395 - 0x5422002A, // 0322 LDINT R8 43 - 0x1C200C08, // 0323 EQ R8 R6 R8 - 0x78220016, // 0324 JMPF R8 #033C - 0x1C200F05, // 0325 EQ R8 R7 K5 - 0x78220007, // 0326 JMPF R8 #032F - 0x8C200706, // 0327 GETMET R8 R3 K6 - 0x88280B16, // 0328 GETMBR R10 R5 K22 - 0xB82E2400, // 0329 GETNGBL R11 K18 - 0x8C2C175A, // 032A GETMET R11 R11 K90 - 0x7C2C0200, // 032B CALL R11 1 - 0x7C200600, // 032C CALL R8 3 - 0x80041000, // 032D RET 1 R8 - 0x7002000B, // 032E JMP #033B - 0x1C200F09, // 032F EQ R8 R7 K9 - 0x78220009, // 0330 JMPF R8 #033B - 0x8C200B11, // 0331 GETMET R8 R5 K17 - 0x7C200200, // 0332 CALL R8 1 - 0x8C24110B, // 0333 GETMET R9 R8 K11 - 0x4C2C0000, // 0334 LDNIL R11 - 0x88300B16, // 0335 GETMBR R12 R5 K22 - 0xB8362400, // 0336 GETNGBL R13 K18 - 0x8C341B5A, // 0337 GETMET R13 R13 K90 - 0x7C340200, // 0338 CALL R13 1 - 0x7C240800, // 0339 CALL R9 4 - 0x80041000, // 033A RET 1 R8 - 0x70020058, // 033B JMP #0395 - 0x5422002B, // 033C LDINT R8 44 - 0x1C200C08, // 033D EQ R8 R6 R8 - 0x7822001C, // 033E JMPF R8 #035C - 0x1C200F05, // 033F EQ R8 R7 K5 - 0x78220005, // 0340 JMPF R8 #0347 - 0x8C200706, // 0341 GETMET R8 R3 K6 - 0x88280B0E, // 0342 GETMBR R10 R5 K14 - 0x582C0009, // 0343 LDCONST R11 K9 - 0x7C200600, // 0344 CALL R8 3 - 0x80041000, // 0345 RET 1 R8 - 0x70020013, // 0346 JMP #035B - 0x1C200F09, // 0347 EQ R8 R7 K9 - 0x78220005, // 0348 JMPF R8 #034F - 0x8C200706, // 0349 GETMET R8 R3 K6 - 0x88280B0E, // 034A GETMBR R10 R5 K14 - 0x542E0003, // 034B LDINT R11 4 - 0x7C200600, // 034C CALL R8 3 - 0x80041000, // 034D RET 1 R8 - 0x7002000B, // 034E JMP #035B - 0x1C200F0D, // 034F EQ R8 R7 K13 - 0x78220009, // 0350 JMPF R8 #035B - 0x8C200B11, // 0351 GETMET R8 R5 K17 - 0x7C200200, // 0352 CALL R8 1 - 0x8C24110B, // 0353 GETMET R9 R8 K11 - 0x4C2C0000, // 0354 LDNIL R11 - 0x8C300B5B, // 0355 GETMET R12 R5 K91 - 0x88380B0E, // 0356 GETMBR R14 R5 K14 - 0x543E0003, // 0357 LDINT R15 4 - 0x7C300600, // 0358 CALL R12 3 - 0x7C240600, // 0359 CALL R9 3 - 0x80041000, // 035A RET 1 R8 - 0x70020038, // 035B JMP #0395 - 0x54220030, // 035C LDINT R8 49 - 0x1C200C08, // 035D EQ R8 R6 R8 - 0x78220007, // 035E JMPF R8 #0367 - 0x1C200F0F, // 035F EQ R8 R7 K15 - 0x78220004, // 0360 JMPF R8 #0366 - 0x8C200706, // 0361 GETMET R8 R3 K6 - 0x88280B0E, // 0362 GETMBR R10 R5 K14 - 0x542E001D, // 0363 LDINT R11 30 - 0x7C200600, // 0364 CALL R8 3 - 0x80041000, // 0365 RET 1 R8 - 0x7002002D, // 0366 JMP #0395 - 0x5422001C, // 0367 LDINT R8 29 - 0x1C200C08, // 0368 EQ R8 R6 R8 - 0x7822002A, // 0369 JMPF R8 #0395 - 0x1C200F0D, // 036A EQ R8 R7 K13 - 0x78220008, // 036B JMPF R8 #0375 - 0x8C200B11, // 036C GETMET R8 R5 K17 - 0x7C200200, // 036D CALL R8 1 - 0x8C24110B, // 036E GETMET R9 R8 K11 - 0x4C2C0000, // 036F LDNIL R11 - 0x88300B0C, // 0370 GETMBR R12 R5 K12 - 0x5436001E, // 0371 LDINT R13 31 - 0x7C240800, // 0372 CALL R9 4 - 0x80041000, // 0373 RET 1 R8 - 0x7002001F, // 0374 JMP #0395 - 0x1C200F0F, // 0375 EQ R8 R7 K15 - 0x7822001D, // 0376 JMPF R8 #0395 - 0x8C200B11, // 0377 GETMET R8 R5 K17 - 0x7C200200, // 0378 CALL R8 1 - 0x88240136, // 0379 GETMBR R9 R0 K54 - 0x8C24135C, // 037A GETMET R9 R9 K92 - 0x502C0200, // 037B LDBOOL R11 1 0 - 0x7C240400, // 037C CALL R9 2 - 0x88280136, // 037D GETMBR R10 R0 K54 - 0x8828155D, // 037E GETMBR R10 R10 K93 - 0x602C0010, // 037F GETGBL R11 G16 - 0x5C301200, // 0380 MOVE R12 R9 - 0x7C2C0200, // 0381 CALL R11 1 - 0xA802000D, // 0382 EXBLK 0 #0391 - 0x5C301600, // 0383 MOVE R12 R11 - 0x7C300000, // 0384 CALL R12 0 - 0x5C341400, // 0385 MOVE R13 R10 - 0x78360003, // 0386 JMPF R13 #038B - 0xB8360200, // 0387 GETNGBL R13 K1 - 0x88341B5E, // 0388 GETMBR R13 R13 K94 - 0x2034180D, // 0389 NE R13 R12 R13 - 0x78360004, // 038A JMPF R13 #0390 - 0x8C34110B, // 038B GETMET R13 R8 K11 - 0x4C3C0000, // 038C LDNIL R15 - 0x88400B0C, // 038D GETMBR R16 R5 K12 - 0x5C441800, // 038E MOVE R17 R12 - 0x7C340800, // 038F CALL R13 4 - 0x7001FFF1, // 0390 JMP #0383 - 0x582C003E, // 0391 LDCONST R11 K62 - 0xAC2C0200, // 0392 CATCH R11 1 0 - 0xB0080000, // 0393 RAISE 2 R0 R0 - 0x80041000, // 0394 RET 1 R8 - 0x60200003, // 0395 GETGBL R8 G3 - 0x5C240000, // 0396 MOVE R9 R0 - 0x7C200200, // 0397 CALL R8 1 - 0x8C20115F, // 0398 GETMET R8 R8 K95 - 0x5C280200, // 0399 MOVE R10 R1 - 0x5C2C0400, // 039A MOVE R11 R2 - 0x5C300600, // 039B MOVE R12 R3 - 0x7C200800, // 039C CALL R8 4 - 0x80041000, // 039D RET 1 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 }) ) ); @@ -1160,7 +1165,7 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ 0x601C0004, // 0009 GETGBL R7 G4 0x5C200600, // 000A MOVE R8 R3 0x7C1C0200, // 000B CALL R7 1 - 0x1C1C0F60, // 000C EQ R7 R7 K96 + 0x1C1C0F61, // 000C EQ R7 R7 K97 0x741E0004, // 000D JMPT R7 #0013 0x601C000F, // 000E GETGBL R7 G15 0x5C200600, // 000F MOVE R8 R3 @@ -1168,7 +1173,7 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ 0x7C1C0400, // 0011 CALL R7 2 0x781E0007, // 0012 JMPF R7 #001B 0x90061003, // 0013 SETMBR R1 K8 R3 - 0x8C1C0161, // 0014 GETMET R7 R0 K97 + 0x8C1C0162, // 0014 GETMET R7 R0 K98 0x88240503, // 0015 GETMBR R9 R2 K3 0x88280504, // 0016 GETMBR R10 R2 K4 0x7C1C0600, // 0017 CALL R7 3 @@ -1176,8 +1181,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ 0x80040E00, // 0019 RET 1 R7 0x70020004, // 001A JMP #0020 0xB81E0200, // 001B GETNGBL R7 K1 - 0x881C0F63, // 001C GETMBR R7 R7 K99 - 0x900AC407, // 001D SETMBR R2 K98 R7 + 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 @@ -1218,8 +1223,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ 0x1C1C0D05, // 0043 EQ R7 R6 K5 0x781E0004, // 0044 JMPF R7 #004A 0xB81E0200, // 0045 GETNGBL R7 K1 - 0x881C0F63, // 0046 GETMBR R7 R7 K99 - 0x900AC407, // 0047 SETMBR R2 K98 R7 + 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 @@ -1243,8 +1248,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ 0x1C1C0C07, // 005C EQ R7 R6 R7 0x781E0004, // 005D JMPF R7 #0063 0xB81E0200, // 005E GETNGBL R7 K1 - 0x881C0F64, // 005F GETMBR R7 R7 K100 - 0x900AC407, // 0060 SETMBR R2 K98 R7 + 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 @@ -1274,37 +1279,37 @@ be_local_closure(class_Matter_Plugin_Root_init, /* name */ 0x60100003, // 0000 GETGBL R4 G3 0x5C140000, // 0001 MOVE R5 R0 0x7C100200, // 0002 CALL R4 1 - 0x8C100965, // 0003 GETMET R4 R4 K101 + 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 - 0x8C100166, // 0008 GETMET R4 R0 K102 + 0x8C100167, // 0008 GETMET R4 R0 K103 0x541A0027, // 0009 LDINT R6 40 0x581C0005, // 000A LDCONST R7 K5 0xB8220200, // 000B GETNGBL R8 K1 - 0x88201167, // 000C GETMBR R8 R8 K103 + 0x88201168, // 000C GETMBR R8 R8 K104 0xB8260200, // 000D GETNGBL R9 K1 0x88241302, // 000E GETMBR R9 R9 K2 - 0x8C241368, // 000F GETMET R9 R9 K104 + 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 - 0x8C301957, // 0016 GETMET R12 R12 K87 + 0x8C301958, // 0016 GETMET R12 R12 K88 0x7C300200, // 0017 CALL R12 1 0x7C240600, // 0018 CALL R9 3 0x7C100A00, // 0019 CALL R4 5 - 0x8C100166, // 001A GETMET R4 R0 K102 + 0x8C100167, // 001A GETMET R4 R0 K103 0x541A0032, // 001B LDINT R6 51 0x581C000F, // 001C LDCONST R7 K15 0xB8220200, // 001D GETNGBL R8 K1 - 0x88201167, // 001E GETMBR R8 R8 K103 + 0x88201168, // 001E GETMBR R8 R8 K104 0xB8260200, // 001F GETNGBL R9 K1 0x88241302, // 0020 GETMBR R9 R9 K2 - 0x8C241368, // 0021 GETMET R9 R9 K104 + 0x8C241369, // 0021 GETMET R9 R9 K105 0x7C240200, // 0022 CALL R9 1 0x8C241306, // 0023 GETMET R9 R9 K6 0xB82E0200, // 0024 GETNGBL R11 K1 @@ -1364,15 +1369,15 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ &be_ktab_class_Matter_Plugin_Root, /* shared constants */ be_str_weak(invoke_request), &be_const_str_solidified, - ( &(const binstruction[737]) { /* code */ - 0xA412D200, // 0000 IMPORT R4 K105 + ( &(const binstruction[742]) { /* code */ + 0xA412D400, // 0000 IMPORT R4 K106 0xB8160200, // 0001 GETNGBL R5 K1 0x88140B02, // 0002 GETMBR R5 R5 K2 0x88180703, // 0003 GETMBR R6 R3 K3 - 0x881C076A, // 0004 GETMBR R7 R3 K106 + 0x881C076B, // 0004 GETMBR R7 R3 K107 0x5422002F, // 0005 LDINT R8 48 0x1C200C08, // 0006 EQ R8 R6 R8 - 0x7822005C, // 0007 JMPF R8 #0065 + 0x7822005D, // 0007 JMPF R8 #0066 0x1C200F05, // 0008 EQ R8 R7 K5 0x78220017, // 0009 JMPF R8 #0022 0x8C200541, // 000A GETMET R8 R2 K65 @@ -1396,9 +1401,9 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ 0x88380B16, // 001C GETMBR R14 R5 K22 0x583C001D, // 001D LDCONST R15 K29 0x7C2C0800, // 001E CALL R11 4 - 0x900ED509, // 001F SETMBR R3 K106 K9 + 0x900ED709, // 001F SETMBR R3 K107 K9 0x80041400, // 0020 RET 1 R10 - 0x70020041, // 0021 JMP #0064 + 0x70020042, // 0021 JMP #0065 0x1C200F0D, // 0022 EQ R8 R7 K13 0x7822001A, // 0023 JMPF R8 #003F 0x8C200541, // 0024 GETMET R8 R2 K65 @@ -1406,7 +1411,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ 0x7C200400, // 0026 CALL R8 2 0x8C240541, // 0027 GETMET R9 R2 K65 0x582C0009, // 0028 LDCONST R11 K9 - 0x58300053, // 0029 LDCONST R12 K83 + 0x58300054, // 0029 LDCONST R12 K84 0x7C240600, // 002A CALL R9 3 0x8C280541, // 002B GETMET R10 R2 K65 0x5830000D, // 002C LDCONST R12 K13 @@ -1425,24 +1430,24 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ 0x883C0B16, // 0039 GETMBR R15 R5 K22 0x5840001D, // 003A LDCONST R16 K29 0x7C300800, // 003B CALL R12 4 - 0x900ED50F, // 003C SETMBR R3 K106 K15 + 0x900ED70F, // 003C SETMBR R3 K107 K15 0x80041600, // 003D RET 1 R11 - 0x70020024, // 003E JMP #0064 + 0x70020025, // 003E JMP #0065 0x54220003, // 003F LDINT R8 4 0x1C200E08, // 0040 EQ R8 R7 R8 - 0x78220021, // 0041 JMPF R8 #0064 + 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 - 0x7822001B, // 0046 JMPF R8 #0063 + 0x7822001C, // 0046 JMPF R8 #0064 0x90061105, // 0047 SETMBR R1 K8 K5 0x88200349, // 0048 GETMBR R8 R1 K73 - 0x8C20116B, // 0049 GETMET R8 R8 K107 + 0x8C20116C, // 0049 GETMET R8 R8 K108 0x7C200200, // 004A CALL R8 1 - 0x8C20036C, // 004B GETMET R8 R1 K108 + 0x8C20036D, // 004B GETMET R8 R1 K109 0x7C200200, // 004C CALL R8 1 - 0x8C20036D, // 004D GETMET R8 R1 K109 + 0x8C20036E, // 004D GETMET R8 R1 K110 0x7C200200, // 004E CALL R8 1 0x8C200B0A, // 004F GETMET R8 R5 K10 0x7C200200, // 0050 CALL R8 1 @@ -1457,651 +1462,656 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ 0x5834001D, // 0059 LDCONST R13 K29 0x7C240800, // 005A CALL R9 4 0x54260004, // 005B LDINT R9 5 - 0x900ED409, // 005C SETMBR R3 K106 R9 + 0x900ED609, // 005C SETMBR R3 K107 R9 0x88240136, // 005D GETMBR R9 R0 K54 - 0x8C24136E, // 005E GETMET R9 R9 K110 - 0x5C2C0200, // 005F MOVE R11 R1 - 0x7C240400, // 0060 CALL R9 2 - 0x80041000, // 0061 RET 1 R8 - 0x70020000, // 0062 JMP #0064 - 0xB006DF70, // 0063 RAISE 1 K111 K112 - 0x70020279, // 0064 JMP #02DF - 0x5422003D, // 0065 LDINT R8 62 - 0x1C200C08, // 0066 EQ R8 R6 R8 - 0x782201DD, // 0067 JMPF R8 #0246 - 0x1C200F0D, // 0068 EQ R8 R7 K13 - 0x7822001D, // 0069 JMPF R8 #0088 - 0x8C200541, // 006A GETMET R8 R2 K65 - 0x58280005, // 006B LDCONST R10 K5 - 0x7C200400, // 006C CALL R8 2 - 0x20241109, // 006D NE R9 R8 K9 - 0x78260006, // 006E JMPF R9 #0076 - 0x2024110D, // 006F NE R9 R8 K13 - 0x78260004, // 0070 JMPF R9 #0076 - 0xB8260200, // 0071 GETNGBL R9 K1 - 0x88241371, // 0072 GETMBR R9 R9 K113 - 0x900EC409, // 0073 SETMBR R3 K98 R9 - 0x4C240000, // 0074 LDNIL R9 - 0x80041200, // 0075 RET 1 R9 - 0x8C240B0A, // 0076 GETMET R9 R5 K10 - 0x7C240200, // 0077 CALL R9 1 - 0x8C28130B, // 0078 GETMET R10 R9 K11 - 0x58300005, // 0079 LDCONST R12 K5 - 0x88340B3A, // 007A GETMBR R13 R5 K58 - 0x1C381109, // 007B EQ R14 R8 K9 - 0x783A0003, // 007C JMPF R14 #0081 - 0xB83A0200, // 007D GETNGBL R14 K1 - 0x8C381D72, // 007E GETMET R14 R14 K114 - 0x7C380200, // 007F CALL R14 1 - 0x70020002, // 0080 JMP #0084 - 0xB83A0200, // 0081 GETNGBL R14 K1 - 0x8C381D73, // 0082 GETMET R14 R14 K115 - 0x7C380200, // 0083 CALL R14 1 - 0x7C280800, // 0084 CALL R10 4 - 0x900ED50F, // 0085 SETMBR R3 K106 K15 - 0x80041200, // 0086 RET 1 R9 - 0x700201BC, // 0087 JMP #0245 - 0x1C200F05, // 0088 EQ R8 R7 K5 - 0x7822003C, // 0089 JMPF R8 #00C7 - 0x8C200541, // 008A GETMET R8 R2 K65 - 0x58280005, // 008B LDCONST R10 K5 - 0x7C200400, // 008C CALL R8 2 - 0x6024000C, // 008D GETGBL R9 G12 - 0x5C281000, // 008E MOVE R10 R8 - 0x7C240200, // 008F CALL R9 1 - 0x542A001F, // 0090 LDINT R10 32 - 0x2024120A, // 0091 NE R9 R9 R10 - 0x78260001, // 0092 JMPF R9 #0095 - 0x4C240000, // 0093 LDNIL R9 - 0x80041200, // 0094 RET 1 R9 - 0x900ED509, // 0095 SETMBR R3 K106 K9 - 0x8C240B0A, // 0096 GETMET R9 R5 K10 - 0x7C240200, // 0097 CALL R9 1 - 0x8C28130B, // 0098 GETMET R10 R9 K11 - 0x58300009, // 0099 LDCONST R12 K9 - 0x88340B3A, // 009A GETMBR R13 R5 K58 - 0xB83A0200, // 009B GETNGBL R14 K1 - 0x8C381D74, // 009C GETMET R14 R14 K116 - 0x7C380200, // 009D CALL R14 1 - 0x7C280800, // 009E CALL R10 4 - 0x8C28130B, // 009F GETMET R10 R9 K11 - 0x5830000D, // 00A0 LDCONST R12 K13 - 0x88340B1F, // 00A1 GETMBR R13 R5 K31 - 0x5C381000, // 00A2 MOVE R14 R8 - 0x7C280800, // 00A3 CALL R10 4 - 0x8C28130B, // 00A4 GETMET R10 R9 K11 - 0x5830000F, // 00A5 LDCONST R12 K15 - 0x88340B2A, // 00A6 GETMBR R13 R5 K42 - 0xB83A2400, // 00A7 GETNGBL R14 K18 - 0x8C381D2F, // 00A8 GETMET R14 R14 K47 - 0x7C380200, // 00A9 CALL R14 1 - 0x7C280800, // 00AA CALL R10 4 - 0x8C281375, // 00AB GETMET R10 R9 K117 - 0x7C280200, // 00AC CALL R10 1 - 0x8C2C0376, // 00AD GETMET R11 R1 K118 - 0x7C2C0200, // 00AE CALL R11 1 - 0x0030140B, // 00AF ADD R12 R10 R11 - 0x8C340977, // 00B0 GETMET R13 R4 K119 - 0x7C340200, // 00B1 CALL R13 1 - 0x8C341B78, // 00B2 GETMET R13 R13 K120 - 0xB83E0200, // 00B3 GETNGBL R15 K1 - 0x8C3C1F79, // 00B4 GETMET R15 R15 K121 - 0x7C3C0200, // 00B5 CALL R15 1 - 0x5C401800, // 00B6 MOVE R16 R12 - 0x7C340600, // 00B7 CALL R13 3 - 0x8C380B0A, // 00B8 GETMET R14 R5 K10 - 0x7C380200, // 00B9 CALL R14 1 - 0x8C3C1D0B, // 00BA GETMET R15 R14 K11 - 0x58440005, // 00BB LDCONST R17 K5 - 0x88480B3A, // 00BC GETMBR R18 R5 K58 - 0x5C4C1400, // 00BD MOVE R19 R10 - 0x7C3C0800, // 00BE CALL R15 4 - 0x8C3C1D0B, // 00BF GETMET R15 R14 K11 - 0x58440009, // 00C0 LDCONST R17 K9 - 0x88480B1F, // 00C1 GETMBR R18 R5 K31 - 0x5C4C1A00, // 00C2 MOVE R19 R13 - 0x7C3C0800, // 00C3 CALL R15 4 - 0x900ED509, // 00C4 SETMBR R3 K106 K9 - 0x80041C00, // 00C5 RET 1 R14 - 0x7002017D, // 00C6 JMP #0245 - 0x54220003, // 00C7 LDINT R8 4 - 0x1C200E08, // 00C8 EQ R8 R7 R8 - 0x7822003C, // 00C9 JMPF R8 #0107 - 0x8C200133, // 00CA GETMET R8 R0 K51 - 0x5C280600, // 00CB MOVE R10 R3 - 0x7C200400, // 00CC CALL R8 2 - 0x8C200541, // 00CD GETMET R8 R2 K65 - 0x58280005, // 00CE LDCONST R10 K5 - 0x7C200400, // 00CF CALL R8 2 - 0x6024000C, // 00D0 GETGBL R9 G12 - 0x5C281000, // 00D1 MOVE R10 R8 - 0x7C240200, // 00D2 CALL R9 1 - 0x542A001F, // 00D3 LDINT R10 32 - 0x2024120A, // 00D4 NE R9 R9 R10 - 0x78260001, // 00D5 JMPF R9 #00D8 - 0x4C240000, // 00D6 LDNIL R9 - 0x80041200, // 00D7 RET 1 R9 - 0x8C240541, // 00D8 GETMET R9 R2 K65 - 0x582C0009, // 00D9 LDCONST R11 K9 - 0x50300000, // 00DA LDBOOL R12 0 0 - 0x7C240600, // 00DB CALL R9 3 - 0x8C28037A, // 00DC GETMET R10 R1 K122 - 0x7C280200, // 00DD CALL R10 1 - 0x8C2C0B0A, // 00DE GETMET R11 R5 K10 - 0x7C2C0200, // 00DF CALL R11 1 - 0x8C30170B, // 00E0 GETMET R12 R11 K11 - 0x58380009, // 00E1 LDCONST R14 K9 - 0x883C0B3A, // 00E2 GETMBR R15 R5 K58 - 0x5C401400, // 00E3 MOVE R16 R10 - 0x7C300800, // 00E4 CALL R12 4 - 0x8C30170B, // 00E5 GETMET R12 R11 K11 - 0x5838000D, // 00E6 LDCONST R14 K13 - 0x883C0B1F, // 00E7 GETMBR R15 R5 K31 - 0x5C401000, // 00E8 MOVE R16 R8 - 0x7C300800, // 00E9 CALL R12 4 - 0x8C301775, // 00EA GETMET R12 R11 K117 - 0x7C300200, // 00EB CALL R12 1 - 0x8C340376, // 00EC GETMET R13 R1 K118 - 0x7C340200, // 00ED CALL R13 1 - 0x0034180D, // 00EE ADD R13 R12 R13 - 0x8C380977, // 00EF GETMET R14 R4 K119 - 0x7C380200, // 00F0 CALL R14 1 - 0x8C381D78, // 00F1 GETMET R14 R14 K120 - 0xB8420200, // 00F2 GETNGBL R16 K1 - 0x8C402179, // 00F3 GETMET R16 R16 K121 - 0x7C400200, // 00F4 CALL R16 1 - 0x5C441A00, // 00F5 MOVE R17 R13 - 0x7C380600, // 00F6 CALL R14 3 - 0x8C3C0B0A, // 00F7 GETMET R15 R5 K10 - 0x7C3C0200, // 00F8 CALL R15 1 - 0x8C401F0B, // 00F9 GETMET R16 R15 K11 - 0x58480005, // 00FA LDCONST R18 K5 - 0x884C0B3A, // 00FB GETMBR R19 R5 K58 - 0x5C501800, // 00FC MOVE R20 R12 - 0x7C400800, // 00FD CALL R16 4 - 0x8C401F0B, // 00FE GETMET R16 R15 K11 - 0x58480009, // 00FF LDCONST R18 K9 - 0x884C0B1F, // 0100 GETMBR R19 R5 K31 - 0x5C501C00, // 0101 MOVE R20 R14 - 0x7C400800, // 0102 CALL R16 4 - 0x54420004, // 0103 LDINT R16 5 - 0x900ED410, // 0104 SETMBR R3 K106 R16 - 0x80041E00, // 0105 RET 1 R15 - 0x7002013D, // 0106 JMP #0245 - 0x5422000A, // 0107 LDINT R8 11 - 0x1C200E08, // 0108 EQ R8 R7 R8 - 0x7822000B, // 0109 JMPF R8 #0116 - 0x8C200541, // 010A GETMET R8 R2 K65 - 0x58280005, // 010B LDCONST R10 K5 - 0x7C200400, // 010C CALL R8 2 - 0x8C24037B, // 010D GETMET R9 R1 K123 - 0x5C2C1000, // 010E MOVE R11 R8 - 0x7C240400, // 010F CALL R9 2 - 0xB8260200, // 0110 GETNGBL R9 K1 - 0x8824137C, // 0111 GETMBR R9 R9 K124 - 0x900EC409, // 0112 SETMBR R3 K98 R9 - 0x4C240000, // 0113 LDNIL R9 - 0x80041200, // 0114 RET 1 R9 - 0x7002012E, // 0115 JMP #0245 - 0x54220005, // 0116 LDINT R8 6 - 0x1C200E08, // 0117 EQ R8 R7 R8 - 0x782200B8, // 0118 JMPF R8 #01D2 - 0xB822FA00, // 0119 GETNGBL R8 K125 - 0x60240008, // 011A GETGBL R9 G8 - 0x5C280400, // 011B MOVE R10 R2 - 0x7C240200, // 011C CALL R9 1 - 0x0026FC09, // 011D ADD R9 K126 R9 - 0x542A0003, // 011E LDINT R10 4 - 0x7C200400, // 011F CALL R8 2 - 0x8C200541, // 0120 GETMET R8 R2 K65 - 0x58280005, // 0121 LDCONST R10 K5 - 0x7C200400, // 0122 CALL R8 2 - 0x8C240541, // 0123 GETMET R9 R2 K65 - 0x582C0009, // 0124 LDCONST R11 K9 - 0x7C240400, // 0125 CALL R9 2 - 0x6028000C, // 0126 GETGBL R10 G12 - 0x5C2C1200, // 0127 MOVE R11 R9 - 0x7C280200, // 0128 CALL R10 1 - 0x1C281505, // 0129 EQ R10 R10 K5 - 0x782A0000, // 012A JMPF R10 #012C - 0x4C240000, // 012B LDNIL R9 - 0x8C280541, // 012C GETMET R10 R2 K65 - 0x5830000D, // 012D LDCONST R12 K13 - 0x7C280400, // 012E CALL R10 2 - 0x8C2C0541, // 012F GETMET R11 R2 K65 - 0x5834000F, // 0130 LDCONST R13 K15 - 0x7C2C0400, // 0131 CALL R11 2 - 0x8C300541, // 0132 GETMET R12 R2 K65 - 0x543A0003, // 0133 LDINT R14 4 - 0x7C300400, // 0134 CALL R12 2 - 0x8C34037F, // 0135 GETMET R13 R1 K127 - 0x7C340200, // 0136 CALL R13 1 - 0x4C380000, // 0137 LDNIL R14 - 0x1C341A0E, // 0138 EQ R13 R13 R14 - 0x78360005, // 0139 JMPF R13 #0140 - 0xB836FA00, // 013A GETNGBL R13 K125 - 0x58380080, // 013B LDCONST R14 K128 - 0x583C000D, // 013C LDCONST R15 K13 - 0x7C340400, // 013D CALL R13 2 - 0x4C340000, // 013E LDNIL R13 - 0x80041A00, // 013F RET 1 R13 - 0x88340136, // 0140 GETMBR R13 R0 K54 - 0x88341B37, // 0141 GETMBR R13 R13 K55 - 0x8C341B81, // 0142 GETMET R13 R13 K129 - 0x7C340200, // 0143 CALL R13 1 - 0x8C381B82, // 0144 GETMET R14 R13 K130 - 0x8C40037F, // 0145 GETMET R16 R1 K127 - 0x7C400200, // 0146 CALL R16 1 - 0x7C380400, // 0147 CALL R14 2 - 0x8C381B83, // 0148 GETMET R14 R13 K131 - 0x5C401000, // 0149 MOVE R16 R8 - 0x5C441200, // 014A MOVE R17 R9 - 0x7C380600, // 014B CALL R14 3 - 0x8C381B84, // 014C GETMET R14 R13 K132 - 0x5C401400, // 014D MOVE R16 R10 - 0x7C380400, // 014E CALL R14 2 - 0x8C381B85, // 014F GETMET R14 R13 K133 - 0x5C401600, // 0150 MOVE R16 R11 - 0x5C441800, // 0151 MOVE R17 R12 - 0x7C380600, // 0152 CALL R14 3 - 0x8C381B86, // 0153 GETMET R14 R13 K134 - 0x8C400387, // 0154 GETMET R16 R1 K135 - 0x7C400200, // 0155 CALL R16 1 - 0x7C380400, // 0156 CALL R14 2 - 0xB83A0200, // 0157 GETNGBL R14 K1 - 0x88381D02, // 0158 GETMBR R14 R14 K2 - 0x8C381D3F, // 0159 GETMET R14 R14 K63 - 0x5C401000, // 015A MOVE R16 R8 - 0x7C380400, // 015B CALL R14 2 - 0x8C3C1D88, // 015C GETMET R15 R14 K136 - 0x54460005, // 015D LDINT R17 6 - 0x7C3C0400, // 015E CALL R15 2 - 0x8C401F41, // 015F GETMET R16 R15 K65 - 0x544A0014, // 0160 LDINT R18 21 - 0x7C400400, // 0161 CALL R16 2 - 0x8C441F41, // 0162 GETMET R17 R15 K65 - 0x544E0010, // 0163 LDINT R19 17 - 0x7C440400, // 0164 CALL R17 2 - 0x5C482000, // 0165 MOVE R18 R16 - 0x784A0001, // 0166 JMPF R18 #0169 - 0x5C482200, // 0167 MOVE R18 R17 - 0x744A0005, // 0168 JMPT R18 #016F - 0xB84AFA00, // 0169 GETNGBL R18 K125 - 0x584C0089, // 016A LDCONST R19 K137 - 0x5850000D, // 016B LDCONST R20 K13 - 0x7C480400, // 016C CALL R18 2 - 0x50480000, // 016D LDBOOL R18 0 0 - 0x80042400, // 016E RET 1 R18 - 0x60480004, // 016F GETGBL R18 G4 - 0x5C4C2000, // 0170 MOVE R19 R16 - 0x7C480200, // 0171 CALL R18 1 - 0x1C482560, // 0172 EQ R18 R18 K96 - 0x784A0007, // 0173 JMPF R18 #017C - 0xB84A5C00, // 0174 GETNGBL R18 K46 - 0x8C48258A, // 0175 GETMET R18 R18 K138 - 0x5C502000, // 0176 MOVE R20 R16 - 0x7C480400, // 0177 CALL R18 2 - 0x8C48258B, // 0178 GETMET R18 R18 K139 - 0x7C480200, // 0179 CALL R18 1 - 0x5C402400, // 017A MOVE R16 R18 - 0x70020002, // 017B JMP #017F - 0x8C48218B, // 017C GETMET R18 R16 K139 - 0x7C480200, // 017D CALL R18 1 - 0x5C402400, // 017E MOVE R16 R18 - 0x60480004, // 017F GETGBL R18 G4 - 0x5C4C2200, // 0180 MOVE R19 R17 - 0x7C480200, // 0181 CALL R18 1 - 0x1C482560, // 0182 EQ R18 R18 K96 - 0x784A0007, // 0183 JMPF R18 #018C - 0xB84A5C00, // 0184 GETNGBL R18 K46 - 0x8C48258A, // 0185 GETMET R18 R18 K138 - 0x5C502200, // 0186 MOVE R20 R17 - 0x7C480400, // 0187 CALL R18 2 - 0x8C48258B, // 0188 GETMET R18 R18 K139 - 0x7C480200, // 0189 CALL R18 1 - 0x5C442400, // 018A MOVE R17 R18 - 0x70020002, // 018B JMP #018F - 0x8C48238B, // 018C GETMET R18 R17 K139 - 0x7C480200, // 018D CALL R18 1 - 0x5C442400, // 018E MOVE R17 R18 - 0x8C48038C, // 018F GETMET R18 R1 K140 - 0x7C480200, // 0190 CALL R18 1 - 0x404E138D, // 0191 CONNECT R19 K9 K141 - 0x94482413, // 0192 GETIDX R18 R18 R19 - 0x604C0015, // 0193 GETGBL R19 G21 - 0x7C4C0000, // 0194 CALL R19 0 - 0x8C4C278E, // 0195 GETMET R19 R19 K142 - 0x5854008F, // 0196 LDCONST R21 K143 - 0x7C4C0400, // 0197 CALL R19 2 - 0x8C500990, // 0198 GETMET R20 R4 K144 - 0x7C500200, // 0199 CALL R20 1 - 0x8C542191, // 019A GETMET R21 R16 K145 - 0x7C540200, // 019B CALL R21 1 - 0x8C542B92, // 019C GETMET R21 R21 K146 - 0x7C540200, // 019D CALL R21 1 - 0x8C582993, // 019E GETMET R22 R20 K147 - 0x5C602400, // 019F MOVE R24 R18 - 0x5C642A00, // 01A0 MOVE R25 R21 - 0x5C682600, // 01A1 MOVE R26 R19 - 0x546E0007, // 01A2 LDINT R27 8 - 0x7C580A00, // 01A3 CALL R22 5 - 0x885C0349, // 01A4 GETMBR R23 R1 K73 - 0x785E0001, // 01A5 JMPF R23 #01A8 - 0x885C0349, // 01A6 GETMBR R23 R1 K73 - 0x70020001, // 01A7 JMP #01AA - 0x885C0136, // 01A8 GETMBR R23 R0 K54 - 0x885C2F4C, // 01A9 GETMBR R23 R23 K76 - 0x8C601B94, // 01AA GETMET R24 R13 K148 - 0x5C682000, // 01AB MOVE R26 R16 - 0x5C6C2200, // 01AC MOVE R27 R17 - 0x5C702C00, // 01AD MOVE R28 R22 - 0x5C742E00, // 01AE MOVE R29 R23 - 0x7C600A00, // 01AF CALL R24 5 - 0x8C601B95, // 01B0 GETMET R24 R13 K149 - 0x7C600200, // 01B1 CALL R24 1 - 0x88600136, // 01B2 GETMBR R24 R0 K54 - 0x8C603196, // 01B3 GETMET R24 R24 K150 - 0x5C681A00, // 01B4 MOVE R26 R13 - 0x7C600400, // 01B5 CALL R24 2 - 0x8C600397, // 01B6 GETMET R24 R1 K151 - 0x7C600200, // 01B7 CALL R24 1 - 0x78620002, // 01B8 JMPF R24 #01BC + 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 + 0x7002027D, // 0065 JMP #02E4 + 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 - 0x546A003B, // 01BA LDINT R26 60 - 0x7C600400, // 01BB CALL R24 2 - 0x8C601B99, // 01BC GETMET R24 R13 K153 - 0x7C600200, // 01BD CALL R24 1 - 0x8C601B9A, // 01BE GETMET R24 R13 K154 - 0x7C600200, // 01BF CALL R24 1 - 0x8C600B0A, // 01C0 GETMET R24 R5 K10 - 0x7C600200, // 01C1 CALL R24 1 - 0x8C64310B, // 01C2 GETMET R25 R24 K11 - 0x586C0005, // 01C3 LDCONST R27 K5 - 0x88700B0E, // 01C4 GETMBR R28 R5 K14 - 0xB8760200, // 01C5 GETNGBL R29 K1 - 0x88743B7C, // 01C6 GETMBR R29 R29 K124 - 0x7C640800, // 01C7 CALL R25 4 - 0x8C64310B, // 01C8 GETMET R25 R24 K11 - 0x586C0009, // 01C9 LDCONST R27 K9 - 0x88700B0E, // 01CA GETMBR R28 R5 K14 - 0x8C741B3D, // 01CB GETMET R29 R13 K61 - 0x7C740200, // 01CC CALL R29 1 - 0x7C640800, // 01CD CALL R25 4 - 0x54660007, // 01CE LDINT R25 8 - 0x900ED419, // 01CF SETMBR R3 K106 R25 - 0x80043000, // 01D0 RET 1 R24 - 0x70020072, // 01D1 JMP #0245 - 0x54220008, // 01D2 LDINT R8 9 - 0x1C200E08, // 01D3 EQ R8 R7 R8 - 0x7822002B, // 01D4 JMPF R8 #0201 - 0x8C200541, // 01D5 GETMET R8 R2 K65 - 0x58280005, // 01D6 LDCONST R10 K5 - 0x7C200400, // 01D7 CALL R8 2 - 0x8C24039B, // 01D8 GETMET R9 R1 K155 - 0x5C2C1000, // 01D9 MOVE R11 R8 - 0x7C240400, // 01DA CALL R9 2 - 0xB826FA00, // 01DB GETNGBL R9 K125 - 0x60280018, // 01DC GETGBL R10 G24 - 0x582C009C, // 01DD LDCONST R11 K156 - 0x88300349, // 01DE GETMBR R12 R1 K73 - 0x8C30199D, // 01DF GETMET R12 R12 K157 - 0x7C300200, // 01E0 CALL R12 1 - 0x8C301991, // 01E1 GETMET R12 R12 K145 - 0x7C300200, // 01E2 CALL R12 1 - 0x8C301992, // 01E3 GETMET R12 R12 K146 - 0x7C300200, // 01E4 CALL R12 1 - 0x8C30199E, // 01E5 GETMET R12 R12 K158 - 0x7C300200, // 01E6 CALL R12 1 - 0x60340008, // 01E7 GETGBL R13 G8 - 0x5C381000, // 01E8 MOVE R14 R8 - 0x7C340200, // 01E9 CALL R13 1 - 0x7C280600, // 01EA CALL R10 3 - 0x582C000F, // 01EB LDCONST R11 K15 - 0x7C240400, // 01EC CALL R9 2 - 0x8C240B0A, // 01ED GETMET R9 R5 K10 - 0x7C240200, // 01EE CALL R9 1 - 0x8C28130B, // 01EF GETMET R10 R9 K11 - 0x58300005, // 01F0 LDCONST R12 K5 - 0x88340B0E, // 01F1 GETMBR R13 R5 K14 - 0xB83A0200, // 01F2 GETNGBL R14 K1 - 0x88381D7C, // 01F3 GETMBR R14 R14 K124 - 0x7C280800, // 01F4 CALL R10 4 - 0x8C28130B, // 01F5 GETMET R10 R9 K11 - 0x58300009, // 01F6 LDCONST R12 K9 - 0x88340B0E, // 01F7 GETMBR R13 R5 K14 - 0x8C380335, // 01F8 GETMET R14 R1 K53 - 0x7C380200, // 01F9 CALL R14 1 - 0x8C381D3D, // 01FA GETMET R14 R14 K61 - 0x7C380200, // 01FB CALL R14 1 - 0x7C280800, // 01FC CALL R10 4 - 0x542A0007, // 01FD LDINT R10 8 - 0x900ED40A, // 01FE SETMBR R3 K106 R10 - 0x80041200, // 01FF RET 1 R9 - 0x70020043, // 0200 JMP #0245 - 0x54220009, // 0201 LDINT R8 10 - 0x1C200E08, // 0202 EQ R8 R7 R8 - 0x78220040, // 0203 JMPF R8 #0245 - 0x8C200541, // 0204 GETMET R8 R2 K65 - 0x58280005, // 0205 LDCONST R10 K5 - 0x7C200400, // 0206 CALL R8 2 - 0x60240008, // 0207 GETGBL R9 G8 - 0x5C281000, // 0208 MOVE R10 R8 - 0x7C240200, // 0209 CALL R9 1 - 0x00273E09, // 020A ADD R9 K159 R9 - 0x900EFA09, // 020B SETMBR R3 K125 R9 - 0x60240010, // 020C GETGBL R9 G16 - 0x88280136, // 020D GETMBR R10 R0 K54 - 0x88281537, // 020E GETMBR R10 R10 K55 - 0x8C281538, // 020F GETMET R10 R10 K56 - 0x7C280200, // 0210 CALL R10 1 - 0x7C240200, // 0211 CALL R9 1 - 0xA8020020, // 0212 EXBLK 0 #0234 - 0x5C281200, // 0213 MOVE R10 R9 - 0x7C280000, // 0214 CALL R10 0 - 0x8C2C153D, // 0215 GETMET R11 R10 K61 - 0x7C2C0200, // 0216 CALL R11 1 - 0x1C2C1608, // 0217 EQ R11 R11 R8 - 0x782E0018, // 0218 JMPF R11 #0232 - 0x8C2C15A0, // 0219 GETMET R11 R10 K160 - 0x7C2C0200, // 021A CALL R11 1 - 0xB82E2400, // 021B GETNGBL R11 K18 - 0x8C2C17A1, // 021C GETMET R11 R11 K161 - 0x543607CF, // 021D LDINT R13 2000 - 0x84380000, // 021E CLOSURE R14 P0 - 0x7C2C0600, // 021F CALL R11 3 - 0x8C2C0B0A, // 0220 GETMET R11 R5 K10 - 0x7C2C0200, // 0221 CALL R11 1 - 0x8C30170B, // 0222 GETMET R12 R11 K11 - 0x58380005, // 0223 LDCONST R14 K5 - 0x883C0B0E, // 0224 GETMBR R15 R5 K14 - 0xB8420200, // 0225 GETNGBL R16 K1 - 0x8840217C, // 0226 GETMBR R16 R16 K124 - 0x7C300800, // 0227 CALL R12 4 - 0x8C30170B, // 0228 GETMET R12 R11 K11 - 0x58380009, // 0229 LDCONST R14 K9 - 0x883C0B0E, // 022A GETMBR R15 R5 K14 - 0x5C401000, // 022B MOVE R16 R8 - 0x7C300800, // 022C CALL R12 4 - 0x54320007, // 022D LDINT R12 8 - 0x900ED40C, // 022E SETMBR R3 K106 R12 - 0xA0000000, // 022F CLOSE R0 - 0xA8040001, // 0230 EXBLK 1 1 - 0x80041600, // 0231 RET 1 R11 - 0xA0240000, // 0232 CLOSE R9 - 0x7001FFDE, // 0233 JMP #0213 - 0x5824003E, // 0234 LDCONST R9 K62 - 0xAC240200, // 0235 CATCH R9 1 0 - 0xB0080000, // 0236 RAISE 2 R0 R0 - 0xB826FA00, // 0237 GETNGBL R9 K125 - 0x60280008, // 0238 GETGBL R10 G8 - 0x5C2C1000, // 0239 MOVE R11 R8 - 0x7C280200, // 023A CALL R10 1 - 0x002B440A, // 023B ADD R10 K162 R10 - 0x002815A3, // 023C ADD R10 R10 K163 - 0x582C000D, // 023D LDCONST R11 K13 - 0x7C240400, // 023E CALL R9 2 - 0xB8260200, // 023F GETNGBL R9 K1 - 0x88241364, // 0240 GETMBR R9 R9 K100 - 0x900EC409, // 0241 SETMBR R3 K98 R9 - 0x4C240000, // 0242 LDNIL R9 - 0xA0000000, // 0243 CLOSE R0 - 0x80041200, // 0244 RET 1 R9 - 0x70020098, // 0245 JMP #02DF - 0x5422003B, // 0246 LDINT R8 60 - 0x1C200C08, // 0247 EQ R8 R6 R8 - 0x78220082, // 0248 JMPF R8 #02CC - 0x1C200F05, // 0249 EQ R8 R7 K5 - 0x78220063, // 024A JMPF R8 #02AF - 0x8C200541, // 024B GETMET R8 R2 K65 - 0x58280005, // 024C LDCONST R10 K5 - 0x7C200400, // 024D CALL R8 2 - 0x8C240541, // 024E GETMET R9 R2 K65 - 0x582C0009, // 024F LDCONST R11 K9 - 0x7C240400, // 0250 CALL R9 2 - 0x8C280541, // 0251 GETMET R10 R2 K65 - 0x5830000D, // 0252 LDCONST R12 K13 - 0x7C280400, // 0253 CALL R10 2 - 0x8C2C0541, // 0254 GETMET R11 R2 K65 - 0x5834000F, // 0255 LDCONST R13 K15 - 0x7C2C0400, // 0256 CALL R11 2 - 0x8C300541, // 0257 GETMET R12 R2 K65 - 0x543A0003, // 0258 LDINT R14 4 - 0x7C300400, // 0259 CALL R12 2 - 0xB836FA00, // 025A GETNGBL R13 K125 - 0x60380018, // 025B GETGBL R14 G24 - 0x583C00A4, // 025C LDCONST R15 K164 - 0x5C401000, // 025D MOVE R16 R8 - 0x8C44139E, // 025E GETMET R17 R9 K158 - 0x7C440200, // 025F CALL R17 1 - 0x5C481400, // 0260 MOVE R18 R10 - 0x5C4C1600, // 0261 MOVE R19 R11 - 0x8C50199E, // 0262 GETMET R20 R12 K158 - 0x7C500200, // 0263 CALL R20 1 - 0x7C380C00, // 0264 CALL R14 6 - 0x543E0003, // 0265 LDINT R15 4 - 0x7C340400, // 0266 CALL R13 2 - 0x4C340000, // 0267 LDNIL R13 - 0x1C34100D, // 0268 EQ R13 R8 R13 - 0x7436000B, // 0269 JMPT R13 #0276 + 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 + 0x7002009A, // 0248 JMP #02E4 + 0x5422003B, // 0249 LDINT R8 60 + 0x1C200C08, // 024A EQ R8 R6 R8 + 0x78220084, // 024B JMPF R8 #02D1 + 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 - 0x1C34120D, // 026B EQ R13 R9 R13 - 0x74360008, // 026C JMPT R13 #0276 + 0x1C34100D, // 026B EQ R13 R8 R13 + 0x7436000B, // 026C JMPT R13 #0279 0x4C340000, // 026D LDNIL R13 - 0x1C34140D, // 026E EQ R13 R10 R13 - 0x74360005, // 026F JMPT R13 #0276 + 0x1C34120D, // 026E EQ R13 R9 R13 + 0x74360008, // 026F JMPT R13 #0279 0x4C340000, // 0270 LDNIL R13 - 0x1C34160D, // 0271 EQ R13 R11 R13 - 0x74360002, // 0272 JMPT R13 #0276 + 0x1C34140D, // 0271 EQ R13 R10 R13 + 0x74360005, // 0272 JMPT R13 #0279 0x4C340000, // 0273 LDNIL R13 - 0x1C34180D, // 0274 EQ R13 R12 R13 - 0x78360005, // 0275 JMPF R13 #027C - 0xB8360200, // 0276 GETNGBL R13 K1 - 0x88341BA5, // 0277 GETMBR R13 R13 K165 - 0x900EC40D, // 0278 SETMBR R3 K98 R13 - 0x4C340000, // 0279 LDNIL R13 - 0xA0000000, // 027A CLOSE R0 - 0x80041A00, // 027B RET 1 R13 - 0x6034000C, // 027C GETGBL R13 G12 - 0x5C381200, // 027D MOVE R14 R9 - 0x7C340200, // 027E CALL R13 1 - 0x543A001F, // 027F LDINT R14 32 - 0x543E0040, // 0280 LDINT R15 65 - 0x00381C0F, // 0281 ADD R14 R14 R15 - 0x20341A0E, // 0282 NE R13 R13 R14 - 0x7436000B, // 0283 JMPT R13 #0290 - 0x6034000C, // 0284 GETGBL R13 G12 - 0x5C381800, // 0285 MOVE R14 R12 - 0x7C340200, // 0286 CALL R13 1 - 0x543A000F, // 0287 LDINT R14 16 - 0x14341A0E, // 0288 LT R13 R13 R14 - 0x74360005, // 0289 JMPT R13 #0290 - 0x6034000C, // 028A GETGBL R13 G12 - 0x5C381800, // 028B MOVE R14 R12 - 0x7C340200, // 028C CALL R13 1 - 0x543A001F, // 028D LDINT R14 32 - 0x24341A0E, // 028E GT R13 R13 R14 - 0x78360009, // 028F JMPF R13 #029A - 0xB836FA00, // 0290 GETNGBL R13 K125 - 0x583800A6, // 0291 LDCONST R14 K166 - 0x583C000D, // 0292 LDCONST R15 K13 - 0x7C340400, // 0293 CALL R13 2 - 0xB8360200, // 0294 GETNGBL R13 K1 - 0x88341B63, // 0295 GETMBR R13 R13 K99 - 0x900EC40D, // 0296 SETMBR R3 K98 R13 - 0x4C340000, // 0297 LDNIL R13 - 0xA0000000, // 0298 CLOSE R0 - 0x80041A00, // 0299 RET 1 R13 - 0x5436001E, // 029A LDINT R13 31 - 0x40360A0D, // 029B CONNECT R13 K5 R13 - 0x9434120D, // 029C GETIDX R13 R9 R13 - 0x543A001F, // 029D LDINT R14 32 - 0x40381D8D, // 029E CONNECT R14 R14 K141 - 0x9438120E, // 029F GETIDX R14 R9 R14 - 0x883C0136, // 02A0 GETMBR R15 R0 K54 - 0x8C3C1FA7, // 02A1 GETMET R15 R15 K167 - 0x5C441000, // 02A2 MOVE R17 R8 - 0x5C481600, // 02A3 MOVE R18 R11 - 0x5C4C1400, // 02A4 MOVE R19 R10 - 0x5C501800, // 02A5 MOVE R20 R12 - 0x5C541A00, // 02A6 MOVE R21 R13 - 0x5C581C00, // 02A7 MOVE R22 R14 - 0x8C5C0335, // 02A8 GETMET R23 R1 K53 - 0x7C5C0200, // 02A9 CALL R23 1 - 0x7C3C1000, // 02AA CALL R15 8 - 0x503C0200, // 02AB LDBOOL R15 1 0 - 0xA0000000, // 02AC CLOSE R0 - 0x80041E00, // 02AD RET 1 R15 - 0x7002001B, // 02AE JMP #02CB - 0x1C200F09, // 02AF EQ R8 R7 K9 - 0x78220011, // 02B0 JMPF R8 #02C3 - 0x8C200541, // 02B1 GETMET R8 R2 K65 - 0x58280005, // 02B2 LDCONST R10 K5 - 0x7C200400, // 02B3 CALL R8 2 - 0xB826FA00, // 02B4 GETNGBL R9 K125 - 0x60280008, // 02B5 GETGBL R10 G8 - 0x5C2C1000, // 02B6 MOVE R11 R8 - 0x7C280200, // 02B7 CALL R10 1 - 0x002B500A, // 02B8 ADD R10 K168 R10 - 0x582C000F, // 02B9 LDCONST R11 K15 - 0x7C240400, // 02BA CALL R9 2 - 0x88240136, // 02BB GETMBR R9 R0 K54 - 0x8C2413A9, // 02BC GETMET R9 R9 K169 - 0x5C2C1000, // 02BD MOVE R11 R8 + 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 + 0x7002001C, // 02B2 JMP #02D0 + 0x1C200F09, // 02B3 EQ R8 R7 K9 + 0x78220011, // 02B4 JMPF R8 #02C7 + 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 - 0x50240200, // 02BF LDBOOL R9 1 0 - 0xA0000000, // 02C0 CLOSE R0 - 0x80041200, // 02C1 RET 1 R9 - 0x70020007, // 02C2 JMP #02CB - 0x1C200F0D, // 02C3 EQ R8 R7 K13 - 0x78220005, // 02C4 JMPF R8 #02CB - 0x88200136, // 02C5 GETMBR R8 R0 K54 - 0x8C2011AA, // 02C6 GETMET R8 R8 K170 - 0x7C200200, // 02C7 CALL R8 1 - 0x50200200, // 02C8 LDBOOL R8 1 0 - 0xA0000000, // 02C9 CLOSE R0 - 0x80041000, // 02CA RET 1 R8 - 0x70020012, // 02CB JMP #02DF - 0x54220029, // 02CC LDINT R8 42 - 0x1C200C08, // 02CD EQ R8 R6 R8 - 0x78220005, // 02CE JMPF R8 #02D5 - 0x1C200F05, // 02CF EQ R8 R7 K5 - 0x78220002, // 02D0 JMPF R8 #02D4 - 0x50200200, // 02D1 LDBOOL R8 1 0 - 0xA0000000, // 02D2 CLOSE R0 - 0x80041000, // 02D3 RET 1 R8 - 0x70020009, // 02D4 JMP #02DF - 0x60200003, // 02D5 GETGBL R8 G3 - 0x5C240000, // 02D6 MOVE R9 R0 - 0x7C200200, // 02D7 CALL R8 1 - 0x8C2011AB, // 02D8 GETMET R8 R8 K171 - 0x5C280200, // 02D9 MOVE R10 R1 - 0x5C2C0400, // 02DA MOVE R11 R2 - 0x5C300600, // 02DB MOVE R12 R3 - 0x7C200800, // 02DC CALL R8 4 - 0xA0000000, // 02DD CLOSE R0 - 0x80041000, // 02DE RET 1 R8 - 0xA0000000, // 02DF CLOSE R0 - 0x80000000, // 02E0 RET 0 + 0x88240136, // 02BF GETMBR R9 R0 K54 + 0x8C2413AA, // 02C0 GETMET R9 R9 K170 + 0x5C2C1000, // 02C1 MOVE R11 R8 + 0x7C240400, // 02C2 CALL R9 2 + 0x50240200, // 02C3 LDBOOL R9 1 0 + 0xA0000000, // 02C4 CLOSE R0 + 0x80041200, // 02C5 RET 1 R9 + 0x70020008, // 02C6 JMP #02D0 + 0x1C200F0D, // 02C7 EQ R8 R7 K13 + 0x78220006, // 02C8 JMPF R8 #02D0 + 0x88200136, // 02C9 GETMBR R8 R0 K54 + 0x8820114A, // 02CA GETMBR R8 R8 K74 + 0x8C2011AB, // 02CB GETMET R8 R8 K171 + 0x7C200200, // 02CC CALL R8 1 + 0x50200200, // 02CD LDBOOL R8 1 0 + 0xA0000000, // 02CE CLOSE R0 + 0x80041000, // 02CF RET 1 R8 + 0x70020012, // 02D0 JMP #02E4 + 0x54220029, // 02D1 LDINT R8 42 + 0x1C200C08, // 02D2 EQ R8 R6 R8 + 0x78220005, // 02D3 JMPF R8 #02DA + 0x1C200F05, // 02D4 EQ R8 R7 K5 + 0x78220002, // 02D5 JMPF R8 #02D9 + 0x50200200, // 02D6 LDBOOL R8 1 0 + 0xA0000000, // 02D7 CLOSE R0 + 0x80041000, // 02D8 RET 1 R8 + 0x70020009, // 02D9 JMP #02E4 + 0x60200003, // 02DA GETGBL R8 G3 + 0x5C240000, // 02DB MOVE R9 R0 + 0x7C200200, // 02DC CALL R8 1 + 0x8C2011AC, // 02DD GETMET R8 R8 K172 + 0x5C280200, // 02DE MOVE R10 R1 + 0x5C2C0400, // 02DF MOVE R11 R2 + 0x5C300600, // 02E0 MOVE R12 R3 + 0x7C200800, // 02E1 CALL R8 4 + 0xA0000000, // 02E2 CLOSE R0 + 0x80041000, // 02E3 RET 1 R8 + 0xA0000000, // 02E4 CLOSE R0 + 0x80000000, // 02E5 RET 0 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index 590fdb306..f6f59fc67 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -434,7 +434,7 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[17]) { /* constants */ + ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(matter_enabled), /* K2 */ be_nested_str_weak(device), @@ -450,16 +450,17 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */ /* K12 */ be_nested_str_weak(s), /* K13 */ be_nested_str_weak(), /* K14 */ be_nested_str_weak(show_bridge_status), - /* K15 */ be_nested_str_weak(is_root_commissioning_open), - /* K16 */ be_nested_str_weak(show_commissioning_info), + /* K15 */ be_nested_str_weak(commissioning), + /* K16 */ be_nested_str_weak(is_root_commissioning_open), + /* K17 */ be_nested_str_weak(show_commissioning_info), }), be_str_weak(web_sensor), &be_const_str_solidified, - ( &(const binstruction[49]) { /* code */ + ( &(const binstruction[50]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080101, // 0001 GETMET R2 R0 K1 0x7C080200, // 0002 CALL R2 1 - 0x780A002B, // 0003 JMPF R2 #0030 + 0x780A002C, // 0003 JMPF R2 #0031 0x88080102, // 0004 GETMBR R2 R0 K2 0x88080503, // 0005 GETMBR R2 R2 K3 0x4C0C0000, // 0006 LDNIL R3 @@ -499,12 +500,13 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */ 0x8C0C010E, // 0028 GETMET R3 R0 K14 0x7C0C0200, // 0029 CALL R3 1 0x880C0102, // 002A GETMBR R3 R0 K2 - 0x8C0C070F, // 002B GETMET R3 R3 K15 - 0x7C0C0200, // 002C CALL R3 1 - 0x780E0001, // 002D JMPF R3 #0030 - 0x8C0C0110, // 002E GETMET R3 R0 K16 - 0x7C0C0200, // 002F CALL R3 1 - 0x80000000, // 0030 RET 0 + 0x880C070F, // 002B GETMBR R3 R3 K15 + 0x8C0C0710, // 002C GETMET R3 R3 K16 + 0x7C0C0200, // 002D CALL R3 1 + 0x780E0001, // 002E JMPF R3 #0031 + 0x8C0C0111, // 002F GETMET R3 R0 K17 + 0x7C0C0200, // 0030 CALL R3 1 + 0x80000000, // 0031 RET 0 }) ) ); @@ -1034,86 +1036,90 @@ be_local_closure(class_Matter_UI_show_commissioning_info, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[17]) { /* constants */ + ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(device), - /* K2 */ be_nested_str_weak(commissioning_open), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(millis), - /* K5 */ be_const_int(0), - /* K6 */ be_nested_str_weak(content_send), - /* K7 */ 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), - /* K8 */ be_nested_str_weak(compute_manual_pairing_code), - /* K9 */ 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), - /* K10 */ be_const_int(3), - /* K11 */ be_const_int(2147483647), - /* K12 */ be_nested_str_weak(_X3Cdiv_X3E_X3Ccenter_X3E), - /* K13 */ be_nested_str_weak(compute_qrcode_content), - /* K14 */ be_nested_str_weak(show_qrcode), - /* K15 */ be_nested_str_weak(_X3Cp_X3E_X20_X25s_X3C_X2Fp_X3E), - /* K16 */ be_nested_str_weak(_X3C_X2Fdiv_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* 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), }), be_str_weak(show_commissioning_info), &be_const_str_solidified, - ( &(const binstruction[58]) { /* code */ + ( &(const binstruction[61]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x88080101, // 0001 GETMBR R2 R0 K1 0x88080502, // 0002 GETMBR R2 R2 K2 - 0xB80E0600, // 0003 GETNGBL R3 K3 - 0x8C0C0704, // 0004 GETMET R3 R3 K4 - 0x7C0C0200, // 0005 CALL R3 1 - 0x04080403, // 0006 SUB R2 R2 R3 - 0x540E03E7, // 0007 LDINT R3 1000 - 0x0C080403, // 0008 DIV R2 R2 R3 - 0x140C0505, // 0009 LT R3 R2 K5 - 0x780E0000, // 000A JMPF R3 #000C - 0x58080005, // 000B LDCONST R2 K5 - 0x540E001D, // 000C LDINT R3 30 - 0x000C0403, // 000D ADD R3 R2 R3 - 0x5412003B, // 000E LDINT R4 60 - 0x0C0C0604, // 000F DIV R3 R3 R4 - 0x8C100306, // 0010 GETMET R4 R1 K6 - 0x60180018, // 0011 GETGBL R6 G24 - 0x581C0007, // 0012 LDCONST R7 K7 - 0x5C200600, // 0013 MOVE R8 R3 - 0x7C180400, // 0014 CALL R6 2 - 0x7C100400, // 0015 CALL R4 2 - 0x88100101, // 0016 GETMBR R4 R0 K1 - 0x8C100908, // 0017 GETMET R4 R4 K8 - 0x7C100200, // 0018 CALL R4 1 - 0x8C140306, // 0019 GETMET R5 R1 K6 - 0x601C0018, // 001A GETGBL R7 G24 - 0x58200009, // 001B LDCONST R8 K9 - 0x40260B0A, // 001C CONNECT R9 K5 K10 - 0x94240809, // 001D GETIDX R9 R4 R9 - 0x542A0003, // 001E LDINT R10 4 - 0x542E0005, // 001F LDINT R11 6 - 0x4028140B, // 0020 CONNECT R10 R10 R11 - 0x9428080A, // 0021 GETIDX R10 R4 R10 - 0x542E0006, // 0022 LDINT R11 7 - 0x402C170B, // 0023 CONNECT R11 R11 K11 - 0x942C080B, // 0024 GETIDX R11 R4 R11 - 0x7C1C0800, // 0025 CALL R7 4 - 0x7C140400, // 0026 CALL R5 2 - 0x8C140306, // 0027 GETMET R5 R1 K6 - 0x581C000C, // 0028 LDCONST R7 K12 - 0x7C140400, // 0029 CALL R5 2 - 0x88140101, // 002A GETMBR R5 R0 K1 - 0x8C140B0D, // 002B GETMET R5 R5 K13 - 0x7C140200, // 002C CALL R5 1 - 0x8C18010E, // 002D GETMET R6 R0 K14 - 0x5C200A00, // 002E MOVE R8 R5 - 0x7C180400, // 002F CALL R6 2 - 0x8C180306, // 0030 GETMET R6 R1 K6 - 0x60200018, // 0031 GETGBL R8 G24 - 0x5824000F, // 0032 LDCONST R9 K15 - 0x5C280A00, // 0033 MOVE R10 R5 - 0x7C200400, // 0034 CALL R8 2 - 0x7C180400, // 0035 CALL R6 2 - 0x8C180306, // 0036 GETMET R6 R1 K6 - 0x58200010, // 0037 LDCONST R8 K16 + 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 - 0x80000000, // 0039 RET 0 + 0x8C180307, // 0039 GETMET R6 R1 K7 + 0x58200011, // 003A LDCONST R8 K17 + 0x7C180400, // 003B CALL R6 2 + 0x80000000, // 003C RET 0 }) ) ); @@ -1584,35 +1590,37 @@ be_local_closure(class_Matter_UI_web_get_arg, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 7]) { /* constants */ + ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(has_arg), /* K2 */ be_nested_str_weak(mtc0), /* K3 */ be_nested_str_weak(device), - /* K4 */ be_nested_str_weak(stop_basic_commissioning), - /* K5 */ be_nested_str_weak(mtc1), - /* K6 */ be_nested_str_weak(start_root_basic_commissioning), + /* K4 */ be_nested_str_weak(commissioning), + /* K5 */ be_nested_str_weak(stop_basic_commissioning), + /* K6 */ be_nested_str_weak(mtc1), + /* K7 */ be_nested_str_weak(start_root_basic_commissioning), }), be_str_weak(web_get_arg), &be_const_str_solidified, - ( &(const binstruction[17]) { /* code */ + ( &(const binstruction[18]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 0x58100002, // 0002 LDCONST R4 K2 0x7C080400, // 0003 CALL R2 2 - 0x780A0003, // 0004 JMPF R2 #0009 + 0x780A0004, // 0004 JMPF R2 #000A 0x88080103, // 0005 GETMBR R2 R0 K3 - 0x8C080504, // 0006 GETMET R2 R2 K4 - 0x7C080200, // 0007 CALL R2 1 - 0x70020006, // 0008 JMP #0010 - 0x8C080301, // 0009 GETMET R2 R1 K1 - 0x58100005, // 000A LDCONST R4 K5 - 0x7C080400, // 000B CALL R2 2 - 0x780A0002, // 000C JMPF R2 #0010 - 0x88080103, // 000D GETMBR R2 R0 K3 - 0x8C080506, // 000E GETMET R2 R2 K6 - 0x7C080200, // 000F CALL R2 1 - 0x80000000, // 0010 RET 0 + 0x88080504, // 0006 GETMBR R2 R2 K4 + 0x8C080505, // 0007 GETMET R2 R2 K5 + 0x7C080200, // 0008 CALL R2 1 + 0x70020006, // 0009 JMP #0011 + 0x8C080301, // 000A GETMET R2 R1 K1 + 0x58100006, // 000B LDCONST R4 K6 + 0x7C080400, // 000C CALL R2 2 + 0x780A0002, // 000D JMPF R2 #0011 + 0x88080103, // 000E GETMBR R2 R0 K3 + 0x8C080507, // 000F GETMET R2 R2 K7 + 0x7C080200, // 0010 CALL R2 1 + 0x80000000, // 0011 RET 0 }) ) ); @@ -2199,7 +2207,7 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[101]) { /* constants */ + ( &(const bvalue[102]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(check_privileged_access), /* K2 */ be_nested_str_weak(string), @@ -2236,75 +2244,76 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */ /* K33 */ be_nested_str_weak(_X201), /* K34 */ be_nested_str_weak(disable), /* K35 */ be_nested_str_weak(_X200), - /* K36 */ be_nested_str_weak(commissioning_open), - /* K37 */ be_nested_str_weak(start_root_basic_commissioning), - /* K38 */ be_nested_str_weak(stop_basic_commissioning), - /* K39 */ be_nested_str_weak(_X2F), - /* K40 */ be_nested_str_weak(del_fabric), - /* K41 */ be_const_int(0), - /* K42 */ be_nested_str_weak(sessions), - /* K43 */ be_nested_str_weak(fabrics), - /* K44 */ be_nested_str_weak(get_fabric_index), - /* K45 */ be_nested_str_weak(remove_fabric), - /* K46 */ be_const_int(1), - /* K47 */ be_nested_str_weak(_X2Fmattera_X3F), - /* K48 */ be_nested_str_weak(auto), - /* K49 */ be_nested_str_weak(plugins_persist), - /* K50 */ be_nested_str_weak(config), - /* K51 */ be_nested_str_weak(arg_size), - /* K52 */ be_nested_str_weak(arg_name), - /* K53 */ be_nested_str_weak(find), - /* K54 */ be_const_int(2147483647), - /* K55 */ be_nested_str_weak(plugins_config), - /* K56 */ be_nested_str_weak(plugins_classes), - /* K57 */ be_nested_str_weak(type), - /* K58 */ be_nested_str_weak(), - /* K59 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s), - /* K60 */ be_nested_str_weak(ui_conf_to_string), - /* K61 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s), - /* K62 */ be_nested_str_weak(changed), - /* K63 */ be_nested_str_weak(ui_string_to_conf), - /* K64 */ be_nested_str_weak(find_plugin_by_endpoint), - /* K65 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), - /* K66 */ be_nested_str_weak(parse_configuration), - /* K67 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found), - /* K68 */ be_nested_str_weak(nam), - /* K69 */ be_nested_str_weak(name), - /* K70 */ be_nested_str_weak(set_name), - /* K71 */ be_nested_str_weak(remove), - /* K72 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), - /* K73 */ be_nested_str_weak(stop_iteration), - /* K74 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s), - /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s), - /* K76 */ be_nested_str_weak(_X2Fmatterc_X3F), - /* K77 */ be_nested_str_weak(addep), - /* K78 */ be_nested_str_weak(pi), - /* K79 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), - /* K80 */ be_nested_str_weak(bridge_add_endpoint), - /* K81 */ be_nested_str_weak(addrem), - /* K82 */ be_nested_str_weak(url), - /* K83 */ be_nested_str_weak(value_error), - /* K84 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null), - /* K85 */ be_nested_str_weak(equal_map), - /* K86 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), - /* K87 */ be_nested_str_weak(del), - /* K88 */ be_nested_str_weak(bridge_remove_endpoint), - /* K89 */ be_nested_str_weak(content_start), - /* K90 */ be_nested_str_weak(Parameter_X20error), - /* K91 */ be_nested_str_weak(content_send_style), - /* K92 */ be_nested_str_weak(content_send), - /* K93 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E), - /* K94 */ be_nested_str_weak(html_escape), - /* K95 */ be_nested_str_weak(content_button), - /* K96 */ be_nested_str_weak(BUTTON_CONFIGURATION), - /* K97 */ be_nested_str_weak(content_stop), - /* K98 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), - /* K99 */ be_const_int(2), - /* K100 */ 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), + /* 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(plugins_persist), + /* 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(_X2Fmatterc_X3F), + /* K78 */ be_nested_str_weak(addep), + /* K79 */ be_nested_str_weak(pi), + /* K80 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K81 */ be_nested_str_weak(bridge_add_endpoint), + /* K82 */ be_nested_str_weak(addrem), + /* K83 */ be_nested_str_weak(url), + /* K84 */ be_nested_str_weak(value_error), + /* K85 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null), + /* K86 */ be_nested_str_weak(equal_map), + /* K87 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K88 */ be_nested_str_weak(del), + /* K89 */ be_nested_str_weak(bridge_remove_endpoint), + /* K90 */ be_nested_str_weak(content_start), + /* K91 */ be_nested_str_weak(Parameter_X20error), + /* K92 */ be_nested_str_weak(content_send_style), + /* K93 */ be_nested_str_weak(content_send), + /* K94 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E), + /* K95 */ be_nested_str_weak(html_escape), + /* K96 */ be_nested_str_weak(content_button), + /* K97 */ be_nested_str_weak(BUTTON_CONFIGURATION), + /* K98 */ be_nested_str_weak(content_stop), + /* K99 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K100 */ be_const_int(2), + /* K101 */ 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[659]) { /* code */ + ( &(const binstruction[661]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 0x7C080200, // 0002 CALL R2 1 @@ -2315,7 +2324,7 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */ 0xA40E0600, // 0007 IMPORT R3 K3 0xA4120800, // 0008 IMPORT R4 K4 0x4C140000, // 0009 LDNIL R5 - 0xA8020269, // 000A EXBLK 0 #0275 + 0xA802026B, // 000A EXBLK 0 #0277 0x8C180305, // 000B GETMET R6 R1 K5 0x58200006, // 000C LDCONST R8 K6 0x7C180400, // 000D CALL R6 2 @@ -2365,11 +2374,11 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */ 0x8C180313, // 0039 GETMET R6 R1 K19 0x58200014, // 003A LDCONST R8 K20 0x7C180400, // 003B CALL R6 2 - 0x70020222, // 003C JMP #0260 + 0x70020224, // 003C JMP #0262 0x8C180305, // 003D GETMET R6 R1 K5 0x58200015, // 003E LDCONST R8 K21 0x7C180400, // 003F CALL R6 2 - 0x781A0052, // 0040 JMPF R6 #0094 + 0x781A0054, // 0040 JMPF R6 #0096 0x8C180305, // 0041 GETMET R6 R1 K5 0x58200016, // 0042 LDCONST R8 K22 0x7C180400, // 0043 CALL R6 2 @@ -2430,540 +2439,542 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */ 0x8C240313, // 007A GETMET R9 R1 K19 0x582C0014, // 007B LDCONST R11 K20 0x7C240400, // 007C CALL R9 2 - 0x70020014, // 007D JMP #0093 + 0x70020016, // 007D JMP #0095 0x8824010B, // 007E GETMBR R9 R0 K11 0x88241324, // 007F GETMBR R9 R9 K36 - 0x4C280000, // 0080 LDNIL R10 - 0x2024120A, // 0081 NE R9 R9 R10 - 0x20240E09, // 0082 NE R9 R7 R9 - 0x7826000B, // 0083 JMPF R9 #0090 - 0x781E0003, // 0084 JMPF R7 #0089 - 0x8824010B, // 0085 GETMBR R9 R0 K11 - 0x8C241325, // 0086 GETMET R9 R9 K37 - 0x7C240200, // 0087 CALL R9 1 - 0x70020002, // 0088 JMP #008C - 0x8824010B, // 0089 GETMBR R9 R0 K11 - 0x8C241326, // 008A GETMET R9 R9 K38 - 0x7C240200, // 008B CALL R9 1 - 0x8C240313, // 008C GETMET R9 R1 K19 - 0x582C0027, // 008D LDCONST R11 K39 - 0x7C240400, // 008E CALL R9 2 - 0x70020002, // 008F JMP #0093 - 0x8C240313, // 0090 GETMET R9 R1 K19 - 0x582C0027, // 0091 LDCONST R11 K39 - 0x7C240400, // 0092 CALL R9 2 - 0x700201CB, // 0093 JMP #0260 - 0x8C180305, // 0094 GETMET R6 R1 K5 - 0x58200028, // 0095 LDCONST R8 K40 - 0x7C180400, // 0096 CALL R6 2 - 0x781A0025, // 0097 JMPF R6 #00BE - 0xB81A1000, // 0098 GETNGBL R6 K8 - 0x601C0018, // 0099 GETGBL R7 G24 - 0x58200009, // 009A LDCONST R8 K9 - 0x58240028, // 009B LDCONST R9 K40 - 0x7C1C0400, // 009C CALL R7 2 - 0x5820000A, // 009D LDCONST R8 K10 - 0x7C180400, // 009E CALL R6 2 - 0x60180009, // 009F GETGBL R6 G9 - 0x8C1C030D, // 00A0 GETMET R7 R1 K13 - 0x58240028, // 00A1 LDCONST R9 K40 - 0x7C1C0400, // 00A2 CALL R7 2 - 0x7C180200, // 00A3 CALL R6 1 - 0x581C0029, // 00A4 LDCONST R7 K41 - 0x8820010B, // 00A5 GETMBR R8 R0 K11 - 0x8820112A, // 00A6 GETMBR R8 R8 K42 - 0x8820112B, // 00A7 GETMBR R8 R8 K43 - 0x6024000C, // 00A8 GETGBL R9 G12 - 0x5C281000, // 00A9 MOVE R10 R8 - 0x7C240200, // 00AA CALL R9 1 - 0x14240E09, // 00AB LT R9 R7 R9 - 0x7826000C, // 00AC JMPF R9 #00BA - 0x94241007, // 00AD GETIDX R9 R8 R7 - 0x8C24132C, // 00AE GETMET R9 R9 K44 - 0x7C240200, // 00AF CALL R9 1 - 0x1C241206, // 00B0 EQ R9 R9 R6 - 0x78260005, // 00B1 JMPF R9 #00B8 - 0x8824010B, // 00B2 GETMBR R9 R0 K11 - 0x8C24132D, // 00B3 GETMET R9 R9 K45 - 0x942C1007, // 00B4 GETIDX R11 R8 R7 - 0x7C240400, // 00B5 CALL R9 2 - 0x70020002, // 00B6 JMP #00BA - 0x70020000, // 00B7 JMP #00B9 - 0x001C0F2E, // 00B8 ADD R7 R7 K46 - 0x7001FFED, // 00B9 JMP #00A8 - 0x8C240313, // 00BA GETMET R9 R1 K19 - 0x582C002F, // 00BB LDCONST R11 K47 - 0x7C240400, // 00BC CALL R9 2 - 0x700201A1, // 00BD JMP #0260 - 0x8C180305, // 00BE GETMET R6 R1 K5 - 0x58200030, // 00BF LDCONST R8 K48 - 0x7C180400, // 00C0 CALL R6 2 - 0x781A0010, // 00C1 JMPF R6 #00D3 - 0xB81A1000, // 00C2 GETNGBL R6 K8 - 0x601C0018, // 00C3 GETGBL R7 G24 - 0x58200009, // 00C4 LDCONST R8 K9 - 0x58240030, // 00C5 LDCONST R9 K48 - 0x7C1C0400, // 00C6 CALL R7 2 - 0x5820000A, // 00C7 LDCONST R8 K10 - 0x7C180400, // 00C8 CALL R6 2 - 0x8818010B, // 00C9 GETMBR R6 R0 K11 - 0x501C0000, // 00CA LDBOOL R7 0 0 - 0x901A6207, // 00CB SETMBR R6 K49 R7 - 0x8818010B, // 00CC GETMBR R6 R0 K11 - 0x8C180D12, // 00CD GETMET R6 R6 K18 - 0x7C180200, // 00CE CALL R6 1 - 0x8C180313, // 00CF GETMET R6 R1 K19 - 0x58200014, // 00D0 LDCONST R8 K20 - 0x7C180400, // 00D1 CALL R6 2 - 0x7002018C, // 00D2 JMP #0260 - 0x8C180305, // 00D3 GETMET R6 R1 K5 - 0x58200032, // 00D4 LDCONST R8 K50 - 0x7C180400, // 00D5 CALL R6 2 - 0x781A00CE, // 00D6 JMPF R6 #01A6 - 0xB81A1000, // 00D7 GETNGBL R6 K8 - 0x601C0018, // 00D8 GETGBL R7 G24 - 0x58200009, // 00D9 LDCONST R8 K9 - 0x58240032, // 00DA LDCONST R9 K50 - 0x7C1C0400, // 00DB CALL R7 2 - 0x5820000A, // 00DC LDCONST R8 K10 - 0x7C180400, // 00DD CALL R6 2 - 0x50180000, // 00DE LDBOOL R6 0 0 - 0x601C0010, // 00DF GETGBL R7 G16 - 0x8C200333, // 00E0 GETMET R8 R1 K51 - 0x7C200200, // 00E1 CALL R8 1 - 0x0420112E, // 00E2 SUB R8 R8 K46 - 0x40225208, // 00E3 CONNECT R8 K41 R8 - 0x7C1C0200, // 00E4 CALL R7 1 - 0xA802009B, // 00E5 EXBLK 0 #0182 - 0x5C200E00, // 00E6 MOVE R8 R7 - 0x7C200000, // 00E7 CALL R8 0 - 0x8C240334, // 00E8 GETMET R9 R1 K52 - 0x5C2C1000, // 00E9 MOVE R11 R8 - 0x7C240400, // 00EA CALL R9 2 - 0x8C280535, // 00EB GETMET R10 R2 K53 - 0x5C301200, // 00EC MOVE R12 R9 - 0x5834000D, // 00ED LDCONST R13 K13 - 0x7C280600, // 00EE CALL R10 3 - 0x1C281529, // 00EF EQ R10 R10 K41 - 0x782A0057, // 00F0 JMPF R10 #0149 - 0x60280009, // 00F1 GETGBL R10 G9 - 0x402E1536, // 00F2 CONNECT R11 K10 K54 - 0x942C120B, // 00F3 GETIDX R11 R9 R11 - 0x7C280200, // 00F4 CALL R10 1 - 0x8C2C030D, // 00F5 GETMET R11 R1 K13 - 0x5C341000, // 00F6 MOVE R13 R8 - 0x7C2C0400, // 00F7 CALL R11 2 - 0x8830010B, // 00F8 GETMBR R12 R0 K11 - 0x88301937, // 00F9 GETMBR R12 R12 K55 - 0x8C301935, // 00FA GETMET R12 R12 K53 - 0x60380008, // 00FB GETGBL R14 G8 - 0x5C3C1400, // 00FC MOVE R15 R10 - 0x7C380200, // 00FD CALL R14 1 - 0x7C300400, // 00FE CALL R12 2 - 0x4C340000, // 00FF LDNIL R13 - 0x2034180D, // 0100 NE R13 R12 R13 - 0x7836003E, // 0101 JMPF R13 #0141 - 0x8834010B, // 0102 GETMBR R13 R0 K11 - 0x88341B38, // 0103 GETMBR R13 R13 K56 - 0x8C341B35, // 0104 GETMET R13 R13 K53 - 0x8C3C1935, // 0105 GETMET R15 R12 K53 - 0x58440039, // 0106 LDCONST R17 K57 - 0x5848003A, // 0107 LDCONST R18 K58 - 0x7C3C0600, // 0108 CALL R15 3 - 0x7C340400, // 0109 CALL R13 2 - 0x4C380000, // 010A LDNIL R14 - 0x20381A0E, // 010B NE R14 R13 R14 - 0x783A0032, // 010C JMPF R14 #0140 - 0xB83A1000, // 010D GETNGBL R14 K8 - 0x603C0018, // 010E GETGBL R15 G24 - 0x5840003B, // 010F LDCONST R16 K59 - 0x5C441400, // 0110 MOVE R17 R10 - 0x5C481600, // 0111 MOVE R18 R11 - 0x7C3C0600, // 0112 CALL R15 3 - 0x5840000A, // 0113 LDCONST R16 K10 - 0x7C380400, // 0114 CALL R14 2 - 0x8C381B3C, // 0115 GETMET R14 R13 K60 - 0x5C401A00, // 0116 MOVE R16 R13 - 0x5C441800, // 0117 MOVE R17 R12 - 0x7C380600, // 0118 CALL R14 3 - 0x203C1C0B, // 0119 NE R15 R14 R11 - 0xB8421000, // 011A GETNGBL R16 K8 - 0x60440018, // 011B GETGBL R17 G24 - 0x5848003D, // 011C LDCONST R18 K61 - 0x5C4C1400, // 011D MOVE R19 R10 - 0x5C501C00, // 011E MOVE R20 R14 - 0x5C541600, // 011F MOVE R21 R11 - 0x20581C0B, // 0120 NE R22 R14 R11 - 0x785A0001, // 0121 JMPF R22 #0124 - 0x5858003E, // 0122 LDCONST R22 K62 - 0x70020000, // 0123 JMP #0125 - 0x5858003A, // 0124 LDCONST R22 K58 - 0x7C440A00, // 0125 CALL R17 5 - 0x5848000A, // 0126 LDCONST R18 K10 - 0x7C400400, // 0127 CALL R16 2 - 0x783E0016, // 0128 JMPF R15 #0140 - 0x50180200, // 0129 LDBOOL R6 1 0 - 0x8C401B3F, // 012A GETMET R16 R13 K63 - 0x5C481A00, // 012B MOVE R18 R13 - 0x5C4C1800, // 012C MOVE R19 R12 - 0x5C501600, // 012D MOVE R20 R11 - 0x7C400800, // 012E CALL R16 4 - 0x8840010B, // 012F GETMBR R16 R0 K11 - 0x8C402140, // 0130 GETMET R16 R16 K64 - 0x5C481400, // 0131 MOVE R18 R10 - 0x7C400400, // 0132 CALL R16 2 - 0x7842000B, // 0133 JMPF R16 #0140 - 0xB8461000, // 0134 GETNGBL R17 K8 - 0x60480018, // 0135 GETGBL R18 G24 - 0x584C0041, // 0136 LDCONST R19 K65 - 0x5C501800, // 0137 MOVE R20 R12 - 0x5C541400, // 0138 MOVE R21 R10 - 0x5C582000, // 0139 MOVE R22 R16 - 0x7C480800, // 013A CALL R18 4 - 0x584C000A, // 013B LDCONST R19 K10 - 0x7C440400, // 013C CALL R17 2 - 0x8C442142, // 013D GETMET R17 R16 K66 - 0x5C4C1800, // 013E MOVE R19 R12 - 0x7C440400, // 013F CALL R17 2 - 0x70020006, // 0140 JMP #0148 - 0xB8361000, // 0141 GETNGBL R13 K8 - 0x60380018, // 0142 GETGBL R14 G24 - 0x583C0043, // 0143 LDCONST R15 K67 - 0x5C401400, // 0144 MOVE R16 R10 - 0x7C380400, // 0145 CALL R14 2 - 0x583C000A, // 0146 LDCONST R15 K10 - 0x7C340400, // 0147 CALL R13 2 - 0x70020037, // 0148 JMP #0181 - 0x8C280535, // 0149 GETMET R10 R2 K53 - 0x5C301200, // 014A MOVE R12 R9 - 0x58340044, // 014B LDCONST R13 K68 - 0x7C280600, // 014C CALL R10 3 - 0x1C281529, // 014D EQ R10 R10 K41 - 0x782A0031, // 014E JMPF R10 #0181 - 0x60280009, // 014F GETGBL R10 G9 - 0x402E1536, // 0150 CONNECT R11 K10 K54 - 0x942C120B, // 0151 GETIDX R11 R9 R11 - 0x7C280200, // 0152 CALL R10 1 - 0x8C2C030D, // 0153 GETMET R11 R1 K13 - 0x5C341000, // 0154 MOVE R13 R8 - 0x7C2C0400, // 0155 CALL R11 2 - 0x8830010B, // 0156 GETMBR R12 R0 K11 - 0x88301937, // 0157 GETMBR R12 R12 K55 - 0x8C301935, // 0158 GETMET R12 R12 K53 - 0x60380008, // 0159 GETGBL R14 G8 - 0x5C3C1400, // 015A MOVE R15 R10 - 0x7C380200, // 015B CALL R14 1 - 0x7C300400, // 015C CALL R12 2 - 0x4C340000, // 015D LDNIL R13 - 0x2034180D, // 015E NE R13 R12 R13 - 0x78360020, // 015F JMPF R13 #0181 - 0x8C341935, // 0160 GETMET R13 R12 K53 - 0x583C0045, // 0161 LDCONST R15 K69 - 0x5840003A, // 0162 LDCONST R16 K58 - 0x7C340600, // 0163 CALL R13 3 - 0x20381A0B, // 0164 NE R14 R13 R11 - 0x783A001A, // 0165 JMPF R14 #0181 - 0x50180200, // 0166 LDBOOL R6 1 0 - 0x883C010B, // 0167 GETMBR R15 R0 K11 - 0x8C3C1F40, // 0168 GETMET R15 R15 K64 - 0x5C441400, // 0169 MOVE R17 R10 - 0x7C3C0400, // 016A CALL R15 2 - 0x783E0014, // 016B JMPF R15 #0181 - 0x8C401F46, // 016C GETMET R16 R15 K70 - 0x5C481600, // 016D MOVE R18 R11 - 0x7C400400, // 016E CALL R16 2 - 0x782E0001, // 016F JMPF R11 #0172 - 0x98328A0B, // 0170 SETIDX R12 K69 R11 - 0x70020002, // 0171 JMP #0175 - 0x8C401947, // 0172 GETMET R16 R12 K71 - 0x58480045, // 0173 LDCONST R18 K69 - 0x7C400400, // 0174 CALL R16 2 - 0xB8421000, // 0175 GETNGBL R16 K8 - 0x60440018, // 0176 GETGBL R17 G24 - 0x58480048, // 0177 LDCONST R18 K72 - 0x5C4C1800, // 0178 MOVE R19 R12 - 0x5C501400, // 0179 MOVE R20 R10 - 0x5C541E00, // 017A MOVE R21 R15 - 0x7C440800, // 017B CALL R17 4 - 0x5848000A, // 017C LDCONST R18 K10 - 0x7C400400, // 017D CALL R16 2 - 0x8C401F42, // 017E GETMET R16 R15 K66 - 0x5C481800, // 017F MOVE R18 R12 - 0x7C400400, // 0180 CALL R16 2 - 0x7001FF63, // 0181 JMP #00E6 - 0x581C0049, // 0182 LDCONST R7 K73 - 0xAC1C0200, // 0183 CATCH R7 1 0 - 0xB0080000, // 0184 RAISE 2 R0 R0 - 0xB81E1000, // 0185 GETNGBL R7 K8 - 0x60200018, // 0186 GETGBL R8 G24 - 0x5824004A, // 0187 LDCONST R9 K74 - 0x60280008, // 0188 GETGBL R10 G8 - 0x882C010B, // 0189 GETMBR R11 R0 K11 - 0x882C1737, // 018A GETMBR R11 R11 K55 - 0x7C280200, // 018B CALL R10 1 - 0x7C200400, // 018C CALL R8 2 - 0x5824000A, // 018D LDCONST R9 K10 - 0x7C1C0400, // 018E CALL R7 2 - 0x78160007, // 018F JMPF R5 #0198 - 0xB81E1000, // 0190 GETNGBL R7 K8 - 0x60200018, // 0191 GETGBL R8 G24 - 0x5824004B, // 0192 LDCONST R9 K75 - 0x5C280A00, // 0193 MOVE R10 R5 - 0x7C200400, // 0194 CALL R8 2 - 0x5824000A, // 0195 LDCONST R9 K10 - 0x7C1C0400, // 0196 CALL R7 2 - 0x7002000C, // 0197 JMP #01A5 - 0x741A0002, // 0198 JMPT R6 #019C - 0x881C010B, // 0199 GETMBR R7 R0 K11 - 0x881C0F31, // 019A GETMBR R7 R7 K49 - 0x741E0005, // 019B JMPT R7 #01A2 - 0x881C010B, // 019C GETMBR R7 R0 K11 - 0x50200200, // 019D LDBOOL R8 1 0 - 0x901E6208, // 019E SETMBR R7 K49 R8 - 0x881C010B, // 019F GETMBR R7 R0 K11 - 0x8C1C0F12, // 01A0 GETMET R7 R7 K18 - 0x7C1C0200, // 01A1 CALL R7 1 - 0x8C1C0313, // 01A2 GETMET R7 R1 K19 - 0x5824004C, // 01A3 LDCONST R9 K76 - 0x7C1C0400, // 01A4 CALL R7 2 - 0x700200B9, // 01A5 JMP #0260 - 0x8C180305, // 01A6 GETMET R6 R1 K5 - 0x5820004D, // 01A7 LDCONST R8 K77 - 0x7C180400, // 01A8 CALL R6 2 - 0x781A002A, // 01A9 JMPF R6 #01D5 - 0x8C18030D, // 01AA GETMET R6 R1 K13 - 0x5820004E, // 01AB LDCONST R8 K78 - 0x7C180400, // 01AC CALL R6 2 - 0x8C1C030D, // 01AD GETMET R7 R1 K13 - 0x5824000D, // 01AE LDCONST R9 K13 - 0x7C1C0400, // 01AF CALL R7 2 - 0x8C20030D, // 01B0 GETMET R8 R1 K13 - 0x58280044, // 01B1 LDCONST R10 K68 - 0x7C200400, // 01B2 CALL R8 2 - 0xB8261000, // 01B3 GETNGBL R9 K8 - 0x60280018, // 01B4 GETGBL R10 G24 - 0x582C004F, // 01B5 LDCONST R11 K79 - 0x5C300C00, // 01B6 MOVE R12 R6 - 0x5C340E00, // 01B7 MOVE R13 R7 - 0x7C280600, // 01B8 CALL R10 3 - 0x582C000A, // 01B9 LDCONST R11 K10 - 0x7C240400, // 01BA CALL R9 2 - 0x8824010B, // 01BB GETMBR R9 R0 K11 - 0x88241338, // 01BC GETMBR R9 R9 K56 - 0x8C241335, // 01BD GETMET R9 R9 K53 - 0x5C2C0C00, // 01BE MOVE R11 R6 - 0x7C240400, // 01BF CALL R9 2 - 0x4C280000, // 01C0 LDNIL R10 - 0x2028120A, // 01C1 NE R10 R9 R10 - 0x782A000D, // 01C2 JMPF R10 #01D1 - 0x60280013, // 01C3 GETGBL R10 G19 - 0x7C280000, // 01C4 CALL R10 0 - 0x78220000, // 01C5 JMPF R8 #01C7 - 0x982A8A08, // 01C6 SETIDX R10 K69 R8 - 0x8C2C133F, // 01C7 GETMET R11 R9 K63 - 0x5C341200, // 01C8 MOVE R13 R9 - 0x5C381400, // 01C9 MOVE R14 R10 - 0x5C3C0E00, // 01CA MOVE R15 R7 - 0x7C2C0800, // 01CB CALL R11 4 - 0x882C010B, // 01CC GETMBR R11 R0 K11 - 0x8C2C1750, // 01CD GETMET R11 R11 K80 - 0x5C340C00, // 01CE MOVE R13 R6 - 0x5C381400, // 01CF MOVE R14 R10 - 0x7C2C0600, // 01D0 CALL R11 3 - 0x8C280313, // 01D1 GETMET R10 R1 K19 - 0x5830004C, // 01D2 LDCONST R12 K76 - 0x7C280400, // 01D3 CALL R10 2 - 0x7002008A, // 01D4 JMP #0260 - 0x8C180305, // 01D5 GETMET R6 R1 K5 - 0x58200051, // 01D6 LDCONST R8 K81 - 0x7C180400, // 01D7 CALL R6 2 - 0x781A005D, // 01D8 JMPF R6 #0237 - 0x8C18030D, // 01D9 GETMET R6 R1 K13 - 0x58200052, // 01DA LDCONST R8 K82 - 0x7C180400, // 01DB CALL R6 2 - 0x4C1C0000, // 01DC LDNIL R7 - 0x1C1C0C07, // 01DD EQ R7 R6 R7 - 0x741E0001, // 01DE JMPT R7 #01E1 - 0x1C1C0D3A, // 01DF EQ R7 R6 K58 - 0x781E0000, // 01E0 JMPF R7 #01E2 - 0xB006A754, // 01E1 RAISE 1 K83 K84 - 0x581C0029, // 01E2 LDCONST R7 K41 - 0x60200008, // 01E3 GETGBL R8 G8 - 0x5C240E00, // 01E4 MOVE R9 R7 - 0x7C200200, // 01E5 CALL R8 1 - 0x8C240305, // 01E6 GETMET R9 R1 K5 - 0x002E9C08, // 01E7 ADD R11 K78 R8 - 0x7C240400, // 01E8 CALL R9 2 - 0x78260048, // 01E9 JMPF R9 #0233 - 0x8C24030D, // 01EA GETMET R9 R1 K13 - 0x002E9C08, // 01EB ADD R11 K78 R8 - 0x7C240400, // 01EC CALL R9 2 - 0x8C28030D, // 01ED GETMET R10 R1 K13 - 0x00321A08, // 01EE ADD R12 K13 R8 - 0x7C280400, // 01EF CALL R10 2 - 0x8C2C030D, // 01F0 GETMET R11 R1 K13 - 0x00368808, // 01F1 ADD R13 K68 R8 - 0x7C2C0400, // 01F2 CALL R11 2 - 0x2030133A, // 01F3 NE R12 R9 K58 - 0x78320037, // 01F4 JMPF R12 #022D - 0x8830010B, // 01F5 GETMBR R12 R0 K11 - 0x88301938, // 01F6 GETMBR R12 R12 K56 - 0x8C301935, // 01F7 GETMET R12 R12 K53 - 0x5C381200, // 01F8 MOVE R14 R9 - 0x7C300400, // 01F9 CALL R12 2 - 0x4C340000, // 01FA LDNIL R13 - 0x2034180D, // 01FB NE R13 R12 R13 - 0x7836002F, // 01FC JMPF R13 #022D - 0x60340013, // 01FD GETGBL R13 G19 - 0x7C340000, // 01FE CALL R13 0 - 0x9836A406, // 01FF SETIDX R13 K82 R6 - 0x98367209, // 0200 SETIDX R13 K57 R9 - 0x782E0000, // 0201 JMPF R11 #0203 - 0x98368A0B, // 0202 SETIDX R13 K69 R11 - 0x8C38193F, // 0203 GETMET R14 R12 K63 - 0x5C401800, // 0204 MOVE R16 R12 - 0x5C441A00, // 0205 MOVE R17 R13 - 0x5C481400, // 0206 MOVE R18 R10 - 0x7C380800, // 0207 CALL R14 4 - 0x50380000, // 0208 LDBOOL R14 0 0 - 0x603C0010, // 0209 GETGBL R15 G16 - 0x8840010B, // 020A GETMBR R16 R0 K11 - 0x88402137, // 020B GETMBR R16 R16 K55 - 0x7C3C0200, // 020C CALL R15 1 - 0xA802000B, // 020D EXBLK 0 #021A - 0x5C401E00, // 020E MOVE R16 R15 - 0x7C400000, // 020F CALL R16 0 - 0x8C440155, // 0210 GETMET R17 R0 K85 - 0x5C4C2000, // 0211 MOVE R19 R16 - 0x5C501A00, // 0212 MOVE R20 R13 - 0x7C440600, // 0213 CALL R17 3 - 0x78460001, // 0214 JMPF R17 #0217 - 0x50380200, // 0215 LDBOOL R14 1 0 - 0x70020000, // 0216 JMP #0218 - 0x7001FFF5, // 0217 JMP #020E - 0xA8040001, // 0218 EXBLK 1 1 - 0x70020002, // 0219 JMP #021D - 0x583C0049, // 021A LDCONST R15 K73 - 0xAC3C0200, // 021B CATCH R15 1 0 - 0xB0080000, // 021C RAISE 2 R0 R0 - 0x5C3C1C00, // 021D MOVE R15 R14 - 0x743E000D, // 021E JMPT R15 #022D - 0xB83E1000, // 021F GETNGBL R15 K8 - 0x60400018, // 0220 GETGBL R16 G24 - 0x58440056, // 0221 LDCONST R17 K86 - 0x5C480C00, // 0222 MOVE R18 R6 - 0x5C4C1200, // 0223 MOVE R19 R9 - 0x5C501400, // 0224 MOVE R20 R10 - 0x7C400800, // 0225 CALL R16 4 - 0x5844000A, // 0226 LDCONST R17 K10 - 0x7C3C0400, // 0227 CALL R15 2 - 0x883C010B, // 0228 GETMBR R15 R0 K11 - 0x8C3C1F50, // 0229 GETMET R15 R15 K80 - 0x5C441200, // 022A MOVE R17 R9 - 0x5C481A00, // 022B MOVE R18 R13 - 0x7C3C0600, // 022C CALL R15 3 - 0x001C0F2E, // 022D ADD R7 R7 K46 - 0x60300008, // 022E GETGBL R12 G8 - 0x5C340E00, // 022F MOVE R13 R7 - 0x7C300200, // 0230 CALL R12 1 - 0x5C201800, // 0231 MOVE R8 R12 - 0x7001FFB2, // 0232 JMP #01E6 - 0x8C240313, // 0233 GETMET R9 R1 K19 - 0x582C004C, // 0234 LDCONST R11 K76 - 0x7C240400, // 0235 CALL R9 2 - 0x70020028, // 0236 JMP #0260 - 0x4C180000, // 0237 LDNIL R6 - 0x601C0010, // 0238 GETGBL R7 G16 - 0x8C200333, // 0239 GETMET R8 R1 K51 - 0x7C200200, // 023A CALL R8 1 - 0x0420112E, // 023B SUB R8 R8 K46 - 0x40225208, // 023C CONNECT R8 K41 R8 - 0x7C1C0200, // 023D CALL R7 1 - 0xA8020013, // 023E EXBLK 0 #0253 - 0x5C200E00, // 023F MOVE R8 R7 - 0x7C200000, // 0240 CALL R8 0 - 0x8C240334, // 0241 GETMET R9 R1 K52 - 0x5C2C1000, // 0242 MOVE R11 R8 - 0x7C240400, // 0243 CALL R9 2 - 0x8C280535, // 0244 GETMET R10 R2 K53 - 0x5C301200, // 0245 MOVE R12 R9 - 0x58340057, // 0246 LDCONST R13 K87 - 0x7C280600, // 0247 CALL R10 3 - 0x1C281529, // 0248 EQ R10 R10 K41 - 0x782A0005, // 0249 JMPF R10 #0250 - 0x60280009, // 024A GETGBL R10 G9 - 0x402E1536, // 024B CONNECT R11 K10 K54 - 0x942C120B, // 024C GETIDX R11 R9 R11 - 0x7C280200, // 024D CALL R10 1 - 0x5C181400, // 024E MOVE R6 R10 - 0x70020000, // 024F JMP #0251 - 0x7001FFED, // 0250 JMP #023F - 0xA8040001, // 0251 EXBLK 1 1 - 0x70020002, // 0252 JMP #0256 - 0x581C0049, // 0253 LDCONST R7 K73 - 0xAC1C0200, // 0254 CATCH R7 1 0 - 0xB0080000, // 0255 RAISE 2 R0 R0 - 0x4C1C0000, // 0256 LDNIL R7 - 0x201C0C07, // 0257 NE R7 R6 R7 - 0x781E0006, // 0258 JMPF R7 #0260 - 0x881C010B, // 0259 GETMBR R7 R0 K11 - 0x8C1C0F58, // 025A GETMET R7 R7 K88 - 0x5C240C00, // 025B MOVE R9 R6 - 0x7C1C0400, // 025C CALL R7 2 - 0x8C1C0313, // 025D GETMET R7 R1 K19 - 0x5824004C, // 025E LDCONST R9 K76 - 0x7C1C0400, // 025F CALL R7 2 - 0x78160011, // 0260 JMPF R5 #0273 - 0x8C180359, // 0261 GETMET R6 R1 K89 - 0x5820005A, // 0262 LDCONST R8 K90 - 0x7C180400, // 0263 CALL R6 2 - 0x8C18035B, // 0264 GETMET R6 R1 K91 - 0x7C180200, // 0265 CALL R6 1 + 0x88241325, // 0080 GETMBR R9 R9 K37 + 0x4C280000, // 0081 LDNIL R10 + 0x2024120A, // 0082 NE R9 R9 R10 + 0x20240E09, // 0083 NE R9 R7 R9 + 0x7826000C, // 0084 JMPF R9 #0092 + 0x781E0003, // 0085 JMPF R7 #008A + 0x8824010B, // 0086 GETMBR R9 R0 K11 + 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 + 0x700201CB, // 0095 JMP #0262 + 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 + 0x700201A1, // 00BF JMP #0262 + 0x8C180305, // 00C0 GETMET R6 R1 K5 + 0x58200031, // 00C1 LDCONST R8 K49 + 0x7C180400, // 00C2 CALL R6 2 + 0x781A0010, // 00C3 JMPF R6 #00D5 + 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 + 0x501C0000, // 00CC LDBOOL R7 0 0 + 0x901A6407, // 00CD SETMBR R6 K50 R7 + 0x8818010B, // 00CE GETMBR R6 R0 K11 + 0x8C180D12, // 00CF GETMET R6 R6 K18 + 0x7C180200, // 00D0 CALL R6 1 + 0x8C180313, // 00D1 GETMET R6 R1 K19 + 0x58200014, // 00D2 LDCONST R8 K20 + 0x7C180400, // 00D3 CALL R6 2 + 0x7002018C, // 00D4 JMP #0262 + 0x8C180305, // 00D5 GETMET R6 R1 K5 + 0x58200033, // 00D6 LDCONST R8 K51 + 0x7C180400, // 00D7 CALL R6 2 + 0x781A00CE, // 00D8 JMPF R6 #01A8 + 0xB81A1000, // 00D9 GETNGBL R6 K8 + 0x601C0018, // 00DA GETGBL R7 G24 + 0x58200009, // 00DB LDCONST R8 K9 + 0x58240033, // 00DC LDCONST R9 K51 + 0x7C1C0400, // 00DD CALL R7 2 + 0x5820000A, // 00DE LDCONST R8 K10 + 0x7C180400, // 00DF CALL R6 2 + 0x50180000, // 00E0 LDBOOL R6 0 0 + 0x601C0010, // 00E1 GETGBL R7 G16 + 0x8C200334, // 00E2 GETMET R8 R1 K52 + 0x7C200200, // 00E3 CALL R8 1 + 0x0420112F, // 00E4 SUB R8 R8 K47 + 0x40225408, // 00E5 CONNECT R8 K42 R8 + 0x7C1C0200, // 00E6 CALL R7 1 + 0xA802009B, // 00E7 EXBLK 0 #0184 + 0x5C200E00, // 00E8 MOVE R8 R7 + 0x7C200000, // 00E9 CALL R8 0 + 0x8C240335, // 00EA GETMET R9 R1 K53 + 0x5C2C1000, // 00EB MOVE R11 R8 + 0x7C240400, // 00EC CALL R9 2 + 0x8C280536, // 00ED GETMET R10 R2 K54 + 0x5C301200, // 00EE MOVE R12 R9 + 0x5834000D, // 00EF LDCONST R13 K13 + 0x7C280600, // 00F0 CALL R10 3 + 0x1C28152A, // 00F1 EQ R10 R10 K42 + 0x782A0057, // 00F2 JMPF R10 #014B + 0x60280009, // 00F3 GETGBL R10 G9 + 0x402E1537, // 00F4 CONNECT R11 K10 K55 + 0x942C120B, // 00F5 GETIDX R11 R9 R11 + 0x7C280200, // 00F6 CALL R10 1 + 0x8C2C030D, // 00F7 GETMET R11 R1 K13 + 0x5C341000, // 00F8 MOVE R13 R8 + 0x7C2C0400, // 00F9 CALL R11 2 + 0x8830010B, // 00FA GETMBR R12 R0 K11 + 0x88301938, // 00FB GETMBR R12 R12 K56 + 0x8C301936, // 00FC GETMET R12 R12 K54 + 0x60380008, // 00FD GETGBL R14 G8 + 0x5C3C1400, // 00FE MOVE R15 R10 + 0x7C380200, // 00FF CALL R14 1 + 0x7C300400, // 0100 CALL R12 2 + 0x4C340000, // 0101 LDNIL R13 + 0x2034180D, // 0102 NE R13 R12 R13 + 0x7836003E, // 0103 JMPF R13 #0143 + 0x8834010B, // 0104 GETMBR R13 R0 K11 + 0x88341B39, // 0105 GETMBR R13 R13 K57 + 0x8C341B36, // 0106 GETMET R13 R13 K54 + 0x8C3C1936, // 0107 GETMET R15 R12 K54 + 0x5844003A, // 0108 LDCONST R17 K58 + 0x5848003B, // 0109 LDCONST R18 K59 + 0x7C3C0600, // 010A CALL R15 3 + 0x7C340400, // 010B CALL R13 2 + 0x4C380000, // 010C LDNIL R14 + 0x20381A0E, // 010D NE R14 R13 R14 + 0x783A0032, // 010E JMPF R14 #0142 + 0xB83A1000, // 010F GETNGBL R14 K8 + 0x603C0018, // 0110 GETGBL R15 G24 + 0x5840003C, // 0111 LDCONST R16 K60 + 0x5C441400, // 0112 MOVE R17 R10 + 0x5C481600, // 0113 MOVE R18 R11 + 0x7C3C0600, // 0114 CALL R15 3 + 0x5840000A, // 0115 LDCONST R16 K10 + 0x7C380400, // 0116 CALL R14 2 + 0x8C381B3D, // 0117 GETMET R14 R13 K61 + 0x5C401A00, // 0118 MOVE R16 R13 + 0x5C441800, // 0119 MOVE R17 R12 + 0x7C380600, // 011A CALL R14 3 + 0x203C1C0B, // 011B NE R15 R14 R11 + 0xB8421000, // 011C GETNGBL R16 K8 + 0x60440018, // 011D GETGBL R17 G24 + 0x5848003E, // 011E LDCONST R18 K62 + 0x5C4C1400, // 011F MOVE R19 R10 + 0x5C501C00, // 0120 MOVE R20 R14 + 0x5C541600, // 0121 MOVE R21 R11 + 0x20581C0B, // 0122 NE R22 R14 R11 + 0x785A0001, // 0123 JMPF R22 #0126 + 0x5858003F, // 0124 LDCONST R22 K63 + 0x70020000, // 0125 JMP #0127 + 0x5858003B, // 0126 LDCONST R22 K59 + 0x7C440A00, // 0127 CALL R17 5 + 0x5848000A, // 0128 LDCONST R18 K10 + 0x7C400400, // 0129 CALL R16 2 + 0x783E0016, // 012A JMPF R15 #0142 + 0x50180200, // 012B LDBOOL R6 1 0 + 0x8C401B40, // 012C GETMET R16 R13 K64 + 0x5C481A00, // 012D MOVE R18 R13 + 0x5C4C1800, // 012E MOVE R19 R12 + 0x5C501600, // 012F MOVE R20 R11 + 0x7C400800, // 0130 CALL R16 4 + 0x8840010B, // 0131 GETMBR R16 R0 K11 + 0x8C402141, // 0132 GETMET R16 R16 K65 + 0x5C481400, // 0133 MOVE R18 R10 + 0x7C400400, // 0134 CALL R16 2 + 0x7842000B, // 0135 JMPF R16 #0142 + 0xB8461000, // 0136 GETNGBL R17 K8 + 0x60480018, // 0137 GETGBL R18 G24 + 0x584C0042, // 0138 LDCONST R19 K66 + 0x5C501800, // 0139 MOVE R20 R12 + 0x5C541400, // 013A MOVE R21 R10 + 0x5C582000, // 013B MOVE R22 R16 + 0x7C480800, // 013C CALL R18 4 + 0x584C000A, // 013D LDCONST R19 K10 + 0x7C440400, // 013E CALL R17 2 + 0x8C442143, // 013F GETMET R17 R16 K67 + 0x5C4C1800, // 0140 MOVE R19 R12 + 0x7C440400, // 0141 CALL R17 2 + 0x70020006, // 0142 JMP #014A + 0xB8361000, // 0143 GETNGBL R13 K8 + 0x60380018, // 0144 GETGBL R14 G24 + 0x583C0044, // 0145 LDCONST R15 K68 + 0x5C401400, // 0146 MOVE R16 R10 + 0x7C380400, // 0147 CALL R14 2 + 0x583C000A, // 0148 LDCONST R15 K10 + 0x7C340400, // 0149 CALL R13 2 + 0x70020037, // 014A JMP #0183 + 0x8C280536, // 014B GETMET R10 R2 K54 + 0x5C301200, // 014C MOVE R12 R9 + 0x58340045, // 014D LDCONST R13 K69 + 0x7C280600, // 014E CALL R10 3 + 0x1C28152A, // 014F EQ R10 R10 K42 + 0x782A0031, // 0150 JMPF R10 #0183 + 0x60280009, // 0151 GETGBL R10 G9 + 0x402E1537, // 0152 CONNECT R11 K10 K55 + 0x942C120B, // 0153 GETIDX R11 R9 R11 + 0x7C280200, // 0154 CALL R10 1 + 0x8C2C030D, // 0155 GETMET R11 R1 K13 + 0x5C341000, // 0156 MOVE R13 R8 + 0x7C2C0400, // 0157 CALL R11 2 + 0x8830010B, // 0158 GETMBR R12 R0 K11 + 0x88301938, // 0159 GETMBR R12 R12 K56 + 0x8C301936, // 015A GETMET R12 R12 K54 + 0x60380008, // 015B GETGBL R14 G8 + 0x5C3C1400, // 015C MOVE R15 R10 + 0x7C380200, // 015D CALL R14 1 + 0x7C300400, // 015E CALL R12 2 + 0x4C340000, // 015F LDNIL R13 + 0x2034180D, // 0160 NE R13 R12 R13 + 0x78360020, // 0161 JMPF R13 #0183 + 0x8C341936, // 0162 GETMET R13 R12 K54 + 0x583C0046, // 0163 LDCONST R15 K70 + 0x5840003B, // 0164 LDCONST R16 K59 + 0x7C340600, // 0165 CALL R13 3 + 0x20381A0B, // 0166 NE R14 R13 R11 + 0x783A001A, // 0167 JMPF R14 #0183 + 0x50180200, // 0168 LDBOOL R6 1 0 + 0x883C010B, // 0169 GETMBR R15 R0 K11 + 0x8C3C1F41, // 016A GETMET R15 R15 K65 + 0x5C441400, // 016B MOVE R17 R10 + 0x7C3C0400, // 016C CALL R15 2 + 0x783E0014, // 016D JMPF R15 #0183 + 0x8C401F47, // 016E GETMET R16 R15 K71 + 0x5C481600, // 016F MOVE R18 R11 + 0x7C400400, // 0170 CALL R16 2 + 0x782E0001, // 0171 JMPF R11 #0174 + 0x98328C0B, // 0172 SETIDX R12 K70 R11 + 0x70020002, // 0173 JMP #0177 + 0x8C401948, // 0174 GETMET R16 R12 K72 + 0x58480046, // 0175 LDCONST R18 K70 + 0x7C400400, // 0176 CALL R16 2 + 0xB8421000, // 0177 GETNGBL R16 K8 + 0x60440018, // 0178 GETGBL R17 G24 + 0x58480049, // 0179 LDCONST R18 K73 + 0x5C4C1800, // 017A MOVE R19 R12 + 0x5C501400, // 017B MOVE R20 R10 + 0x5C541E00, // 017C MOVE R21 R15 + 0x7C440800, // 017D CALL R17 4 + 0x5848000A, // 017E LDCONST R18 K10 + 0x7C400400, // 017F CALL R16 2 + 0x8C401F43, // 0180 GETMET R16 R15 K67 + 0x5C481800, // 0181 MOVE R18 R12 + 0x7C400400, // 0182 CALL R16 2 + 0x7001FF63, // 0183 JMP #00E8 + 0x581C004A, // 0184 LDCONST R7 K74 + 0xAC1C0200, // 0185 CATCH R7 1 0 + 0xB0080000, // 0186 RAISE 2 R0 R0 + 0xB81E1000, // 0187 GETNGBL R7 K8 + 0x60200018, // 0188 GETGBL R8 G24 + 0x5824004B, // 0189 LDCONST R9 K75 + 0x60280008, // 018A GETGBL R10 G8 + 0x882C010B, // 018B GETMBR R11 R0 K11 + 0x882C1738, // 018C GETMBR R11 R11 K56 + 0x7C280200, // 018D CALL R10 1 + 0x7C200400, // 018E CALL R8 2 + 0x5824000A, // 018F LDCONST R9 K10 + 0x7C1C0400, // 0190 CALL R7 2 + 0x78160007, // 0191 JMPF R5 #019A + 0xB81E1000, // 0192 GETNGBL R7 K8 + 0x60200018, // 0193 GETGBL R8 G24 + 0x5824004C, // 0194 LDCONST R9 K76 + 0x5C280A00, // 0195 MOVE R10 R5 + 0x7C200400, // 0196 CALL R8 2 + 0x5824000A, // 0197 LDCONST R9 K10 + 0x7C1C0400, // 0198 CALL R7 2 + 0x7002000C, // 0199 JMP #01A7 + 0x741A0002, // 019A JMPT R6 #019E + 0x881C010B, // 019B GETMBR R7 R0 K11 + 0x881C0F32, // 019C GETMBR R7 R7 K50 + 0x741E0005, // 019D JMPT R7 #01A4 + 0x881C010B, // 019E GETMBR R7 R0 K11 + 0x50200200, // 019F LDBOOL R8 1 0 + 0x901E6408, // 01A0 SETMBR R7 K50 R8 + 0x881C010B, // 01A1 GETMBR R7 R0 K11 + 0x8C1C0F12, // 01A2 GETMET R7 R7 K18 + 0x7C1C0200, // 01A3 CALL R7 1 + 0x8C1C0313, // 01A4 GETMET R7 R1 K19 + 0x5824004D, // 01A5 LDCONST R9 K77 + 0x7C1C0400, // 01A6 CALL R7 2 + 0x700200B9, // 01A7 JMP #0262 + 0x8C180305, // 01A8 GETMET R6 R1 K5 + 0x5820004E, // 01A9 LDCONST R8 K78 + 0x7C180400, // 01AA CALL R6 2 + 0x781A002A, // 01AB JMPF R6 #01D7 + 0x8C18030D, // 01AC GETMET R6 R1 K13 + 0x5820004F, // 01AD LDCONST R8 K79 + 0x7C180400, // 01AE CALL R6 2 + 0x8C1C030D, // 01AF GETMET R7 R1 K13 + 0x5824000D, // 01B0 LDCONST R9 K13 + 0x7C1C0400, // 01B1 CALL R7 2 + 0x8C20030D, // 01B2 GETMET R8 R1 K13 + 0x58280045, // 01B3 LDCONST R10 K69 + 0x7C200400, // 01B4 CALL R8 2 + 0xB8261000, // 01B5 GETNGBL R9 K8 + 0x60280018, // 01B6 GETGBL R10 G24 + 0x582C0050, // 01B7 LDCONST R11 K80 + 0x5C300C00, // 01B8 MOVE R12 R6 + 0x5C340E00, // 01B9 MOVE R13 R7 + 0x7C280600, // 01BA CALL R10 3 + 0x582C000A, // 01BB LDCONST R11 K10 + 0x7C240400, // 01BC CALL R9 2 + 0x8824010B, // 01BD GETMBR R9 R0 K11 + 0x88241339, // 01BE GETMBR R9 R9 K57 + 0x8C241336, // 01BF GETMET R9 R9 K54 + 0x5C2C0C00, // 01C0 MOVE R11 R6 + 0x7C240400, // 01C1 CALL R9 2 + 0x4C280000, // 01C2 LDNIL R10 + 0x2028120A, // 01C3 NE R10 R9 R10 + 0x782A000D, // 01C4 JMPF R10 #01D3 + 0x60280013, // 01C5 GETGBL R10 G19 + 0x7C280000, // 01C6 CALL R10 0 + 0x78220000, // 01C7 JMPF R8 #01C9 + 0x982A8C08, // 01C8 SETIDX R10 K70 R8 + 0x8C2C1340, // 01C9 GETMET R11 R9 K64 + 0x5C341200, // 01CA MOVE R13 R9 + 0x5C381400, // 01CB MOVE R14 R10 + 0x5C3C0E00, // 01CC MOVE R15 R7 + 0x7C2C0800, // 01CD CALL R11 4 + 0x882C010B, // 01CE GETMBR R11 R0 K11 + 0x8C2C1751, // 01CF GETMET R11 R11 K81 + 0x5C340C00, // 01D0 MOVE R13 R6 + 0x5C381400, // 01D1 MOVE R14 R10 + 0x7C2C0600, // 01D2 CALL R11 3 + 0x8C280313, // 01D3 GETMET R10 R1 K19 + 0x5830004D, // 01D4 LDCONST R12 K77 + 0x7C280400, // 01D5 CALL R10 2 + 0x7002008A, // 01D6 JMP #0262 + 0x8C180305, // 01D7 GETMET R6 R1 K5 + 0x58200052, // 01D8 LDCONST R8 K82 + 0x7C180400, // 01D9 CALL R6 2 + 0x781A005D, // 01DA JMPF R6 #0239 + 0x8C18030D, // 01DB GETMET R6 R1 K13 + 0x58200053, // 01DC LDCONST R8 K83 + 0x7C180400, // 01DD CALL R6 2 + 0x4C1C0000, // 01DE LDNIL R7 + 0x1C1C0C07, // 01DF EQ R7 R6 R7 + 0x741E0001, // 01E0 JMPT R7 #01E3 + 0x1C1C0D3B, // 01E1 EQ R7 R6 K59 + 0x781E0000, // 01E2 JMPF R7 #01E4 + 0xB006A955, // 01E3 RAISE 1 K84 K85 + 0x581C002A, // 01E4 LDCONST R7 K42 + 0x60200008, // 01E5 GETGBL R8 G8 + 0x5C240E00, // 01E6 MOVE R9 R7 + 0x7C200200, // 01E7 CALL R8 1 + 0x8C240305, // 01E8 GETMET R9 R1 K5 + 0x002E9E08, // 01E9 ADD R11 K79 R8 + 0x7C240400, // 01EA CALL R9 2 + 0x78260048, // 01EB JMPF R9 #0235 + 0x8C24030D, // 01EC GETMET R9 R1 K13 + 0x002E9E08, // 01ED ADD R11 K79 R8 + 0x7C240400, // 01EE CALL R9 2 + 0x8C28030D, // 01EF GETMET R10 R1 K13 + 0x00321A08, // 01F0 ADD R12 K13 R8 + 0x7C280400, // 01F1 CALL R10 2 + 0x8C2C030D, // 01F2 GETMET R11 R1 K13 + 0x00368A08, // 01F3 ADD R13 K69 R8 + 0x7C2C0400, // 01F4 CALL R11 2 + 0x2030133B, // 01F5 NE R12 R9 K59 + 0x78320037, // 01F6 JMPF R12 #022F + 0x8830010B, // 01F7 GETMBR R12 R0 K11 + 0x88301939, // 01F8 GETMBR R12 R12 K57 + 0x8C301936, // 01F9 GETMET R12 R12 K54 + 0x5C381200, // 01FA MOVE R14 R9 + 0x7C300400, // 01FB CALL R12 2 + 0x4C340000, // 01FC LDNIL R13 + 0x2034180D, // 01FD NE R13 R12 R13 + 0x7836002F, // 01FE JMPF R13 #022F + 0x60340013, // 01FF GETGBL R13 G19 + 0x7C340000, // 0200 CALL R13 0 + 0x9836A606, // 0201 SETIDX R13 K83 R6 + 0x98367409, // 0202 SETIDX R13 K58 R9 + 0x782E0000, // 0203 JMPF R11 #0205 + 0x98368C0B, // 0204 SETIDX R13 K70 R11 + 0x8C381940, // 0205 GETMET R14 R12 K64 + 0x5C401800, // 0206 MOVE R16 R12 + 0x5C441A00, // 0207 MOVE R17 R13 + 0x5C481400, // 0208 MOVE R18 R10 + 0x7C380800, // 0209 CALL R14 4 + 0x50380000, // 020A LDBOOL R14 0 0 + 0x603C0010, // 020B GETGBL R15 G16 + 0x8840010B, // 020C GETMBR R16 R0 K11 + 0x88402138, // 020D GETMBR R16 R16 K56 + 0x7C3C0200, // 020E CALL R15 1 + 0xA802000B, // 020F EXBLK 0 #021C + 0x5C401E00, // 0210 MOVE R16 R15 + 0x7C400000, // 0211 CALL R16 0 + 0x8C440156, // 0212 GETMET R17 R0 K86 + 0x5C4C2000, // 0213 MOVE R19 R16 + 0x5C501A00, // 0214 MOVE R20 R13 + 0x7C440600, // 0215 CALL R17 3 + 0x78460001, // 0216 JMPF R17 #0219 + 0x50380200, // 0217 LDBOOL R14 1 0 + 0x70020000, // 0218 JMP #021A + 0x7001FFF5, // 0219 JMP #0210 + 0xA8040001, // 021A EXBLK 1 1 + 0x70020002, // 021B JMP #021F + 0x583C004A, // 021C LDCONST R15 K74 + 0xAC3C0200, // 021D CATCH R15 1 0 + 0xB0080000, // 021E RAISE 2 R0 R0 + 0x5C3C1C00, // 021F MOVE R15 R14 + 0x743E000D, // 0220 JMPT R15 #022F + 0xB83E1000, // 0221 GETNGBL R15 K8 + 0x60400018, // 0222 GETGBL R16 G24 + 0x58440057, // 0223 LDCONST R17 K87 + 0x5C480C00, // 0224 MOVE R18 R6 + 0x5C4C1200, // 0225 MOVE R19 R9 + 0x5C501400, // 0226 MOVE R20 R10 + 0x7C400800, // 0227 CALL R16 4 + 0x5844000A, // 0228 LDCONST R17 K10 + 0x7C3C0400, // 0229 CALL R15 2 + 0x883C010B, // 022A GETMBR R15 R0 K11 + 0x8C3C1F51, // 022B GETMET R15 R15 K81 + 0x5C441200, // 022C MOVE R17 R9 + 0x5C481A00, // 022D MOVE R18 R13 + 0x7C3C0600, // 022E CALL R15 3 + 0x001C0F2F, // 022F ADD R7 R7 K47 + 0x60300008, // 0230 GETGBL R12 G8 + 0x5C340E00, // 0231 MOVE R13 R7 + 0x7C300200, // 0232 CALL R12 1 + 0x5C201800, // 0233 MOVE R8 R12 + 0x7001FFB2, // 0234 JMP #01E8 + 0x8C240313, // 0235 GETMET R9 R1 K19 + 0x582C004D, // 0236 LDCONST R11 K77 + 0x7C240400, // 0237 CALL R9 2 + 0x70020028, // 0238 JMP #0262 + 0x4C180000, // 0239 LDNIL R6 + 0x601C0010, // 023A GETGBL R7 G16 + 0x8C200334, // 023B GETMET R8 R1 K52 + 0x7C200200, // 023C CALL R8 1 + 0x0420112F, // 023D SUB R8 R8 K47 + 0x40225408, // 023E CONNECT R8 K42 R8 + 0x7C1C0200, // 023F CALL R7 1 + 0xA8020013, // 0240 EXBLK 0 #0255 + 0x5C200E00, // 0241 MOVE R8 R7 + 0x7C200000, // 0242 CALL R8 0 + 0x8C240335, // 0243 GETMET R9 R1 K53 + 0x5C2C1000, // 0244 MOVE R11 R8 + 0x7C240400, // 0245 CALL R9 2 + 0x8C280536, // 0246 GETMET R10 R2 K54 + 0x5C301200, // 0247 MOVE R12 R9 + 0x58340058, // 0248 LDCONST R13 K88 + 0x7C280600, // 0249 CALL R10 3 + 0x1C28152A, // 024A EQ R10 R10 K42 + 0x782A0005, // 024B JMPF R10 #0252 + 0x60280009, // 024C GETGBL R10 G9 + 0x402E1537, // 024D CONNECT R11 K10 K55 + 0x942C120B, // 024E GETIDX R11 R9 R11 + 0x7C280200, // 024F CALL R10 1 + 0x5C181400, // 0250 MOVE R6 R10 + 0x70020000, // 0251 JMP #0253 + 0x7001FFED, // 0252 JMP #0241 + 0xA8040001, // 0253 EXBLK 1 1 + 0x70020002, // 0254 JMP #0258 + 0x581C004A, // 0255 LDCONST R7 K74 + 0xAC1C0200, // 0256 CATCH R7 1 0 + 0xB0080000, // 0257 RAISE 2 R0 R0 + 0x4C1C0000, // 0258 LDNIL R7 + 0x201C0C07, // 0259 NE R7 R6 R7 + 0x781E0006, // 025A JMPF R7 #0262 + 0x881C010B, // 025B GETMBR R7 R0 K11 + 0x8C1C0F59, // 025C GETMET R7 R7 K89 + 0x5C240C00, // 025D MOVE R9 R6 + 0x7C1C0400, // 025E CALL R7 2 + 0x8C1C0313, // 025F GETMET R7 R1 K19 + 0x5824004D, // 0260 LDCONST R9 K77 + 0x7C1C0400, // 0261 CALL R7 2 + 0x78160011, // 0262 JMPF R5 #0275 + 0x8C18035A, // 0263 GETMET R6 R1 K90 + 0x5820005B, // 0264 LDCONST R8 K91 + 0x7C180400, // 0265 CALL R6 2 0x8C18035C, // 0266 GETMET R6 R1 K92 - 0x60200018, // 0267 GETGBL R8 G24 - 0x5824005D, // 0268 LDCONST R9 K93 - 0x8C28035E, // 0269 GETMET R10 R1 K94 - 0x5C300A00, // 026A MOVE R12 R5 - 0x7C280400, // 026B CALL R10 2 - 0x7C200400, // 026C CALL R8 2 - 0x7C180400, // 026D CALL R6 2 - 0x8C18035F, // 026E GETMET R6 R1 K95 - 0x88200360, // 026F GETMBR R8 R1 K96 - 0x7C180400, // 0270 CALL R6 2 - 0x8C180361, // 0271 GETMET R6 R1 K97 - 0x7C180200, // 0272 CALL R6 1 - 0xA8040001, // 0273 EXBLK 1 1 - 0x7002001C, // 0274 JMP #0292 - 0xAC180002, // 0275 CATCH R6 0 2 - 0x70020019, // 0276 JMP #0291 - 0xB8221000, // 0277 GETNGBL R8 K8 - 0x60240018, // 0278 GETGBL R9 G24 - 0x58280062, // 0279 LDCONST R10 K98 - 0x5C2C0C00, // 027A MOVE R11 R6 - 0x5C300E00, // 027B MOVE R12 R7 - 0x7C240600, // 027C CALL R9 3 - 0x58280063, // 027D LDCONST R10 K99 - 0x7C200400, // 027E CALL R8 2 - 0x8C200359, // 027F GETMET R8 R1 K89 - 0x5828005A, // 0280 LDCONST R10 K90 - 0x7C200400, // 0281 CALL R8 2 - 0x8C20035B, // 0282 GETMET R8 R1 K91 - 0x7C200200, // 0283 CALL R8 1 + 0x7C180200, // 0267 CALL R6 1 + 0x8C18035D, // 0268 GETMET R6 R1 K93 + 0x60200018, // 0269 GETGBL R8 G24 + 0x5824005E, // 026A LDCONST R9 K94 + 0x8C28035F, // 026B GETMET R10 R1 K95 + 0x5C300A00, // 026C MOVE R12 R5 + 0x7C280400, // 026D CALL R10 2 + 0x7C200400, // 026E CALL R8 2 + 0x7C180400, // 026F CALL R6 2 + 0x8C180360, // 0270 GETMET R6 R1 K96 + 0x88200361, // 0271 GETMBR R8 R1 K97 + 0x7C180400, // 0272 CALL R6 2 + 0x8C180362, // 0273 GETMET R6 R1 K98 + 0x7C180200, // 0274 CALL R6 1 + 0xA8040001, // 0275 EXBLK 1 1 + 0x7002001C, // 0276 JMP #0294 + 0xAC180002, // 0277 CATCH R6 0 2 + 0x70020019, // 0278 JMP #0293 + 0xB8221000, // 0279 GETNGBL R8 K8 + 0x60240018, // 027A GETGBL R9 G24 + 0x58280063, // 027B LDCONST R10 K99 + 0x5C2C0C00, // 027C MOVE R11 R6 + 0x5C300E00, // 027D MOVE R12 R7 + 0x7C240600, // 027E CALL R9 3 + 0x58280064, // 027F LDCONST R10 K100 + 0x7C200400, // 0280 CALL R8 2 + 0x8C20035A, // 0281 GETMET R8 R1 K90 + 0x5828005B, // 0282 LDCONST R10 K91 + 0x7C200400, // 0283 CALL R8 2 0x8C20035C, // 0284 GETMET R8 R1 K92 - 0x60280018, // 0285 GETGBL R10 G24 - 0x582C0064, // 0286 LDCONST R11 K100 - 0x5C300C00, // 0287 MOVE R12 R6 - 0x5C340E00, // 0288 MOVE R13 R7 - 0x7C280600, // 0289 CALL R10 3 - 0x7C200400, // 028A CALL R8 2 - 0x8C20035F, // 028B GETMET R8 R1 K95 - 0x88280360, // 028C GETMBR R10 R1 K96 - 0x7C200400, // 028D CALL R8 2 - 0x8C200361, // 028E GETMET R8 R1 K97 - 0x7C200200, // 028F CALL R8 1 - 0x70020000, // 0290 JMP #0292 - 0xB0080000, // 0291 RAISE 2 R0 R0 - 0x80000000, // 0292 RET 0 + 0x7C200200, // 0285 CALL R8 1 + 0x8C20035D, // 0286 GETMET R8 R1 K93 + 0x60280018, // 0287 GETGBL R10 G24 + 0x582C0065, // 0288 LDCONST R11 K101 + 0x5C300C00, // 0289 MOVE R12 R6 + 0x5C340E00, // 028A MOVE R13 R7 + 0x7C280600, // 028B CALL R10 3 + 0x7C200400, // 028C CALL R8 2 + 0x8C200360, // 028D GETMET R8 R1 K96 + 0x88280361, // 028E GETMBR R10 R1 K97 + 0x7C200400, // 028F CALL R8 2 + 0x8C200362, // 0290 GETMET R8 R1 K98 + 0x7C200200, // 0291 CALL R8 1 + 0x70020000, // 0292 JMP #0294 + 0xB0080000, // 0293 RAISE 2 R0 R0 + 0x80000000, // 0294 RET 0 }) ) ); @@ -3149,7 +3160,7 @@ be_local_closure(class_Matter_UI_show_enable, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[16]) { /* constants */ + ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(matter_enabled), /* K2 */ be_nested_str_weak(content_send), @@ -3159,17 +3170,18 @@ be_local_closure(class_Matter_UI_show_enable, /* name */ /* K6 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27menable_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27menable_X27_X20_X25s_X3E), /* K7 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27menable_X27_X3E_X3Cb_X3EMatter_X20enable_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), /* K8 */ be_nested_str_weak(device), - /* K9 */ be_nested_str_weak(commissioning_open), - /* K10 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E), - /* K11 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), - /* K12 */ be_nested_str_weak(disable_bridge_mode), - /* K13 */ be_nested_str_weak(_X20checked), - /* K14 */ 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), - /* K15 */ 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), + /* K9 */ be_nested_str_weak(commissioning), + /* K10 */ be_nested_str_weak(commissioning_open), + /* K11 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E), + /* K12 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), + /* K13 */ be_nested_str_weak(disable_bridge_mode), + /* K14 */ be_nested_str_weak(_X20checked), + /* K15 */ 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), + /* K16 */ 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), }), be_str_weak(show_enable), &be_const_str_solidified, - ( &(const binstruction[56]) { /* code */ + ( &(const binstruction[57]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x88080101, // 0001 GETMBR R2 R0 K1 0x8C0C0302, // 0002 GETMET R3 R1 K2 @@ -3192,40 +3204,41 @@ be_local_closure(class_Matter_UI_show_enable, /* name */ 0x7C100400, // 0013 CALL R4 2 0x8C100101, // 0014 GETMET R4 R0 K1 0x7C100200, // 0015 CALL R4 1 - 0x7812001C, // 0016 JMPF R4 #0034 + 0x7812001D, // 0016 JMPF R4 #0035 0x88100108, // 0017 GETMBR R4 R0 K8 0x88100909, // 0018 GETMBR R4 R4 K9 - 0x4C140000, // 0019 LDNIL R5 - 0x20100805, // 001A NE R4 R4 R5 - 0x78120001, // 001B JMPF R4 #001E - 0x58100004, // 001C LDCONST R4 K4 - 0x70020000, // 001D JMP #001F - 0x58100005, // 001E LDCONST R4 K5 - 0x8C140302, // 001F GETMET R5 R1 K2 - 0x601C0018, // 0020 GETGBL R7 G24 - 0x5820000A, // 0021 LDCONST R8 K10 - 0x5C240800, // 0022 MOVE R9 R4 - 0x7C1C0400, // 0023 CALL R7 2 - 0x7C140400, // 0024 CALL R5 2 - 0x8C140302, // 0025 GETMET R5 R1 K2 - 0x581C000B, // 0026 LDCONST R7 K11 - 0x7C140400, // 0027 CALL R5 2 - 0x88140108, // 0028 GETMBR R5 R0 K8 - 0x88140B0C, // 0029 GETMBR R5 R5 K12 - 0x78160001, // 002A JMPF R5 #002D - 0x5814000D, // 002B LDCONST R5 K13 - 0x70020000, // 002C JMP #002E - 0x58140005, // 002D LDCONST R5 K5 - 0x8C180302, // 002E GETMET R6 R1 K2 - 0x60200018, // 002F GETGBL R8 G24 - 0x5824000E, // 0030 LDCONST R9 K14 - 0x5C280A00, // 0031 MOVE R10 R5 - 0x7C200400, // 0032 CALL R8 2 - 0x7C180400, // 0033 CALL R6 2 - 0x8C100302, // 0034 GETMET R4 R1 K2 - 0x5818000F, // 0035 LDCONST R6 K15 - 0x7C100400, // 0036 CALL R4 2 - 0x80000000, // 0037 RET 0 + 0x8810090A, // 0019 GETMBR R4 R4 K10 + 0x4C140000, // 001A LDNIL R5 + 0x20100805, // 001B NE R4 R4 R5 + 0x78120001, // 001C JMPF R4 #001F + 0x58100004, // 001D LDCONST R4 K4 + 0x70020000, // 001E JMP #0020 + 0x58100005, // 001F LDCONST R4 K5 + 0x8C140302, // 0020 GETMET R5 R1 K2 + 0x601C0018, // 0021 GETGBL R7 G24 + 0x5820000B, // 0022 LDCONST R8 K11 + 0x5C240800, // 0023 MOVE R9 R4 + 0x7C1C0400, // 0024 CALL R7 2 + 0x7C140400, // 0025 CALL R5 2 + 0x8C140302, // 0026 GETMET R5 R1 K2 + 0x581C000C, // 0027 LDCONST R7 K12 + 0x7C140400, // 0028 CALL R5 2 + 0x88140108, // 0029 GETMBR R5 R0 K8 + 0x88140B0D, // 002A GETMBR R5 R5 K13 + 0x78160001, // 002B JMPF R5 #002E + 0x5814000E, // 002C LDCONST R5 K14 + 0x70020000, // 002D JMP #002F + 0x58140005, // 002E LDCONST R5 K5 + 0x8C180302, // 002F GETMET R6 R1 K2 + 0x60200018, // 0030 GETGBL R8 G24 + 0x5824000F, // 0031 LDCONST R9 K15 + 0x5C280A00, // 0032 MOVE R10 R5 + 0x7C200400, // 0033 CALL R8 2 + 0x7C180400, // 0034 CALL R6 2 + 0x8C100302, // 0035 GETMET R4 R1 K2 + 0x58180010, // 0036 LDCONST R6 K16 + 0x7C100400, // 0037 CALL R4 2 + 0x80000000, // 0038 RET 0 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h new file mode 100644 index 000000000..646169710 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h @@ -0,0 +1,1976 @@ +/* Solidification of Matter_z_Commissioning.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" +// compact class 'Matter_Commissioning' ktab size: 133, total: 275 (saved 1136 bytes) +static const bvalue be_ktab_class_Matter_Commissioning[133] = { + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(root_discriminator), + /* K2 */ be_nested_str_weak(root_passcode), + /* K3 */ be_nested_str_weak(_X251i_X2505i_X2504i), + /* K4 */ be_nested_str_weak(matter), + /* K5 */ be_nested_str_weak(Verhoeff), + /* K6 */ be_nested_str_weak(checksum), + /* 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(get_fabric), + /* K21 */ be_nested_str_weak(get_fabric_id), + /* K22 */ be_nested_str_weak(copy), + /* K23 */ be_nested_str_weak(reverse), + /* K24 */ be_nested_str_weak(tohex), + /* K25 */ be_nested_str_weak(get_admin_vendor_name), + /* K26 */ be_nested_str_weak(log), + /* K27 */ 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), + /* K28 */ be_const_int(2), + /* K29 */ be_nested_str_weak(stop_basic_commissioning), + /* K30 */ be_nested_str_weak(resize), + /* K31 */ be_nested_str_weak(setbits), + /* K32 */ be_const_int(3), + /* K33 */ be_nested_str_weak(VENDOR_ID), + /* K34 */ be_nested_str_weak(PRODUCT_ID), + /* K35 */ be_const_int(134217727), + /* K36 */ be_nested_str_weak(MT_X3A), + /* K37 */ be_nested_str_weak(Base38), + /* K38 */ be_nested_str_weak(encode), + /* K39 */ be_nested_str_weak(crypto), + /* K40 */ be_nested_str_weak(mdns), + /* K41 */ be_nested_str_weak(mdns_announce_op_discovery), + /* K42 */ be_nested_str_weak(sessions), + /* K43 */ be_nested_str_weak(active_fabrics), + /* K44 */ be_nested_str_weak(get_device_id), + /* K45 */ be_nested_str_weak(mdns_remove_op_discovery), + /* K46 */ be_nested_str_weak(stop_iteration), + /* K47 */ be_nested_str_weak(get_fabric_compressed), + /* K48 */ be_nested_str_weak(_X2D), + /* K49 */ be_nested_str_weak(eth), + /* K50 */ be_nested_str_weak(find), + /* K51 */ be_nested_str_weak(up), + /* K52 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27), + /* K53 */ be_nested_str_weak(remove_service), + /* K54 */ be_nested_str_weak(_matter), + /* K55 */ be_nested_str_weak(_tcp), + /* K56 */ be_nested_str_weak(hostname_eth), + /* K57 */ be_nested_str_weak(wifi), + /* K58 */ be_nested_str_weak(hostname_wifi), + /* K59 */ be_nested_str_weak(MTR_X3A_X20Exception), + /* K60 */ be_nested_str_weak(_X7C), + /* K61 */ be_nested_str_weak(millis), + /* K62 */ be_nested_str_weak(mdns_announce_PASE), + /* K63 */ be_nested_str_weak(add_rule), + /* K64 */ be_nested_str_weak(Wifi_X23Connected), + /* K65 */ be_nested_str_weak(Eth_X23Connected), + /* K66 */ be_nested_str_weak(set_timer), + /* K67 */ be_const_int(0), + /* K68 */ be_nested_str_weak(string), + /* K69 */ be_nested_str_weak(start), + /* K70 */ be_nested_str_weak(replace), + /* K71 */ be_nested_str_weak(mac), + /* K72 */ be_nested_str_weak(_X3A), + /* K73 */ be_nested_str_weak(), + /* K74 */ be_nested_str_weak(ipv4only), + /* K75 */ be_nested_str_weak(contains), + /* K76 */ be_nested_str_weak(ip6local), + /* K77 */ be_nested_str_weak(add_hostname), + /* K78 */ be_nested_str_weak(ip), + /* K79 */ be_nested_str_weak(ip6), + /* K80 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29), + /* K81 */ be_nested_str_weak(MTR_X3A_X20start_X20mDNS_X20on_X20_X25s_X20host_X20_X27_X25s_X2Elocal_X27), + /* K82 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics), + /* K83 */ be_nested_str_weak(random), + /* K84 */ be_nested_str_weak(get), + /* K85 */ be_const_int(99999998), + /* K86 */ be_nested_str_weak(PASSCODE_INVALID), + /* K87 */ be_nested_str_weak(MTR_X3A_X20Operational_X20Discovery_X20node_X20_X3D_X20), + /* K88 */ be_nested_str_weak(MTR_X3A_X20adding_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K89 */ be_nested_str_weak(add_service), + /* K90 */ be_nested_str_weak(_I), + /* K91 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20), + /* K92 */ be_nested_str_weak(add_subtype), + /* K93 */ be_nested_str_weak(time_reached), + /* K94 */ be_nested_str_weak(VP), + /* K95 */ be_nested_str_weak(_X25s_X2B_X25s), + /* K96 */ be_nested_str_weak(D), + /* K97 */ be_nested_str_weak(CM), + /* K98 */ be_const_int(1), + /* K99 */ be_nested_str_weak(T), + /* K100 */ be_nested_str_weak(SII), + /* K101 */ be_nested_str_weak(SAI), + /* K102 */ be_nested_str_weak(commissioning_instance_wifi), + /* K103 */ be_nested_str_weak(commissioning_instance_eth), + /* K104 */ be_nested_str_weak(_matterc), + /* K105 */ be_nested_str_weak(_udp), + /* K106 */ be_nested_str_weak(mdns_pase_eth), + /* K107 */ be_nested_str_weak(MTR_X3A_X20announce_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K108 */ be_nested_str_weak(_L), + /* K109 */ be_nested_str_weak(_S), + /* K110 */ be_nested_str_weak(_V), + /* K111 */ be_nested_str_weak(_CM1), + /* K112 */ be_nested_str_weak(mdns_pase_wifi), + /* K113 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), + /* K114 */ be_nested_str_weak(count_active_fabrics), + /* K115 */ be_nested_str_weak(start_root_basic_commissioning), + /* K116 */ be_nested_str_weak(_mdns_announce_hostname), + /* K117 */ be_nested_str_weak(matter_mdns_host), + /* K118 */ be_nested_str_weak(PASE_TIMEOUT), + /* K119 */ be_nested_str_weak(compute_manual_pairing_code), + /* K120 */ be_nested_str_weak(MTR_X3A_X20Manual_X20pairing_X20code_X3A_X20_X25s), + /* K121 */ be_nested_str_weak(compute_qrcode_content), + /* K122 */ 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), + /* K123 */ be_nested_str_weak(add), + /* K124 */ be_nested_str_weak(PBKDF2_HMAC_SHA256), + /* K125 */ be_nested_str_weak(derive), + /* K126 */ be_nested_str_weak(PBKDF_ITERATIONS), + /* K127 */ be_nested_str_weak(EC_P256), + /* K128 */ be_nested_str_weak(mod), + /* K129 */ be_nested_str_weak(public_key), + /* K130 */ be_nested_str_weak(start_basic_commissioning), + /* K131 */ be_nested_str_weak(_init_basic_commissioning), + /* K132 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eremove_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29), +}; + + +extern const bclass be_class_Matter_Commissioning; + +/******************************************************************** +** 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 + 0x88040301, // 0001 GETMBR R1 R1 K1 + 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 + 0x88080501, // 0007 GETMBR R2 R2 K1 + 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 + 0x880C0702, // 000D GETMBR R3 R3 K2 + 0x54123FFE, // 000E LDINT R4 16383 + 0x2C0C0604, // 000F AND R3 R3 R4 + 0x30080403, // 0010 OR R2 R2 R3 + 0x880C0100, // 0011 GETMBR R3 R0 K0 + 0x880C0702, // 0012 GETMBR R3 R3 K2 + 0x5412000D, // 0013 LDINT R4 14 + 0x3C0C0604, // 0014 SHR R3 R3 R4 + 0x60100018, // 0015 GETGBL R4 G24 + 0x58140003, // 0016 LDCONST R5 K3 + 0x5C180200, // 0017 MOVE R6 R1 + 0x5C1C0400, // 0018 MOVE R7 R2 + 0x5C200600, // 0019 MOVE R8 R3 + 0x7C100800, // 001A CALL R4 4 + 0xB8160800, // 001B GETNGBL R5 K4 + 0x88140B05, // 001C GETMBR R5 R5 K5 + 0x8C140B06, // 001D GETMET R5 R5 K6 + 0x5C1C0800, // 001E MOVE R7 R4 + 0x7C140400, // 001F CALL R5 2 + 0x00100805, // 0020 ADD R4 R4 R5 + 0x80040800, // 0021 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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: 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 */ + 0x8C080314, // 0000 GETMET R2 R1 K20 + 0x7C080200, // 0001 CALL R2 1 + 0x8C0C0515, // 0002 GETMET R3 R2 K21 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0716, // 0004 GETMET R3 R3 K22 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0717, // 0006 GETMET R3 R3 K23 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C0C0718, // 0008 GETMET R3 R3 K24 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C100519, // 000A GETMET R4 R2 K25 + 0x7C100200, // 000B CALL R4 1 + 0xB8163400, // 000C GETNGBL R5 K26 + 0x60180018, // 000D GETGBL R6 G24 + 0x581C001B, // 000E LDCONST R7 K27 + 0x5C200600, // 000F MOVE R8 R3 + 0x5C240800, // 0010 MOVE R9 R4 + 0x7C180600, // 0011 CALL R6 3 + 0x581C001C, // 0012 LDCONST R7 K28 + 0x7C140400, // 0013 CALL R5 2 + 0x8C14011D, // 0014 GETMET R5 R0 K29 + 0x7C140200, // 0015 CALL R5 1 + 0x80000000, // 0016 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 + 0x8C04031E, // 0002 GETMET R1 R1 K30 + 0x540E000A, // 0003 LDINT R3 11 + 0x7C040400, // 0004 CALL R1 2 + 0x8C08031F, // 0005 GETMET R2 R1 K31 + 0x58100020, // 0006 LDCONST R4 K32 + 0x5416000F, // 0007 LDINT R5 16 + 0x88180100, // 0008 GETMBR R6 R0 K0 + 0x88180D21, // 0009 GETMBR R6 R6 K33 + 0x7C080800, // 000A CALL R2 4 + 0x8C08031F, // 000B GETMET R2 R1 K31 + 0x54120012, // 000C LDINT R4 19 + 0x5416000F, // 000D LDINT R5 16 + 0x88180100, // 000E GETMBR R6 R0 K0 + 0x88180D22, // 000F GETMBR R6 R6 K34 + 0x7C080800, // 0010 CALL R2 4 + 0x8C08031F, // 0011 GETMET R2 R1 K31 + 0x54120024, // 0012 LDINT R4 37 + 0x54160007, // 0013 LDINT R5 8 + 0x541A0003, // 0014 LDINT R6 4 + 0x7C080800, // 0015 CALL R2 4 + 0x8C08031F, // 0016 GETMET R2 R1 K31 + 0x5412002C, // 0017 LDINT R4 45 + 0x5416000B, // 0018 LDINT R5 12 + 0x88180100, // 0019 GETMBR R6 R0 K0 + 0x88180D01, // 001A GETMBR R6 R6 K1 + 0x541E0FFE, // 001B LDINT R7 4095 + 0x2C180C07, // 001C AND R6 R6 R7 + 0x7C080800, // 001D CALL R2 4 + 0x8C08031F, // 001E GETMET R2 R1 K31 + 0x54120038, // 001F LDINT R4 57 + 0x5416001A, // 0020 LDINT R5 27 + 0x88180100, // 0021 GETMBR R6 R0 K0 + 0x88180D02, // 0022 GETMBR R6 R6 K2 + 0x2C180D23, // 0023 AND R6 R6 K35 + 0x7C080800, // 0024 CALL R2 4 + 0xB80A0800, // 0025 GETNGBL R2 K4 + 0x88080525, // 0026 GETMBR R2 R2 K37 + 0x8C080526, // 0027 GETMET R2 R2 K38 + 0x5C100200, // 0028 MOVE R4 R1 + 0x7C080400, // 0029 CALL R2 2 + 0x000A4802, // 002A ADD R2 K36 R2 + 0x80040400, // 002B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0xA40A4E00, // 0000 IMPORT R2 K39 + 0xA40E5000, // 0001 IMPORT R3 K40 + 0x8C10011D, // 0002 GETMET R4 R0 K29 + 0x7C100200, // 0003 CALL R4 1 + 0x8C100129, // 0004 GETMET R4 R0 K41 + 0x5C180200, // 0005 MOVE R6 R1 + 0x7C100400, // 0006 CALL R4 2 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 + 0x8808052A, // 0002 GETMBR R2 R2 K42 + 0x8C08052B, // 0003 GETMET R2 R2 K43 + 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 + 0x8C0C052C, // 0009 GETMET R3 R2 K44 + 0x7C0C0200, // 000A CALL R3 1 + 0x780E0005, // 000B JMPF R3 #0012 + 0x8C0C0515, // 000C GETMET R3 R2 K21 + 0x7C0C0200, // 000D CALL R3 1 + 0x780E0002, // 000E JMPF R3 #0012 + 0x8C0C012D, // 000F GETMET R3 R0 K45 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x7001FFF3, // 0012 JMP #0007 + 0x5804002E, // 0013 LDCONST R1 K46 + 0xAC040200, // 0014 CATCH R1 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x80000000, // 0016 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 */ + 0xA40A5000, // 0000 IMPORT R2 K40 + 0xA8020039, // 0001 EXBLK 0 #003C + 0x8C0C032C, // 0002 GETMET R3 R1 K44 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0716, // 0004 GETMET R3 R3 K22 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0717, // 0006 GETMET R3 R3 K23 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C10032F, // 0008 GETMET R4 R1 K47 + 0x7C100200, // 0009 CALL R4 1 + 0x8C140918, // 000A GETMET R5 R4 K24 + 0x7C140200, // 000B CALL R5 1 + 0x00140B30, // 000C ADD R5 R5 K48 + 0x8C180718, // 000D GETMET R6 R3 K24 + 0x7C180200, // 000E CALL R6 1 + 0x00140A06, // 000F ADD R5 R5 R6 + 0xB81A1000, // 0010 GETNGBL R6 K8 + 0x8C180D31, // 0011 GETMET R6 R6 K49 + 0x7C180200, // 0012 CALL R6 1 + 0x8C180D32, // 0013 GETMET R6 R6 K50 + 0x58200033, // 0014 LDCONST R8 K51 + 0x7C180400, // 0015 CALL R6 2 + 0x781A000D, // 0016 JMPF R6 #0025 + 0xB81A3400, // 0017 GETNGBL R6 K26 + 0x601C0018, // 0018 GETGBL R7 G24 + 0x58200034, // 0019 LDCONST R8 K52 + 0x58240031, // 001A LDCONST R9 K49 + 0x5C280A00, // 001B MOVE R10 R5 + 0x7C1C0600, // 001C CALL R7 3 + 0x58200020, // 001D LDCONST R8 K32 + 0x7C180400, // 001E CALL R6 2 + 0x8C180535, // 001F GETMET R6 R2 K53 + 0x58200036, // 0020 LDCONST R8 K54 + 0x58240037, // 0021 LDCONST R9 K55 + 0x5C280A00, // 0022 MOVE R10 R5 + 0x882C0138, // 0023 GETMBR R11 R0 K56 + 0x7C180A00, // 0024 CALL R6 5 + 0xB81A1000, // 0025 GETNGBL R6 K8 + 0x8C180D39, // 0026 GETMET R6 R6 K57 + 0x7C180200, // 0027 CALL R6 1 + 0x8C180D32, // 0028 GETMET R6 R6 K50 + 0x58200033, // 0029 LDCONST R8 K51 + 0x7C180400, // 002A CALL R6 2 + 0x781A000D, // 002B JMPF R6 #003A + 0xB81A3400, // 002C GETNGBL R6 K26 + 0x601C0018, // 002D GETGBL R7 G24 + 0x58200034, // 002E LDCONST R8 K52 + 0x58240039, // 002F LDCONST R9 K57 + 0x5C280A00, // 0030 MOVE R10 R5 + 0x7C1C0600, // 0031 CALL R7 3 + 0x58200020, // 0032 LDCONST R8 K32 + 0x7C180400, // 0033 CALL R6 2 + 0x8C180535, // 0034 GETMET R6 R2 K53 + 0x58200036, // 0035 LDCONST R8 K54 + 0x58240037, // 0036 LDCONST R9 K55 + 0x5C280A00, // 0037 MOVE R10 R5 + 0x882C013A, // 0038 GETMBR R11 R0 K58 + 0x7C180A00, // 0039 CALL R6 5 + 0xA8040001, // 003A EXBLK 1 1 + 0x7002000F, // 003B JMP #004C + 0xAC0C0002, // 003C CATCH R3 0 2 + 0x7002000C, // 003D JMP #004B + 0xB8163400, // 003E GETNGBL R5 K26 + 0x60180008, // 003F GETGBL R6 G8 + 0x5C1C0600, // 0040 MOVE R7 R3 + 0x7C180200, // 0041 CALL R6 1 + 0x001A7606, // 0042 ADD R6 K59 R6 + 0x00180D3C, // 0043 ADD R6 R6 K60 + 0x601C0008, // 0044 GETGBL R7 G8 + 0x5C200800, // 0045 MOVE R8 R4 + 0x7C1C0200, // 0046 CALL R7 1 + 0x00180C07, // 0047 ADD R6 R6 R7 + 0x581C001C, // 0048 LDCONST R7 K28 + 0x7C140400, // 0049 CALL R5 2 + 0x70020000, // 004A JMP #004C + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80000000, // 004C 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 + 0x8C20113D, // 0001 GETMET R8 R8 K61 + 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 + 0x8C201139, // 000E GETMET R8 R8 K57 + 0x7C200200, // 000F CALL R8 1 + 0x94201133, // 0010 GETIDX R8 R8 K51 + 0x74220004, // 0011 JMPT R8 #0017 + 0xB8221000, // 0012 GETNGBL R8 K8 + 0x8C201131, // 0013 GETMET R8 R8 K49 + 0x7C200200, // 0014 CALL R8 1 + 0x94201133, // 0015 GETIDX R8 R8 K51 + 0x78220002, // 0016 JMPF R8 #001A + 0x8C20013E, // 0017 GETMET R8 R0 K62 + 0x7C200200, // 0018 CALL R8 1 + 0x7002000B, // 0019 JMP #0026 + 0xB8221000, // 001A GETNGBL R8 K8 + 0x8C20113F, // 001B GETMET R8 R8 K63 + 0x58280040, // 001C LDCONST R10 K64 + 0x842C0000, // 001D CLOSURE R11 P0 + 0x5830003E, // 001E LDCONST R12 K62 + 0x7C200800, // 001F CALL R8 4 + 0xB8221000, // 0020 GETNGBL R8 K8 + 0x8C20113F, // 0021 GETMET R8 R8 K63 + 0x58280041, // 0022 LDCONST R10 K65 + 0x842C0001, // 0023 CLOSURE R11 P1 + 0x5830003E, // 0024 LDCONST R12 K62 + 0x7C200800, // 0025 CALL R8 4 + 0xA0000000, // 0026 CLOSE R0 + 0x80000000, // 0027 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 + 0x8C080542, // 0001 GETMET R2 R2 K66 + 0x58100043, // 0002 LDCONST R4 K67 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x7C080600, // 0004 CALL R2 3 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 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 */ + 0xA40A5000, // 0000 IMPORT R2 K40 + 0xA40E8800, // 0001 IMPORT R3 K68 + 0x8C100545, // 0002 GETMET R4 R2 K69 + 0x7C100200, // 0003 CALL R4 1 + 0xA8020079, // 0004 EXBLK 0 #007F + 0x78060034, // 0005 JMPF R1 #003B + 0xB8121000, // 0006 GETNGBL R4 K8 + 0x8C100931, // 0007 GETMET R4 R4 K49 + 0x7C100200, // 0008 CALL R4 1 + 0x8C140746, // 0009 GETMET R5 R3 K70 + 0x8C1C0932, // 000A GETMET R7 R4 K50 + 0x58240047, // 000B LDCONST R9 K71 + 0x7C1C0400, // 000C CALL R7 2 + 0x58200048, // 000D LDCONST R8 K72 + 0x58240049, // 000E LDCONST R9 K73 + 0x7C140800, // 000F CALL R5 4 + 0x90027005, // 0010 SETMBR R0 K56 R5 + 0x88140100, // 0011 GETMBR R5 R0 K0 + 0x88140B4A, // 0012 GETMBR R5 R5 K74 + 0x78160003, // 0013 JMPF R5 #0018 + 0x8C14094B, // 0014 GETMET R5 R4 K75 + 0x581C004C, // 0015 LDCONST R7 K76 + 0x7C140400, // 0016 CALL R5 2 + 0x7416000F, // 0017 JMPT R5 #0028 + 0x8C14054D, // 0018 GETMET R5 R2 K77 + 0x881C0138, // 0019 GETMBR R7 R0 K56 + 0x8C200932, // 001A GETMET R8 R4 K50 + 0x5828004C, // 001B LDCONST R10 K76 + 0x582C0049, // 001C LDCONST R11 K73 + 0x7C200600, // 001D CALL R8 3 + 0x8C240932, // 001E GETMET R9 R4 K50 + 0x582C004E, // 001F LDCONST R11 K78 + 0x58300049, // 0020 LDCONST R12 K73 + 0x7C240600, // 0021 CALL R9 3 + 0x8C280932, // 0022 GETMET R10 R4 K50 + 0x5830004F, // 0023 LDCONST R12 K79 + 0x58340049, // 0024 LDCONST R13 K73 + 0x7C280600, // 0025 CALL R10 3 + 0x7C140A00, // 0026 CALL R5 5 + 0x70020011, // 0027 JMP #003A + 0xB8163400, // 0028 GETNGBL R5 K26 + 0x60180018, // 0029 GETGBL R6 G24 + 0x581C0050, // 002A LDCONST R7 K80 + 0x88200138, // 002B GETMBR R8 R0 K56 + 0x8C240932, // 002C GETMET R9 R4 K50 + 0x582C004E, // 002D LDCONST R11 K78 + 0x58300049, // 002E LDCONST R12 K73 + 0x7C240600, // 002F CALL R9 3 + 0x7C180600, // 0030 CALL R6 3 + 0x581C0020, // 0031 LDCONST R7 K32 + 0x7C140400, // 0032 CALL R5 2 + 0x8C14054D, // 0033 GETMET R5 R2 K77 + 0x881C0138, // 0034 GETMBR R7 R0 K56 + 0x8C200932, // 0035 GETMET R8 R4 K50 + 0x5828004E, // 0036 LDCONST R10 K78 + 0x582C0049, // 0037 LDCONST R11 K73 + 0x7C200600, // 0038 CALL R8 3 + 0x7C140600, // 0039 CALL R5 3 + 0x70020033, // 003A JMP #006F + 0xB8121000, // 003B GETNGBL R4 K8 + 0x8C100939, // 003C GETMET R4 R4 K57 + 0x7C100200, // 003D CALL R4 1 + 0x8C140746, // 003E GETMET R5 R3 K70 + 0x8C1C0932, // 003F GETMET R7 R4 K50 + 0x58240047, // 0040 LDCONST R9 K71 + 0x7C1C0400, // 0041 CALL R7 2 + 0x58200048, // 0042 LDCONST R8 K72 + 0x58240049, // 0043 LDCONST R9 K73 + 0x7C140800, // 0044 CALL R5 4 + 0x90027405, // 0045 SETMBR R0 K58 R5 + 0x88140100, // 0046 GETMBR R5 R0 K0 + 0x88140B4A, // 0047 GETMBR R5 R5 K74 + 0x78160003, // 0048 JMPF R5 #004D + 0x8C14094B, // 0049 GETMET R5 R4 K75 + 0x581C004C, // 004A LDCONST R7 K76 + 0x7C140400, // 004B CALL R5 2 + 0x7416000F, // 004C JMPT R5 #005D + 0x8C14054D, // 004D GETMET R5 R2 K77 + 0x881C013A, // 004E GETMBR R7 R0 K58 + 0x8C200932, // 004F GETMET R8 R4 K50 + 0x5828004C, // 0050 LDCONST R10 K76 + 0x582C0049, // 0051 LDCONST R11 K73 + 0x7C200600, // 0052 CALL R8 3 + 0x8C240932, // 0053 GETMET R9 R4 K50 + 0x582C004E, // 0054 LDCONST R11 K78 + 0x58300049, // 0055 LDCONST R12 K73 + 0x7C240600, // 0056 CALL R9 3 + 0x8C280932, // 0057 GETMET R10 R4 K50 + 0x5830004F, // 0058 LDCONST R12 K79 + 0x58340049, // 0059 LDCONST R13 K73 + 0x7C280600, // 005A CALL R10 3 + 0x7C140A00, // 005B CALL R5 5 + 0x70020011, // 005C JMP #006F + 0xB8163400, // 005D GETNGBL R5 K26 + 0x60180018, // 005E GETGBL R6 G24 + 0x581C0050, // 005F LDCONST R7 K80 + 0x8820013A, // 0060 GETMBR R8 R0 K58 + 0x8C240932, // 0061 GETMET R9 R4 K50 + 0x582C004E, // 0062 LDCONST R11 K78 + 0x58300049, // 0063 LDCONST R12 K73 + 0x7C240600, // 0064 CALL R9 3 + 0x7C180600, // 0065 CALL R6 3 + 0x581C0020, // 0066 LDCONST R7 K32 + 0x7C140400, // 0067 CALL R5 2 + 0x8C14054D, // 0068 GETMET R5 R2 K77 + 0x881C013A, // 0069 GETMBR R7 R0 K58 + 0x8C200932, // 006A GETMET R8 R4 K50 + 0x5828004E, // 006B LDCONST R10 K78 + 0x582C0049, // 006C LDCONST R11 K73 + 0x7C200600, // 006D CALL R8 3 + 0x7C140600, // 006E CALL R5 3 + 0xB8123400, // 006F GETNGBL R4 K26 + 0x60140018, // 0070 GETGBL R5 G24 + 0x58180051, // 0071 LDCONST R6 K81 + 0x78060001, // 0072 JMPF R1 #0075 + 0x581C0031, // 0073 LDCONST R7 K49 + 0x70020000, // 0074 JMP #0076 + 0x581C0039, // 0075 LDCONST R7 K57 + 0x78060001, // 0076 JMPF R1 #0079 + 0x88200138, // 0077 GETMBR R8 R0 K56 + 0x70020000, // 0078 JMP #007A + 0x8820013A, // 0079 GETMBR R8 R0 K58 + 0x7C140600, // 007A CALL R5 3 + 0x58180020, // 007B LDCONST R6 K32 + 0x7C100400, // 007C CALL R4 2 + 0xA8040001, // 007D EXBLK 1 1 + 0x7002000F, // 007E JMP #008F + 0xAC100002, // 007F CATCH R4 0 2 + 0x7002000C, // 0080 JMP #008E + 0xB81A3400, // 0081 GETNGBL R6 K26 + 0x601C0008, // 0082 GETGBL R7 G8 + 0x5C200800, // 0083 MOVE R8 R4 + 0x7C1C0200, // 0084 CALL R7 1 + 0x001E7607, // 0085 ADD R7 K59 R7 + 0x001C0F3C, // 0086 ADD R7 R7 K60 + 0x60200008, // 0087 GETGBL R8 G8 + 0x5C240A00, // 0088 MOVE R9 R5 + 0x7C200200, // 0089 CALL R8 1 + 0x001C0E08, // 008A ADD R7 R7 R8 + 0x5820001C, // 008B LDCONST R8 K28 + 0x7C180400, // 008C CALL R6 2 + 0x70020000, // 008D JMP #008F + 0xB0080000, // 008E RAISE 2 R0 R0 + 0x8C100152, // 008F GETMET R4 R0 K82 + 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 + 0x8808052A, // 0002 GETMBR R2 R2 K42 + 0x8C08052B, // 0003 GETMET R2 R2 K43 + 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 + 0x8C0C052C, // 0009 GETMET R3 R2 K44 + 0x7C0C0200, // 000A CALL R3 1 + 0x780E0005, // 000B JMPF R3 #0012 + 0x8C0C0515, // 000C GETMET R3 R2 K21 + 0x7C0C0200, // 000D CALL R3 1 + 0x780E0002, // 000E JMPF R3 #0012 + 0x8C0C0129, // 000F GETMET R3 R0 K41 + 0x5C140400, // 0010 MOVE R5 R2 + 0x7C0C0400, // 0011 CALL R3 2 + 0x7001FFF3, // 0012 JMP #0007 + 0x5804002E, // 0013 LDCONST R1 K46 + 0xAC040200, // 0014 CATCH R1 1 0 + 0xB0080000, // 0015 RAISE 2 R0 R0 + 0x80000000, // 0016 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 + 0x8C080542, // 0001 GETMET R2 R2 K66 + 0x58100043, // 0002 LDCONST R4 K67 + 0x84140000, // 0003 CLOSURE R5 P0 + 0x7C080600, // 0004 CALL R2 3 + 0xA0000000, // 0005 CLOSE R0 + 0x80000000, // 0006 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 */ + 0xA4064E00, // 0000 IMPORT R1 K39 + 0x4C080000, // 0001 LDNIL R2 + 0x500C0200, // 0002 LDBOOL R3 1 0 + 0x780E001D, // 0003 JMPF R3 #0022 + 0x8C0C0353, // 0004 GETMET R3 R1 K83 + 0x54160003, // 0005 LDINT R5 4 + 0x7C0C0400, // 0006 CALL R3 2 + 0x8C0C0754, // 0007 GETMET R3 R3 K84 + 0x58140043, // 0008 LDCONST R5 K67 + 0x541A0003, // 0009 LDINT R6 4 + 0x7C0C0600, // 000A CALL R3 3 + 0x2C0C0723, // 000B AND R3 R3 K35 + 0x5C080600, // 000C MOVE R2 R3 + 0x240C0555, // 000D GT R3 R2 K85 + 0x780E0000, // 000E JMPF R3 #0010 + 0x7001FFF1, // 000F JMP #0002 + 0x600C0010, // 0010 GETGBL R3 G16 + 0x88100156, // 0011 GETMBR R4 R0 K86 + 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 + 0x580C002E, // 001A LDCONST R3 K46 + 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 */ + 0xA40A5000, // 0000 IMPORT R2 K40 + 0xA802005F, // 0001 EXBLK 0 #0062 + 0x8C0C032C, // 0002 GETMET R3 R1 K44 + 0x7C0C0200, // 0003 CALL R3 1 + 0x8C0C0716, // 0004 GETMET R3 R3 K22 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C0717, // 0006 GETMET R3 R3 K23 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C10032F, // 0008 GETMET R4 R1 K47 + 0x7C100200, // 0009 CALL R4 1 + 0x8C140918, // 000A GETMET R5 R4 K24 + 0x7C140200, // 000B CALL R5 1 + 0x00140B30, // 000C ADD R5 R5 K48 + 0x8C180718, // 000D GETMET R6 R3 K24 + 0x7C180200, // 000E CALL R6 1 + 0x00140A06, // 000F ADD R5 R5 R6 + 0xB81A3400, // 0010 GETNGBL R6 K26 + 0x001EAE05, // 0011 ADD R7 K87 R5 + 0x58200020, // 0012 LDCONST R8 K32 + 0x7C180400, // 0013 CALL R6 2 + 0xB81A1000, // 0014 GETNGBL R6 K8 + 0x8C180D31, // 0015 GETMET R6 R6 K49 + 0x7C180200, // 0016 CALL R6 1 + 0x8C180D32, // 0017 GETMET R6 R6 K50 + 0x58200033, // 0018 LDCONST R8 K51 + 0x7C180400, // 0019 CALL R6 2 + 0x781A001E, // 001A JMPF R6 #003A + 0xB81A3400, // 001B GETNGBL R6 K26 + 0x601C0018, // 001C GETGBL R7 G24 + 0x58200058, // 001D LDCONST R8 K88 + 0x58240031, // 001E LDCONST R9 K49 + 0x5C280A00, // 001F MOVE R10 R5 + 0x882C0138, // 0020 GETMBR R11 R0 K56 + 0x7C1C0800, // 0021 CALL R7 4 + 0x58200020, // 0022 LDCONST R8 K32 + 0x7C180400, // 0023 CALL R6 2 + 0x8C180559, // 0024 GETMET R6 R2 K89 + 0x58200036, // 0025 LDCONST R8 K54 + 0x58240037, // 0026 LDCONST R9 K55 + 0x542A15A3, // 0027 LDINT R10 5540 + 0x4C2C0000, // 0028 LDNIL R11 + 0x5C300A00, // 0029 MOVE R12 R5 + 0x88340138, // 002A GETMBR R13 R0 K56 + 0x7C180E00, // 002B CALL R6 7 + 0x8C180918, // 002C GETMET R6 R4 K24 + 0x7C180200, // 002D CALL R6 1 + 0x001AB406, // 002E ADD R6 K90 R6 + 0xB81E3400, // 002F GETNGBL R7 K26 + 0x0022B606, // 0030 ADD R8 K91 R6 + 0x58240020, // 0031 LDCONST R9 K32 + 0x7C1C0400, // 0032 CALL R7 2 + 0x8C1C055C, // 0033 GETMET R7 R2 K92 + 0x58240036, // 0034 LDCONST R9 K54 + 0x58280037, // 0035 LDCONST R10 K55 + 0x5C2C0A00, // 0036 MOVE R11 R5 + 0x88300138, // 0037 GETMBR R12 R0 K56 + 0x5C340C00, // 0038 MOVE R13 R6 + 0x7C1C0C00, // 0039 CALL R7 6 + 0xB81A1000, // 003A GETNGBL R6 K8 + 0x8C180D39, // 003B GETMET R6 R6 K57 + 0x7C180200, // 003C CALL R6 1 + 0x8C180D32, // 003D GETMET R6 R6 K50 + 0x58200033, // 003E LDCONST R8 K51 + 0x7C180400, // 003F CALL R6 2 + 0x781A001E, // 0040 JMPF R6 #0060 + 0xB81A3400, // 0041 GETNGBL R6 K26 + 0x601C0018, // 0042 GETGBL R7 G24 + 0x58200058, // 0043 LDCONST R8 K88 + 0x58240039, // 0044 LDCONST R9 K57 + 0x5C280A00, // 0045 MOVE R10 R5 + 0x882C013A, // 0046 GETMBR R11 R0 K58 + 0x7C1C0800, // 0047 CALL R7 4 + 0x58200020, // 0048 LDCONST R8 K32 + 0x7C180400, // 0049 CALL R6 2 + 0x8C180559, // 004A GETMET R6 R2 K89 + 0x58200036, // 004B LDCONST R8 K54 + 0x58240037, // 004C LDCONST R9 K55 + 0x542A15A3, // 004D LDINT R10 5540 + 0x4C2C0000, // 004E LDNIL R11 + 0x5C300A00, // 004F MOVE R12 R5 + 0x8834013A, // 0050 GETMBR R13 R0 K58 + 0x7C180E00, // 0051 CALL R6 7 + 0x8C180918, // 0052 GETMET R6 R4 K24 + 0x7C180200, // 0053 CALL R6 1 + 0x001AB406, // 0054 ADD R6 K90 R6 + 0xB81E3400, // 0055 GETNGBL R7 K26 + 0x0022B606, // 0056 ADD R8 K91 R6 + 0x58240020, // 0057 LDCONST R9 K32 + 0x7C1C0400, // 0058 CALL R7 2 + 0x8C1C055C, // 0059 GETMET R7 R2 K92 + 0x58240036, // 005A LDCONST R9 K54 + 0x58280037, // 005B LDCONST R10 K55 + 0x5C2C0A00, // 005C MOVE R11 R5 + 0x8830013A, // 005D GETMBR R12 R0 K58 + 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 + 0xB8163400, // 0064 GETNGBL R5 K26 + 0x60180008, // 0065 GETGBL R6 G8 + 0x5C1C0600, // 0066 MOVE R7 R3 + 0x7C180200, // 0067 CALL R6 1 + 0x001A7606, // 0068 ADD R6 K59 R6 + 0x00180D3C, // 0069 ADD R6 R6 K60 + 0x601C0008, // 006A GETGBL R7 G8 + 0x5C200800, // 006B MOVE R8 R4 + 0x7C1C0200, // 006C CALL R7 1 + 0x00180C07, // 006D ADD R6 R6 R7 + 0x581C001C, // 006E LDCONST R7 K28 + 0x7C140400, // 006F CALL R5 2 + 0x70020000, // 0070 JMP #0072 + 0xB0080000, // 0071 RAISE 2 R0 R0 + 0x80000000, // 0072 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 + 0x8C04035D, // 0005 GETMET R1 R1 K93 + 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 */ + 0xA4065000, // 0000 IMPORT R1 K40 + 0xA40A4E00, // 0001 IMPORT R2 K39 + 0x600C0013, // 0002 GETGBL R3 G19 + 0x7C0C0000, // 0003 CALL R3 0 + 0x60100018, // 0004 GETGBL R4 G24 + 0x5814005F, // 0005 LDCONST R5 K95 + 0x88180100, // 0006 GETMBR R6 R0 K0 + 0x88180D21, // 0007 GETMBR R6 R6 K33 + 0x881C0100, // 0008 GETMBR R7 R0 K0 + 0x881C0F22, // 0009 GETMBR R7 R7 K34 + 0x7C100600, // 000A CALL R4 3 + 0x980EBC04, // 000B SETIDX R3 K94 R4 + 0x8810010F, // 000C GETMBR R4 R0 K15 + 0x980EC004, // 000D SETIDX R3 K96 R4 + 0x980EC362, // 000E SETIDX R3 K97 K98 + 0x980EC743, // 000F SETIDX R3 K99 K67 + 0x54121387, // 0010 LDINT R4 5000 + 0x980EC804, // 0011 SETIDX R3 K100 R4 + 0x5412012B, // 0012 LDINT R4 300 + 0x980ECA04, // 0013 SETIDX R3 K101 R4 + 0x8C100553, // 0014 GETMET R4 R2 K83 + 0x541A0007, // 0015 LDINT R6 8 + 0x7C100400, // 0016 CALL R4 2 + 0x8C100918, // 0017 GETMET R4 R4 K24 + 0x7C100200, // 0018 CALL R4 1 + 0x9002CC04, // 0019 SETMBR R0 K102 R4 + 0x8C100553, // 001A GETMET R4 R2 K83 + 0x541A0007, // 001B LDINT R6 8 + 0x7C100400, // 001C CALL R4 2 + 0x8C100918, // 001D GETMET R4 R4 K24 + 0x7C100200, // 001E CALL R4 1 + 0x9002CE04, // 001F SETMBR R0 K103 R4 + 0xA80200AF, // 0020 EXBLK 0 #00D1 + 0x88100138, // 0021 GETMBR R4 R0 K56 + 0x78120054, // 0022 JMPF R4 #0078 + 0x8C100359, // 0023 GETMET R4 R1 K89 + 0x58180068, // 0024 LDCONST R6 K104 + 0x581C0069, // 0025 LDCONST R7 K105 + 0x542215A3, // 0026 LDINT R8 5540 + 0x5C240600, // 0027 MOVE R9 R3 + 0x88280167, // 0028 GETMBR R10 R0 K103 + 0x882C0138, // 0029 GETMBR R11 R0 K56 + 0x7C100E00, // 002A CALL R4 7 + 0x50100200, // 002B LDBOOL R4 1 0 + 0x9002D404, // 002C SETMBR R0 K106 R4 + 0xB8123400, // 002D GETNGBL R4 K26 + 0x60140018, // 002E GETGBL R5 G24 + 0x5818006B, // 002F LDCONST R6 K107 + 0x581C0031, // 0030 LDCONST R7 K49 + 0x88200167, // 0031 GETMBR R8 R0 K103 + 0x88240138, // 0032 GETMBR R9 R0 K56 + 0x7C140800, // 0033 CALL R5 4 + 0x5818001C, // 0034 LDCONST R6 K28 + 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 + 0x0012D804, // 003B ADD R4 K108 R4 + 0xB8163400, // 003C GETNGBL R5 K26 + 0x001AB604, // 003D ADD R6 K91 R4 + 0x581C0020, // 003E LDCONST R7 K32 + 0x7C140400, // 003F CALL R5 2 + 0x8C14035C, // 0040 GETMET R5 R1 K92 + 0x581C0068, // 0041 LDCONST R7 K104 + 0x58200069, // 0042 LDCONST R8 K105 + 0x88240167, // 0043 GETMBR R9 R0 K103 + 0x88280138, // 0044 GETMBR R10 R0 K56 + 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 + 0x0016DA05, // 004E ADD R5 K109 R5 + 0x5C100A00, // 004F MOVE R4 R5 + 0xB8163400, // 0050 GETNGBL R5 K26 + 0x001AB604, // 0051 ADD R6 K91 R4 + 0x581C0020, // 0052 LDCONST R7 K32 + 0x7C140400, // 0053 CALL R5 2 + 0x8C14035C, // 0054 GETMET R5 R1 K92 + 0x581C0068, // 0055 LDCONST R7 K104 + 0x58200069, // 0056 LDCONST R8 K105 + 0x88240167, // 0057 GETMBR R9 R0 K103 + 0x88280138, // 0058 GETMBR R10 R0 K56 + 0x5C2C0800, // 0059 MOVE R11 R4 + 0x7C140C00, // 005A CALL R5 6 + 0x60140008, // 005B GETGBL R5 G8 + 0x88180100, // 005C GETMBR R6 R0 K0 + 0x88180D21, // 005D GETMBR R6 R6 K33 + 0x7C140200, // 005E CALL R5 1 + 0x0016DC05, // 005F ADD R5 K110 R5 + 0x5C100A00, // 0060 MOVE R4 R5 + 0xB8163400, // 0061 GETNGBL R5 K26 + 0x001AB604, // 0062 ADD R6 K91 R4 + 0x581C0020, // 0063 LDCONST R7 K32 + 0x7C140400, // 0064 CALL R5 2 + 0x8C14035C, // 0065 GETMET R5 R1 K92 + 0x581C0068, // 0066 LDCONST R7 K104 + 0x58200069, // 0067 LDCONST R8 K105 + 0x88240167, // 0068 GETMBR R9 R0 K103 + 0x88280138, // 0069 GETMBR R10 R0 K56 + 0x5C2C0800, // 006A MOVE R11 R4 + 0x7C140C00, // 006B CALL R5 6 + 0x5810006F, // 006C LDCONST R4 K111 + 0xB8163400, // 006D GETNGBL R5 K26 + 0x001AB604, // 006E ADD R6 K91 R4 + 0x581C0020, // 006F LDCONST R7 K32 + 0x7C140400, // 0070 CALL R5 2 + 0x8C14035C, // 0071 GETMET R5 R1 K92 + 0x581C0068, // 0072 LDCONST R7 K104 + 0x58200069, // 0073 LDCONST R8 K105 + 0x88240167, // 0074 GETMBR R9 R0 K103 + 0x88280138, // 0075 GETMBR R10 R0 K56 + 0x5C2C0800, // 0076 MOVE R11 R4 + 0x7C140C00, // 0077 CALL R5 6 + 0x8810013A, // 0078 GETMBR R4 R0 K58 + 0x78120054, // 0079 JMPF R4 #00CF + 0x8C100359, // 007A GETMET R4 R1 K89 + 0x58180068, // 007B LDCONST R6 K104 + 0x581C0069, // 007C LDCONST R7 K105 + 0x542215A3, // 007D LDINT R8 5540 + 0x5C240600, // 007E MOVE R9 R3 + 0x88280166, // 007F GETMBR R10 R0 K102 + 0x882C013A, // 0080 GETMBR R11 R0 K58 + 0x7C100E00, // 0081 CALL R4 7 + 0x50100200, // 0082 LDBOOL R4 1 0 + 0x9002E004, // 0083 SETMBR R0 K112 R4 + 0xB8123400, // 0084 GETNGBL R4 K26 + 0x60140018, // 0085 GETGBL R5 G24 + 0x58180071, // 0086 LDCONST R6 K113 + 0x581C0039, // 0087 LDCONST R7 K57 + 0x88200166, // 0088 GETMBR R8 R0 K102 + 0x8824013A, // 0089 GETMBR R9 R0 K58 + 0x7C140800, // 008A CALL R5 4 + 0x58180020, // 008B LDCONST R6 K32 + 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 + 0x0012D804, // 0092 ADD R4 K108 R4 + 0xB8163400, // 0093 GETNGBL R5 K26 + 0x001AB604, // 0094 ADD R6 K91 R4 + 0x581C0020, // 0095 LDCONST R7 K32 + 0x7C140400, // 0096 CALL R5 2 + 0x8C14035C, // 0097 GETMET R5 R1 K92 + 0x581C0068, // 0098 LDCONST R7 K104 + 0x58200069, // 0099 LDCONST R8 K105 + 0x88240166, // 009A GETMBR R9 R0 K102 + 0x8828013A, // 009B GETMBR R10 R0 K58 + 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 + 0x0016DA05, // 00A5 ADD R5 K109 R5 + 0x5C100A00, // 00A6 MOVE R4 R5 + 0xB8163400, // 00A7 GETNGBL R5 K26 + 0x001AB604, // 00A8 ADD R6 K91 R4 + 0x581C0020, // 00A9 LDCONST R7 K32 + 0x7C140400, // 00AA CALL R5 2 + 0x8C14035C, // 00AB GETMET R5 R1 K92 + 0x581C0068, // 00AC LDCONST R7 K104 + 0x58200069, // 00AD LDCONST R8 K105 + 0x88240166, // 00AE GETMBR R9 R0 K102 + 0x8828013A, // 00AF GETMBR R10 R0 K58 + 0x5C2C0800, // 00B0 MOVE R11 R4 + 0x7C140C00, // 00B1 CALL R5 6 + 0x60140008, // 00B2 GETGBL R5 G8 + 0x88180100, // 00B3 GETMBR R6 R0 K0 + 0x88180D21, // 00B4 GETMBR R6 R6 K33 + 0x7C140200, // 00B5 CALL R5 1 + 0x0016DC05, // 00B6 ADD R5 K110 R5 + 0x5C100A00, // 00B7 MOVE R4 R5 + 0xB8163400, // 00B8 GETNGBL R5 K26 + 0x001AB604, // 00B9 ADD R6 K91 R4 + 0x581C0020, // 00BA LDCONST R7 K32 + 0x7C140400, // 00BB CALL R5 2 + 0x8C14035C, // 00BC GETMET R5 R1 K92 + 0x581C0068, // 00BD LDCONST R7 K104 + 0x58200069, // 00BE LDCONST R8 K105 + 0x88240166, // 00BF GETMBR R9 R0 K102 + 0x8828013A, // 00C0 GETMBR R10 R0 K58 + 0x5C2C0800, // 00C1 MOVE R11 R4 + 0x7C140C00, // 00C2 CALL R5 6 + 0x5810006F, // 00C3 LDCONST R4 K111 + 0xB8163400, // 00C4 GETNGBL R5 K26 + 0x001AB604, // 00C5 ADD R6 K91 R4 + 0x581C0020, // 00C6 LDCONST R7 K32 + 0x7C140400, // 00C7 CALL R5 2 + 0x8C14035C, // 00C8 GETMET R5 R1 K92 + 0x581C0068, // 00C9 LDCONST R7 K104 + 0x58200069, // 00CA LDCONST R8 K105 + 0x88240166, // 00CB GETMBR R9 R0 K102 + 0x8828013A, // 00CC GETMBR R10 R0 K58 + 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 + 0xB81A3400, // 00D3 GETNGBL R6 K26 + 0x601C0008, // 00D4 GETGBL R7 G8 + 0x5C200800, // 00D5 MOVE R8 R4 + 0x7C1C0200, // 00D6 CALL R7 1 + 0x001E7607, // 00D7 ADD R7 K59 R7 + 0x001C0F3C, // 00D8 ADD R7 R7 K60 + 0x60200008, // 00D9 GETGBL R8 G8 + 0x5C240A00, // 00DA MOVE R9 R5 + 0x7C200200, // 00DB CALL R8 1 + 0x001C0E08, // 00DC ADD R7 R7 R8 + 0x5820001C, // 00DD LDCONST R8 K28 + 0x7C180400, // 00DE CALL R6 2 + 0x70020000, // 00DF JMP #00E1 + 0xB0080000, // 00E0 RAISE 2 R0 R0 + 0x80000000, // 00E1 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 + 0x8804032A, // 0001 GETMBR R1 R1 K42 + 0x8C040372, // 0002 GETMET R1 R1 K114 + 0x7C040200, // 0003 CALL R1 1 + 0x1C040343, // 0004 EQ R1 R1 K67 + 0x78060001, // 0005 JMPF R1 #0008 + 0x8C040173, // 0006 GETMET R1 R0 K115 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 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 + 0x8C040339, // 0001 GETMET R1 R1 K57 + 0x7C040200, // 0002 CALL R1 1 + 0x94040333, // 0003 GETIDX R1 R1 K51 + 0x78060003, // 0004 JMPF R1 #0009 + 0x8C040174, // 0005 GETMET R1 R0 K116 + 0x500C0000, // 0006 LDBOOL R3 0 0 + 0x7C040400, // 0007 CALL R1 2 + 0x70020005, // 0008 JMP #000F + 0xB8061000, // 0009 GETNGBL R1 K8 + 0x8C04033F, // 000A GETMET R1 R1 K63 + 0x580C0040, // 000B LDCONST R3 K64 + 0x84100000, // 000C CLOSURE R4 P0 + 0x58140075, // 000D LDCONST R5 K117 + 0x7C040800, // 000E CALL R1 4 + 0xB8061000, // 000F GETNGBL R1 K8 + 0x8C040331, // 0010 GETMET R1 R1 K49 + 0x7C040200, // 0011 CALL R1 1 + 0x94040333, // 0012 GETIDX R1 R1 K51 + 0x78060003, // 0013 JMPF R1 #0018 + 0x8C040174, // 0014 GETMET R1 R0 K116 + 0x500C0200, // 0015 LDBOOL R3 1 0 + 0x7C040400, // 0016 CALL R1 2 + 0x70020005, // 0017 JMP #001E + 0xB8061000, // 0018 GETNGBL R1 K8 + 0x8C04033F, // 0019 GETMET R1 R1 K63 + 0x580C0041, // 001A LDCONST R3 K65 + 0x84100001, // 001B CLOSURE R4 P1 + 0x58140075, // 001C LDCONST R5 K117 + 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: 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 + 0x88040176, // 0003 GETMBR R1 R0 K118 + 0x8C080177, // 0004 GETMET R2 R0 K119 + 0x7C080200, // 0005 CALL R2 1 + 0xB80E3400, // 0006 GETNGBL R3 K26 + 0x60100018, // 0007 GETGBL R4 G24 + 0x58140078, // 0008 LDCONST R5 K120 + 0x5C180400, // 0009 MOVE R6 R2 + 0x7C100400, // 000A CALL R4 2 + 0x5814001C, // 000B LDCONST R5 K28 + 0x7C0C0400, // 000C CALL R3 2 + 0x8C0C0179, // 000D GETMET R3 R0 K121 + 0x7C0C0200, // 000E CALL R3 1 + 0xB8121000, // 000F GETNGBL R4 K8 + 0x8C100909, // 0010 GETMET R4 R4 K9 + 0x60180018, // 0011 GETGBL R6 G24 + 0x581C007A, // 0012 LDCONST R7 K122 + 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 + 0xA4124E00, // 0018 IMPORT R4 K39 + 0x8C140953, // 0019 GETMET R5 R4 K83 + 0x541E000F, // 001A LDINT R7 16 + 0x7C140400, // 001B CALL R5 2 + 0x60180015, // 001C GETGBL R6 G21 + 0x7C180000, // 001D CALL R6 0 + 0x8C180D7B, // 001E GETMET R6 R6 K123 + 0x88200100, // 001F GETMBR R8 R0 K0 + 0x88201102, // 0020 GETMBR R8 R8 K2 + 0x54260003, // 0021 LDINT R9 4 + 0x7C180600, // 0022 CALL R6 3 + 0x8C1C097C, // 0023 GETMET R7 R4 K124 + 0x7C1C0200, // 0024 CALL R7 1 + 0x8C1C0F7D, // 0025 GETMET R7 R7 K125 + 0x5C240C00, // 0026 MOVE R9 R6 + 0x5C280A00, // 0027 MOVE R10 R5 + 0x882C017E, // 0028 GETMBR R11 R0 K126 + 0x5432004F, // 0029 LDINT R12 80 + 0x7C1C0A00, // 002A CALL R7 5 + 0x54220026, // 002B LDINT R8 39 + 0x40228608, // 002C CONNECT R8 K67 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 + 0x8C28097F, // 0032 GETMET R10 R4 K127 + 0x7C280200, // 0033 CALL R10 1 + 0x8C281580, // 0034 GETMET R10 R10 K128 + 0x5C301000, // 0035 MOVE R12 R8 + 0x7C280400, // 0036 CALL R10 2 + 0x8C2C097F, // 0037 GETMET R11 R4 K127 + 0x7C2C0200, // 0038 CALL R11 1 + 0x8C2C1780, // 0039 GETMET R11 R11 K128 + 0x5C341200, // 003A MOVE R13 R9 + 0x7C2C0400, // 003B CALL R11 2 + 0x8C30097F, // 003C GETMET R12 R4 K127 + 0x7C300200, // 003D CALL R12 1 + 0x8C301981, // 003E GETMET R12 R12 K129 + 0x5C381600, // 003F MOVE R14 R11 + 0x7C300400, // 0040 CALL R12 2 + 0x8C340182, // 0041 GETMET R13 R0 K130 + 0x5C3C0200, // 0042 MOVE R15 R1 + 0x8840017E, // 0043 GETMBR R16 R0 K126 + 0x88440100, // 0044 GETMBR R17 R0 K0 + 0x88442301, // 0045 GETMBR R17 R17 K1 + 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: 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: init +********************************************************************/ +be_local_closure(class_Matter_Commissioning_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_Commissioning, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x8C080183, // 0001 GETMET R2 R0 K131 + 0x7C080200, // 0002 CALL R2 1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0xA4065000, // 0000 IMPORT R1 K40 + 0xA8020039, // 0001 EXBLK 0 #003C + 0x8808016A, // 0002 GETMBR R2 R0 K106 + 0x780A0019, // 0003 JMPF R2 #001E + 0xB80A3400, // 0004 GETNGBL R2 K26 + 0x600C0018, // 0005 GETGBL R3 G24 + 0x58100084, // 0006 LDCONST R4 K132 + 0x58140068, // 0007 LDCONST R5 K104 + 0x58180069, // 0008 LDCONST R6 K105 + 0x881C0167, // 0009 GETMBR R7 R0 K103 + 0x88200138, // 000A GETMBR R8 R0 K56 + 0x7C0C0A00, // 000B CALL R3 5 + 0x58100020, // 000C LDCONST R4 K32 + 0x7C080400, // 000D CALL R2 2 + 0xB80A3400, // 000E GETNGBL R2 K26 + 0x600C0018, // 000F GETGBL R3 G24 + 0x58100034, // 0010 LDCONST R4 K52 + 0x58140031, // 0011 LDCONST R5 K49 + 0x88180167, // 0012 GETMBR R6 R0 K103 + 0x7C0C0600, // 0013 CALL R3 3 + 0x58100020, // 0014 LDCONST R4 K32 + 0x7C080400, // 0015 CALL R2 2 + 0x50080000, // 0016 LDBOOL R2 0 0 + 0x9002D402, // 0017 SETMBR R0 K106 R2 + 0x8C080335, // 0018 GETMET R2 R1 K53 + 0x58100068, // 0019 LDCONST R4 K104 + 0x58140069, // 001A LDCONST R5 K105 + 0x88180167, // 001B GETMBR R6 R0 K103 + 0x881C0138, // 001C GETMBR R7 R0 K56 + 0x7C080A00, // 001D CALL R2 5 + 0x88080170, // 001E GETMBR R2 R0 K112 + 0x780A0019, // 001F JMPF R2 #003A + 0xB80A3400, // 0020 GETNGBL R2 K26 + 0x600C0018, // 0021 GETGBL R3 G24 + 0x58100084, // 0022 LDCONST R4 K132 + 0x58140068, // 0023 LDCONST R5 K104 + 0x58180069, // 0024 LDCONST R6 K105 + 0x881C0166, // 0025 GETMBR R7 R0 K102 + 0x8820013A, // 0026 GETMBR R8 R0 K58 + 0x7C0C0A00, // 0027 CALL R3 5 + 0x58100020, // 0028 LDCONST R4 K32 + 0x7C080400, // 0029 CALL R2 2 + 0xB80A3400, // 002A GETNGBL R2 K26 + 0x600C0018, // 002B GETGBL R3 G24 + 0x58100034, // 002C LDCONST R4 K52 + 0x58140039, // 002D LDCONST R5 K57 + 0x88180166, // 002E GETMBR R6 R0 K102 + 0x7C0C0600, // 002F CALL R3 3 + 0x58100020, // 0030 LDCONST R4 K32 + 0x7C080400, // 0031 CALL R2 2 + 0x50080000, // 0032 LDBOOL R2 0 0 + 0x9002E002, // 0033 SETMBR R0 K112 R2 + 0x8C080335, // 0034 GETMET R2 R1 K53 + 0x58100068, // 0035 LDCONST R4 K104 + 0x58140069, // 0036 LDCONST R5 K105 + 0x88180166, // 0037 GETMBR R6 R0 K102 + 0x881C013A, // 0038 GETMBR R7 R0 K58 + 0x7C080A00, // 0039 CALL R2 5 + 0xA8040001, // 003A EXBLK 1 1 + 0x7002000F, // 003B JMP #004C + 0xAC080002, // 003C CATCH R2 0 2 + 0x7002000C, // 003D JMP #004B + 0xB8123400, // 003E GETNGBL R4 K26 + 0x60140008, // 003F GETGBL R5 G8 + 0x5C180400, // 0040 MOVE R6 R2 + 0x7C140200, // 0041 CALL R5 1 + 0x00167605, // 0042 ADD R5 K59 R5 + 0x00140B3C, // 0043 ADD R5 R5 K60 + 0x60180008, // 0044 GETGBL R6 G8 + 0x5C1C0600, // 0045 MOVE R7 R3 + 0x7C180200, // 0046 CALL R6 1 + 0x00140A06, // 0047 ADD R5 R5 R6 + 0x5818001C, // 0048 LDCONST R6 K28 + 0x7C100400, // 0049 CALL R4 2 + 0x70020000, // 004A JMP #004C + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80000000, // 004C 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(mdns_remove_op_discovery_all_fabrics, -1), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(commissioning_instance_eth, 6), be_const_var(9) }, + { be_const_key_weak(mdns_remove_PASE, 1), be_const_closure(class_Matter_Commissioning_mdns_remove_PASE_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(commissioning_w0, -1), be_const_var(5) }, + { be_const_key_weak(compute_qrcode_content, -1), be_const_closure(class_Matter_Commissioning_compute_qrcode_content_closure) }, + { be_const_key_weak(mdns_remove_op_discovery, -1), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_closure) }, + { be_const_key_weak(commissioning_open, -1), be_const_var(1) }, + { be_const_key_weak(compute_manual_pairing_code, 3), be_const_closure(class_Matter_Commissioning_compute_manual_pairing_code_closure) }, + { be_const_key_weak(device, -1), be_const_var(0) }, + { be_const_key_weak(init, 32), be_const_closure(class_Matter_Commissioning_init_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(start_operational_discovery_deferred, -1), be_const_closure(class_Matter_Commissioning_start_operational_discovery_deferred_closure) }, + { be_const_key_weak(start_commissioning_complete, 8), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_closure) }, + { be_const_key_weak(_mdns_announce_hostname, -1), be_const_closure(class_Matter_Commissioning__mdns_announce_hostname_closure) }, + { be_const_key_weak(start_operational_discovery, 14), be_const_closure(class_Matter_Commissioning_start_operational_discovery_closure) }, + { be_const_key_weak(start_basic_commissioning, 16), be_const_closure(class_Matter_Commissioning_start_basic_commissioning_closure) }, + { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 28), be_const_closure(class_Matter_Commissioning_mdns_announce_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_start_root_basic_commissioning_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(PASE_TIMEOUT, -1), be_const_int(600) }, + { be_const_key_weak(hostname_eth, -1), be_const_var(11) }, + { be_const_key_weak(every_second, 20), be_const_closure(class_Matter_Commissioning_every_second_closure) }, + { be_const_key_weak(commissioning_instance_wifi, 23), be_const_var(8) }, + { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_PASE_closure) }, + { be_const_key_weak(commissioning_L, -1), be_const_var(6) }, + { be_const_key_weak(_init_basic_commissioning, 30), be_const_closure(class_Matter_Commissioning__init_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(is_root_commissioning_open, -1), be_const_closure(class_Matter_Commissioning_is_root_commissioning_open_closure) }, + { be_const_key_weak(start_commissioning_complete_deferred, 38), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_deferred_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(mdns_pase_eth, 12), be_const_var(12) }, + { 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(commissioning_discriminator, -1), be_const_var(3) }, + { 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/solidified_Matter_zz_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h index b13c67c7c..f59edbdea 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h @@ -3,214 +3,291 @@ * Generated code, don't edit * \********************************************************************/ #include "be_constobj.h" -// ktab too big for class 'Matter_Device' - skipping +extern const bclass be_class_Matter_Device; +// compact class 'Matter_Device' ktab size: 255, total: 533 (saved 2224 bytes) +static const bvalue be_ktab_class_Matter_Device[255] = { + /* K0 */ be_nested_str_weak(udp_server), + /* K1 */ be_nested_str_weak(received_ack), + /* K2 */ be_nested_str_weak(started), + /* K3 */ be_nested_str_weak(autoconf_device), + /* K4 */ be_nested_str_weak(_start_udp), + /* K5 */ be_nested_str_weak(UDP_PORT), + /* K6 */ be_nested_str_weak(commissioning), + /* K7 */ be_nested_str_weak(start_mdns_announce_hostnames), + /* K8 */ be_nested_str_weak(sessions), + /* K9 */ be_nested_str_weak(count_active_fabrics), + /* K10 */ be_const_int(0), + /* K11 */ be_nested_str_weak(plugins_persist), + /* K12 */ be_nested_str_weak(save_param), + /* K13 */ be_nested_str_weak(stop_basic_commissioning), + /* K14 */ be_nested_str_weak(mdns_remove_op_discovery_all_fabrics), + /* K15 */ be_const_class(be_class_Matter_Device), + /* K16 */ be_nested_str_weak(), + /* K17 */ be_nested_str_weak(k2l), + /* K18 */ be_nested_str_weak(type), + /* K19 */ be_nested_str_weak(_X20_X25s_X3A_X25s), + /* K20 */ be_nested_str_weak(stop_iteration), + /* K21 */ be_nested_str_weak(crypto), + /* K22 */ be_nested_str_weak(tasmota), + /* K23 */ be_nested_str_weak(get_option), + /* K24 */ be_nested_str_weak(matter), + /* K25 */ be_nested_str_weak(MATTER_OPTION), + /* K26 */ be_nested_str_weak(UI), + /* K27 */ be_nested_str_weak(profiler), + /* K28 */ be_nested_str_weak(Profiler), + /* K29 */ be_nested_str_weak(tick), + /* K30 */ be_nested_str_weak(plugins), + /* K31 */ be_nested_str_weak(plugins_config_remotes), + /* K32 */ be_nested_str_weak(next_ep), + /* K33 */ be_const_int(2), + /* K34 */ be_nested_str_weak(ipv4only), + /* K35 */ be_nested_str_weak(disable_bridge_mode), + /* K36 */ be_nested_str_weak(load_param), + /* K37 */ be_nested_str_weak(Session_Store), + /* K38 */ be_nested_str_weak(load_fabrics), + /* K39 */ be_nested_str_weak(message_handler), + /* K40 */ be_nested_str_weak(MessageHandler), + /* K41 */ be_nested_str_weak(events), + /* K42 */ be_nested_str_weak(EventHandler), + /* K43 */ be_nested_str_weak(ui), + /* K44 */ be_nested_str_weak(wifi), + /* K45 */ be_nested_str_weak(up), + /* K46 */ be_nested_str_weak(eth), + /* K47 */ be_nested_str_weak(start), + /* K48 */ be_nested_str_weak(add_rule), + /* K49 */ be_nested_str_weak(Wifi_X23Connected), + /* K50 */ be_nested_str_weak(matter_start), + /* K51 */ be_nested_str_weak(Eth_X23Connected), + /* K52 */ be_nested_str_weak(Commissioning), + /* K53 */ be_nested_str_weak(add_driver), + /* K54 */ be_nested_str_weak(register_commands), + /* K55 */ be_nested_str_weak(get_name), + /* K56 */ be_const_int(1), + /* K57 */ be_nested_str_weak(find), + /* K58 */ be_nested_str_weak(log), + /* K59 */ be_nested_str_weak(MTR_X3A_X20Starting_X20UDP_X20server_X20on_X20port_X3A_X20), + /* K60 */ be_nested_str_weak(UDPServer), + /* K61 */ be_nested_str_weak(MTR_X3A_X20removing_X20fabric_X20), + /* K62 */ be_nested_str_weak(get_fabric_id), + /* K63 */ be_nested_str_weak(copy), + /* K64 */ be_nested_str_weak(reverse), + /* K65 */ be_nested_str_weak(tohex), + /* K66 */ be_nested_str_weak(im), + /* K67 */ be_nested_str_weak(subs_shop), + /* K68 */ be_nested_str_weak(remove_by_fabric), + /* K69 */ be_nested_str_weak(mdns_remove_op_discovery), + /* K70 */ be_nested_str_weak(remove_fabric), + /* K71 */ be_nested_str_weak(save_fabrics), + /* K72 */ be_nested_str_weak(endpoint), + /* K73 */ be_nested_str_weak(cluster), + /* K74 */ be_nested_str_weak(attribute), + /* K75 */ be_nested_str_weak(find_plugin_by_endpoint), + /* K76 */ be_nested_str_weak(status), + /* K77 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT), + /* K78 */ be_nested_str_weak(contains_cluster), + /* K79 */ be_nested_str_weak(UNSUPPORTED_CLUSTER), + /* K80 */ be_nested_str_weak(contains_attribute), + /* K81 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE), + /* K82 */ be_nested_str_weak(attribute_updated), + /* K83 */ be_const_int(3), + /* K84 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K85 */ be_nested_str_weak(json), + /* K86 */ be_nested_str_weak(plugins_config), + /* K87 */ be_nested_str_weak(autoconf_device_map), + /* K88 */ be_nested_str_weak(adjust_next_ep), + /* K89 */ be_nested_str_weak(MTR_X3A_X20autoconfig_X20_X3D_X20), + /* K90 */ be_nested_str_weak(_instantiate_plugins_from_config), + /* K91 */ be_nested_str_weak(read_sensors), + /* K92 */ be_nested_str_weak(loglevel), + /* K93 */ be_nested_str_weak(MTR_X3A_X20read_sensors_X3A_X20), + /* K94 */ be_nested_str_weak(load), + /* K95 */ be_nested_str_weak(parse_sensors), + /* K96 */ be_nested_str_weak(MTR_X3A_X20unable_X20to_X20parse_X20read_sensors_X3A_X20), + /* K97 */ be_nested_str_weak(get_endpoint), + /* K98 */ be_nested_str_weak(push), + /* K99 */ be_nested_str_weak(send_UDP), + /* K100 */ be_nested_str_weak(remove_driver), + /* K101 */ be_nested_str_weak(stop), + /* K102 */ be_nested_str_weak(keys), + /* K103 */ be_nested_str_weak(probe_sensor_time), + /* K104 */ be_nested_str_weak(probe_sensor_timestamp), + /* K105 */ be_nested_str_weak(jitter), + /* K106 */ be_nested_str_weak(button_handler), + /* K107 */ be_nested_str_weak(http_remotes), + /* K108 */ be_nested_str_weak(contains), + /* K109 */ be_nested_str_weak(get_timeout), + /* K110 */ be_nested_str_weak(set_timeout), + /* K111 */ be_nested_str_weak(HTTP_remote), + /* K112 */ be_nested_str_weak(set_info), + /* K113 */ be_nested_str_weak(k2l_num), + /* K114 */ be_nested_str_weak(Plugin_Root), + /* K115 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints), + /* K116 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s), + /* K117 */ be_nested_str_weak(root), + /* K118 */ be_nested_str_weak(Plugin_Aggregator), + /* K119 */ be_nested_str_weak(aggregator), + /* K120 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping), + /* K121 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed), + /* K122 */ be_nested_str_weak(plugins_classes), + /* K123 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27), + /* K124 */ be_nested_str_weak(_X27_X20skipping), + /* K125 */ be_nested_str_weak(conf_to_log), + /* K126 */ be_nested_str_weak(MTR_X3A_X20Exception), + /* K127 */ be_nested_str_weak(_X7C), + /* K128 */ be_nested_str_weak(publish_result), + /* K129 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D), + /* K130 */ be_nested_str_weak(Matter), + /* K131 */ be_nested_str_weak(remove), + /* K132 */ be_nested_str_weak(DISPLAY_NAME), + /* K133 */ be_nested_str_weak(introspect), + /* K134 */ be_nested_str_weak(get), + /* K135 */ be_nested_str_weak(http_remote), + /* K136 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20), + /* K137 */ be_nested_str_weak(addr), + /* K138 */ be_nested_str_weak(close), + /* K139 */ be_nested_str_weak(MTR_X3A_X20invalid_X20entry_X20with_X20ep_X20_X270_X27), + /* K140 */ be_nested_str_weak(MTR_X3A_X20endpoint_X20_X25s_X20collides_X20wit_X20aggregator_X2C_X20relocating_X20to_X20_X25s), + /* K141 */ be_nested_str_weak(every_second), + /* K142 */ be_nested_str_weak(Path), + /* K143 */ be_nested_str_weak(attribute_updated_ctx), + /* K144 */ be_nested_str_weak(read_sensors_scheduler), + /* K145 */ be_nested_str_weak(every_250ms), + /* K146 */ be_nested_str_weak(PathGenerator), + /* K147 */ be_nested_str_weak(is_direct), + /* K148 */ be_nested_str_weak(next_attribute), + /* K149 */ be_nested_str_weak(get_pi), + /* K150 */ be_nested_str_weak(START_ENDPOINT), + /* K151 */ be_nested_str_weak(light), + /* K152 */ be_nested_str_weak(channels), + /* K153 */ be_nested_str_weak(light1), + /* K154 */ be_nested_str_weak(light2), + /* K155 */ be_nested_str_weak(light3), + /* K156 */ be_nested_str_weak(cmd), + /* K157 */ be_nested_str_weak(Status_X2013), + /* K158 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20), + /* K159 */ be_nested_str_weak(StatusSHT), + /* K160 */ be_nested_str_weak(SHT), + /* K161 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s), + /* K162 */ be_nested_str_weak(Relay1), + /* K163 */ be_nested_str_weak(Relay2), + /* K164 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s), + /* K165 */ be_nested_str_weak(TiltConfig), + /* K166 */ be_nested_str_weak(shutter_X2Btilt), + /* K167 */ be_nested_str_weak(shutter), + /* K168 */ be_nested_str_weak(get_power), + /* K169 */ be_nested_str_weak(relay), + /* K170 */ be_nested_str_weak(autoconf_sensors_list), + /* K171 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s), + /* K172 */ be_nested_str_weak(signal_endpoints_changed), + /* K173 */ be_nested_str_weak(MtrInfo_one), + /* K174 */ be_nested_str_weak(int), + /* K175 */ be_nested_str_weak(find_plugin_by_friendly_name), + /* K176 */ be_nested_str_weak(resp_cmnd_done), + /* K177 */ be_nested_str_weak(FILENAME), + /* K178 */ be_nested_str_weak(read), + /* K179 */ be_nested_str_weak(root_discriminator), + /* K180 */ be_nested_str_weak(distinguish), + /* K181 */ be_nested_str_weak(root_passcode), + /* K182 */ be_nested_str_weak(passcode), + /* K183 */ be_nested_str_weak(nextep), + /* K184 */ be_nested_str_weak(config), + /* K185 */ be_nested_str_weak(debug), + /* K186 */ be_nested_str_weak(MTR_X3A_X20Load_config_X20_X3D_X20_X25s), + /* K187 */ be_nested_str_weak(check_config_ep), + /* K188 */ be_nested_str_weak(remotes), + /* K189 */ be_nested_str_weak(MTR_X3A_X20load_remotes_X20_X3D_X20), + /* K190 */ be_nested_str_weak(io_error), + /* K191 */ be_nested_str_weak(MTR_X3A_X20load_param_X20Exception_X3A), + /* K192 */ be_nested_str_weak(random), + /* K193 */ be_nested_str_weak(generate_random_passcode), + /* K194 */ be_nested_str_weak(resp_cmnd_str), + /* K195 */ be_nested_str_weak(Invalid_X20JSON), + /* K196 */ be_nested_str_weak(find_key_i), + /* K197 */ be_nested_str_weak(Ep), + /* K198 */ be_nested_str_weak(Name), + /* K199 */ be_nested_str_weak(Invalid_X20_X27Ep_X27_X20attribute), + /* K200 */ be_nested_str_weak(Invalid_X20Device), + /* K201 */ be_nested_str_weak(VIRTUAL), + /* K202 */ be_nested_str_weak(Device_X20is_X20not_X20virtual), + /* K203 */ be_nested_str_weak(consolidate_update_commands), + /* K204 */ be_nested_str_weak(find_list_i), + /* K205 */ be_nested_str_weak(Invalid_X20attribute_X20_X27_X25s_X27), + /* K206 */ be_nested_str_weak(update_virtual), + /* K207 */ be_nested_str_weak(state_json), + /* K208 */ be_nested_str_weak(_X7B_X22_X25s_X22_X3A_X25s_X7D), + /* K209 */ be_nested_str_weak(resp_cmnd), + /* K210 */ be_nested_str_weak(Missing_X20_X27Device_X27_X20attribute), + /* K211 */ be_nested_str_weak(add_cmd), + /* K212 */ be_nested_str_weak(MtrJoin), + /* K213 */ be_nested_str_weak(MtrUpdate), + /* K214 */ be_nested_str_weak(MtrInfo), + /* K215 */ be_nested_str_weak(update_remotes_info), + /* K216 */ 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), + /* K217 */ be_nested_str_weak(true), + /* K218 */ be_nested_str_weak(false), + /* K219 */ be_nested_str_weak(_X2C_X22debug_X22_X3Atrue), + /* K220 */ be_nested_str_weak(_X2C_X0A_X22config_X22_X3A), + /* K221 */ be_nested_str_weak(dump), + /* K222 */ be_nested_str_weak(_X2C_X0A_X22remotes_X22_X3A), + /* K223 */ be_nested_str_weak(_X7D), + /* K224 */ be_nested_str_weak(w), + /* K225 */ be_nested_str_weak(write), + /* K226 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20parameters_X25s), + /* K227 */ be_nested_str_weak(_X20and_X20configuration), + /* K228 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A), + /* K229 */ be_nested_str_weak(MTR_X3A_X20Cannot_X20remove_X20an_X20enpoint_X20not_X20configured_X3A_X20), + /* K230 */ be_nested_str_weak(MTR_X3A_X20deleting_X20endpoint_X20_X3D_X20_X25i), + /* K231 */ be_nested_str_weak(clean_remotes), + /* K232 */ be_nested_str_weak(msg_received), + /* K233 */ be_nested_str_weak(invoke_request), + /* K234 */ be_nested_str_weak(time_reached), + /* K235 */ be_nested_str_weak(_trigger_read_sensors), + /* K236 */ be_nested_str_weak(millis), + /* K237 */ be_nested_str_weak(start_root_basic_commissioning), + /* K238 */ be_nested_str_weak(Temperature), + /* K239 */ be_nested_str_weak(_X23Temperature), + /* K240 */ be_nested_str_weak(temperature), + /* K241 */ be_nested_str_weak(filter), + /* K242 */ be_nested_str_weak(Pressure), + /* K243 */ be_nested_str_weak(_X23Pressure), + /* K244 */ be_nested_str_weak(pressure), + /* K245 */ be_nested_str_weak(Illuminance), + /* K246 */ be_nested_str_weak(_X23Illuminance), + /* K247 */ be_nested_str_weak(illuminance), + /* K248 */ be_nested_str_weak(Humidity), + /* K249 */ be_nested_str_weak(_X23Humidity), + /* K250 */ be_nested_str_weak(humidity), + /* K251 */ be_nested_str_weak(_X7B_X22MtrInfo_X22_X3A_X25s_X7D), + /* K252 */ be_nested_str_weak(every_50ms), + /* K253 */ be_nested_str_weak(ARG), + /* K254 */ be_nested_str_weak(get_info), +}; + extern const bclass be_class_Matter_Device; /******************************************************************** -** Solidified function: start_commissioning_complete +** Solidified function: received_ack ********************************************************************/ -be_local_closure(class_Matter_Device_start_commissioning_complete, /* 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[10]) { /* constants */ - /* K0 */ be_nested_str_weak(get_fabric), - /* K1 */ be_nested_str_weak(get_fabric_id), - /* K2 */ be_nested_str_weak(copy), - /* K3 */ be_nested_str_weak(reverse), - /* K4 */ be_nested_str_weak(tohex), - /* K5 */ be_nested_str_weak(get_admin_vendor_name), - /* K6 */ be_nested_str_weak(log), - /* K7 */ 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), - /* K8 */ be_const_int(2), - /* K9 */ be_nested_str_weak(stop_basic_commissioning), - }), - be_str_weak(start_commissioning_complete), - &be_const_str_solidified, - ( &(const binstruction[23]) { /* code */ - 0x8C080300, // 0000 GETMET R2 R1 K0 - 0x7C080200, // 0001 CALL R2 1 - 0x8C0C0501, // 0002 GETMET R3 R2 K1 - 0x7C0C0200, // 0003 CALL R3 1 - 0x8C0C0702, // 0004 GETMET R3 R3 K2 - 0x7C0C0200, // 0005 CALL R3 1 - 0x8C0C0703, // 0006 GETMET R3 R3 K3 - 0x7C0C0200, // 0007 CALL R3 1 - 0x8C0C0704, // 0008 GETMET R3 R3 K4 - 0x7C0C0200, // 0009 CALL R3 1 - 0x8C100505, // 000A GETMET R4 R2 K5 - 0x7C100200, // 000B CALL R4 1 - 0xB8160C00, // 000C GETNGBL R5 K6 - 0x60180018, // 000D GETGBL R6 G24 - 0x581C0007, // 000E LDCONST R7 K7 - 0x5C200600, // 000F MOVE R8 R3 - 0x5C240800, // 0010 MOVE R9 R4 - 0x7C180600, // 0011 CALL R6 3 - 0x581C0008, // 0012 LDCONST R7 K8 - 0x7C140400, // 0013 CALL R5 2 - 0x8C140109, // 0014 GETMET R5 R0 K9 - 0x7C140200, // 0015 CALL R5 1 - 0x80000000, // 0016 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: k2l_num -********************************************************************/ -be_local_closure(class_Matter_Device_k2l_num, /* name */ - be_nested_proto( - 9, /* nstack */ - 1, /* argc */ - 4, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_Device), - /* K1 */ be_nested_str_weak(keys), - /* K2 */ be_nested_str_weak(push), - /* K3 */ be_nested_str_weak(stop_iteration), - /* K4 */ be_const_int(1), - /* K5 */ be_const_int(0), - }), - be_str_weak(k2l_num), - &be_const_str_solidified, - ( &(const binstruction[52]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 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 - 0x8C100101, // 0008 GETMET R4 R0 K1 - 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 - 0x8C140502, // 000E GETMET R5 R2 K2 - 0x601C0009, // 000F GETGBL R7 G9 - 0x5C200800, // 0010 MOVE R8 R4 - 0x7C1C0200, // 0011 CALL R7 1 - 0x7C140400, // 0012 CALL R5 2 - 0x7001FFF7, // 0013 JMP #000C - 0x580C0003, // 0014 LDCONST R3 K3 - 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 - 0x04100904, // 001B SUB R4 R4 K4 - 0x40120804, // 001C CONNECT R4 K4 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 - 0x241C0D05, // 0023 GT R7 R6 K5 - 0x781E0008, // 0024 JMPF R7 #002E - 0x041C0D04, // 0025 SUB R7 R6 K4 - 0x941C0407, // 0026 GETIDX R7 R2 R7 - 0x241C0E05, // 0027 GT R7 R7 R5 - 0x781E0004, // 0028 JMPF R7 #002E - 0x041C0D04, // 0029 SUB R7 R6 K4 - 0x941C0407, // 002A GETIDX R7 R2 R7 - 0x98080C07, // 002B SETIDX R2 R6 R7 - 0x04180D04, // 002C SUB R6 R6 K4 - 0x7001FFF4, // 002D JMP #0023 - 0x98080C05, // 002E SETIDX R2 R6 R5 - 0x7001FFEE, // 002F JMP #001F - 0x580C0003, // 0030 LDCONST R3 K3 - 0xAC0C0200, // 0031 CATCH R3 1 0 - 0xB0080000, // 0032 RAISE 2 R0 R0 - 0x80040400, // 0033 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_fabric -********************************************************************/ -be_local_closure(class_Matter_Device_remove_fabric, /* name */ +be_local_closure(class_Matter_Device_received_ack, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ - 2, /* varg */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_str_weak(log), - /* K1 */ be_nested_str_weak(MTR_X3A_X20removing_X20fabric_X20), - /* K2 */ be_nested_str_weak(get_fabric_id), - /* K3 */ be_nested_str_weak(copy), - /* K4 */ be_nested_str_weak(reverse), - /* K5 */ be_nested_str_weak(tohex), - /* K6 */ be_const_int(2), - /* K7 */ be_nested_str_weak(message_handler), - /* K8 */ be_nested_str_weak(im), - /* K9 */ be_nested_str_weak(subs_shop), - /* K10 */ be_nested_str_weak(remove_by_fabric), - /* K11 */ be_nested_str_weak(mdns_remove_op_discovery), - /* K12 */ be_nested_str_weak(sessions), - /* K13 */ be_nested_str_weak(remove_fabric), - /* K14 */ be_nested_str_weak(save_fabrics), - }), - be_str_weak(remove_fabric), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(received_ack), &be_const_str_solidified, - ( &(const binstruction[32]) { /* code */ - 0x4C080000, // 0000 LDNIL R2 - 0x20080202, // 0001 NE R2 R1 R2 - 0x780A0018, // 0002 JMPF R2 #001C - 0xB80A0000, // 0003 GETNGBL R2 K0 - 0x8C0C0302, // 0004 GETMET R3 R1 K2 - 0x7C0C0200, // 0005 CALL R3 1 - 0x8C0C0703, // 0006 GETMET R3 R3 K3 - 0x7C0C0200, // 0007 CALL R3 1 - 0x8C0C0704, // 0008 GETMET R3 R3 K4 - 0x7C0C0200, // 0009 CALL R3 1 - 0x8C0C0705, // 000A GETMET R3 R3 K5 - 0x7C0C0200, // 000B CALL R3 1 - 0x000E0203, // 000C ADD R3 K1 R3 - 0x58100006, // 000D LDCONST R4 K6 - 0x7C080400, // 000E CALL R2 2 - 0x88080107, // 000F GETMBR R2 R0 K7 - 0x88080508, // 0010 GETMBR R2 R2 K8 - 0x88080509, // 0011 GETMBR R2 R2 K9 - 0x8C08050A, // 0012 GETMET R2 R2 K10 - 0x5C100200, // 0013 MOVE R4 R1 - 0x7C080400, // 0014 CALL R2 2 - 0x8C08010B, // 0015 GETMET R2 R0 K11 - 0x5C100200, // 0016 MOVE R4 R1 - 0x7C080400, // 0017 CALL R2 2 - 0x8808010C, // 0018 GETMBR R2 R0 K12 - 0x8C08050D, // 0019 GETMET R2 R2 K13 - 0x5C100200, // 001A MOVE R4 R1 - 0x7C080400, // 001B CALL R2 2 - 0x8808010C, // 001C GETMBR R2 R0 K12 - 0x8C08050E, // 001D GETMET R2 R2 K14 - 0x7C080200, // 001E CALL R2 1 - 0x80000000, // 001F RET 0 + ( &(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 }) ) ); @@ -218,194 +295,71 @@ be_local_closure(class_Matter_Device_remove_fabric, /* name */ /******************************************************************** -** Solidified function: _mdns_announce_hostname +** Solidified function: start ********************************************************************/ -be_local_closure(class_Matter_Device__mdns_announce_hostname, /* name */ +be_local_closure(class_Matter_Device_start, /* name */ be_nested_proto( - 14, /* nstack */ - 2, /* argc */ - 2, /* varg */ + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[27]) { /* constants */ - /* K0 */ be_nested_str_weak(mdns), - /* K1 */ be_nested_str_weak(string), - /* K2 */ be_nested_str_weak(start), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(eth), - /* K5 */ be_nested_str_weak(hostname_eth), - /* K6 */ be_nested_str_weak(replace), - /* K7 */ be_nested_str_weak(find), - /* K8 */ be_nested_str_weak(mac), - /* K9 */ be_nested_str_weak(_X3A), - /* K10 */ be_nested_str_weak(), - /* K11 */ be_nested_str_weak(ipv4only), - /* K12 */ be_nested_str_weak(contains), - /* K13 */ be_nested_str_weak(ip6local), - /* K14 */ be_nested_str_weak(add_hostname), - /* K15 */ be_nested_str_weak(ip), - /* K16 */ be_nested_str_weak(ip6), - /* K17 */ be_nested_str_weak(log), - /* K18 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29), - /* K19 */ be_const_int(3), - /* K20 */ be_nested_str_weak(wifi), - /* K21 */ be_nested_str_weak(hostname_wifi), - /* K22 */ be_nested_str_weak(MTR_X3A_X20start_X20mDNS_X20on_X20_X25s_X20host_X20_X27_X25s_X2Elocal_X27), - /* K23 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K24 */ be_nested_str_weak(_X7C), - /* K25 */ be_const_int(2), - /* K26 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics), - }), - be_str_weak(_mdns_announce_hostname), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(start), &be_const_str_solidified, - ( &(const binstruction[144]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0xA40E0200, // 0001 IMPORT R3 K1 - 0x8C100502, // 0002 GETMET R4 R2 K2 - 0x7C100200, // 0003 CALL R4 1 - 0xA8020077, // 0004 EXBLK 0 #007D - 0x78060033, // 0005 JMPF R1 #003A - 0xB8120600, // 0006 GETNGBL R4 K3 - 0x8C100904, // 0007 GETMET R4 R4 K4 - 0x7C100200, // 0008 CALL R4 1 - 0x8C140706, // 0009 GETMET R5 R3 K6 - 0x8C1C0907, // 000A GETMET R7 R4 K7 - 0x58240008, // 000B LDCONST R9 K8 - 0x7C1C0400, // 000C CALL R7 2 - 0x58200009, // 000D LDCONST R8 K9 - 0x5824000A, // 000E LDCONST R9 K10 - 0x7C140800, // 000F CALL R5 4 - 0x90020A05, // 0010 SETMBR R0 K5 R5 - 0x8814010B, // 0011 GETMBR R5 R0 K11 - 0x78160003, // 0012 JMPF R5 #0017 - 0x8C14090C, // 0013 GETMET R5 R4 K12 - 0x581C000D, // 0014 LDCONST R7 K13 - 0x7C140400, // 0015 CALL R5 2 - 0x7416000F, // 0016 JMPT R5 #0027 - 0x8C14050E, // 0017 GETMET R5 R2 K14 - 0x881C0105, // 0018 GETMBR R7 R0 K5 - 0x8C200907, // 0019 GETMET R8 R4 K7 - 0x5828000D, // 001A LDCONST R10 K13 - 0x582C000A, // 001B LDCONST R11 K10 - 0x7C200600, // 001C CALL R8 3 - 0x8C240907, // 001D GETMET R9 R4 K7 - 0x582C000F, // 001E LDCONST R11 K15 - 0x5830000A, // 001F LDCONST R12 K10 - 0x7C240600, // 0020 CALL R9 3 - 0x8C280907, // 0021 GETMET R10 R4 K7 - 0x58300010, // 0022 LDCONST R12 K16 - 0x5834000A, // 0023 LDCONST R13 K10 - 0x7C280600, // 0024 CALL R10 3 - 0x7C140A00, // 0025 CALL R5 5 - 0x70020011, // 0026 JMP #0039 - 0xB8162200, // 0027 GETNGBL R5 K17 - 0x60180018, // 0028 GETGBL R6 G24 - 0x581C0012, // 0029 LDCONST R7 K18 - 0x88200105, // 002A GETMBR R8 R0 K5 - 0x8C240907, // 002B GETMET R9 R4 K7 - 0x582C000F, // 002C LDCONST R11 K15 - 0x5830000A, // 002D LDCONST R12 K10 - 0x7C240600, // 002E CALL R9 3 - 0x7C180600, // 002F CALL R6 3 - 0x581C0013, // 0030 LDCONST R7 K19 - 0x7C140400, // 0031 CALL R5 2 - 0x8C14050E, // 0032 GETMET R5 R2 K14 - 0x881C0105, // 0033 GETMBR R7 R0 K5 - 0x8C200907, // 0034 GETMET R8 R4 K7 - 0x5828000F, // 0035 LDCONST R10 K15 - 0x582C000A, // 0036 LDCONST R11 K10 - 0x7C200600, // 0037 CALL R8 3 - 0x7C140600, // 0038 CALL R5 3 - 0x70020032, // 0039 JMP #006D - 0xB8120600, // 003A GETNGBL R4 K3 - 0x8C100914, // 003B GETMET R4 R4 K20 - 0x7C100200, // 003C CALL R4 1 - 0x8C140706, // 003D GETMET R5 R3 K6 - 0x8C1C0907, // 003E GETMET R7 R4 K7 - 0x58240008, // 003F LDCONST R9 K8 - 0x7C1C0400, // 0040 CALL R7 2 - 0x58200009, // 0041 LDCONST R8 K9 - 0x5824000A, // 0042 LDCONST R9 K10 - 0x7C140800, // 0043 CALL R5 4 - 0x90022A05, // 0044 SETMBR R0 K21 R5 - 0x8814010B, // 0045 GETMBR R5 R0 K11 - 0x78160003, // 0046 JMPF R5 #004B - 0x8C14090C, // 0047 GETMET R5 R4 K12 - 0x581C000D, // 0048 LDCONST R7 K13 - 0x7C140400, // 0049 CALL R5 2 - 0x7416000F, // 004A JMPT R5 #005B - 0x8C14050E, // 004B GETMET R5 R2 K14 - 0x881C0115, // 004C GETMBR R7 R0 K21 - 0x8C200907, // 004D GETMET R8 R4 K7 - 0x5828000D, // 004E LDCONST R10 K13 - 0x582C000A, // 004F LDCONST R11 K10 - 0x7C200600, // 0050 CALL R8 3 - 0x8C240907, // 0051 GETMET R9 R4 K7 - 0x582C000F, // 0052 LDCONST R11 K15 - 0x5830000A, // 0053 LDCONST R12 K10 - 0x7C240600, // 0054 CALL R9 3 - 0x8C280907, // 0055 GETMET R10 R4 K7 - 0x58300010, // 0056 LDCONST R12 K16 - 0x5834000A, // 0057 LDCONST R13 K10 - 0x7C280600, // 0058 CALL R10 3 - 0x7C140A00, // 0059 CALL R5 5 - 0x70020011, // 005A JMP #006D - 0xB8162200, // 005B GETNGBL R5 K17 - 0x60180018, // 005C GETGBL R6 G24 - 0x581C0012, // 005D LDCONST R7 K18 - 0x88200115, // 005E GETMBR R8 R0 K21 - 0x8C240907, // 005F GETMET R9 R4 K7 - 0x582C000F, // 0060 LDCONST R11 K15 - 0x5830000A, // 0061 LDCONST R12 K10 - 0x7C240600, // 0062 CALL R9 3 - 0x7C180600, // 0063 CALL R6 3 - 0x581C0013, // 0064 LDCONST R7 K19 - 0x7C140400, // 0065 CALL R5 2 - 0x8C14050E, // 0066 GETMET R5 R2 K14 - 0x881C0115, // 0067 GETMBR R7 R0 K21 - 0x8C200907, // 0068 GETMET R8 R4 K7 - 0x5828000F, // 0069 LDCONST R10 K15 - 0x582C000A, // 006A LDCONST R11 K10 - 0x7C200600, // 006B CALL R8 3 - 0x7C140600, // 006C CALL R5 3 - 0xB8122200, // 006D GETNGBL R4 K17 - 0x60140018, // 006E GETGBL R5 G24 - 0x58180016, // 006F LDCONST R6 K22 - 0x78060001, // 0070 JMPF R1 #0073 - 0x581C0004, // 0071 LDCONST R7 K4 - 0x70020000, // 0072 JMP #0074 - 0x581C0014, // 0073 LDCONST R7 K20 - 0x78060001, // 0074 JMPF R1 #0077 - 0x88200105, // 0075 GETMBR R8 R0 K5 - 0x70020000, // 0076 JMP #0078 - 0x88200115, // 0077 GETMBR R8 R0 K21 - 0x7C140600, // 0078 CALL R5 3 - 0x58180013, // 0079 LDCONST R6 K19 - 0x7C100400, // 007A CALL R4 2 - 0xA8040001, // 007B EXBLK 1 1 - 0x7002000F, // 007C JMP #008D - 0xAC100002, // 007D CATCH R4 0 2 - 0x7002000C, // 007E JMP #008C - 0xB81A2200, // 007F GETNGBL R6 K17 - 0x601C0008, // 0080 GETGBL R7 G8 - 0x5C200800, // 0081 MOVE R8 R4 - 0x7C1C0200, // 0082 CALL R7 1 - 0x001E2E07, // 0083 ADD R7 K23 R7 - 0x001C0F18, // 0084 ADD R7 R7 K24 - 0x60200008, // 0085 GETGBL R8 G8 - 0x5C240A00, // 0086 MOVE R9 R5 - 0x7C200200, // 0087 CALL R8 1 - 0x001C0E08, // 0088 ADD R7 R7 R8 - 0x58200019, // 0089 LDCONST R8 K25 - 0x7C180400, // 008A CALL R6 2 - 0x70020000, // 008B JMP #008D - 0xB0080000, // 008C RAISE 2 R0 R0 - 0x8C10011A, // 008D GETMET R4 R0 K26 - 0x7C100200, // 008E CALL R4 1 - 0x80000000, // 008F RET 0 + ( &(const binstruction[14]) { /* code */ + 0x88040102, // 0000 GETMBR R1 R0 K2 + 0x78060000, // 0001 JMPF R1 #0003 + 0x80000200, // 0002 RET 0 + 0x8C040103, // 0003 GETMET R1 R0 K3 + 0x7C040200, // 0004 CALL R1 1 + 0x8C040104, // 0005 GETMET R1 R0 K4 + 0x880C0105, // 0006 GETMBR R3 R0 K5 + 0x7C040400, // 0007 CALL R1 2 + 0x88040106, // 0008 GETMBR R1 R0 K6 + 0x8C040307, // 0009 GETMET R1 R1 K7 + 0x7C040200, // 000A CALL R1 1 + 0x50040200, // 000B LDBOOL R1 1 0 + 0x90020401, // 000C SETMBR R0 K2 R1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x8C040309, // 0001 GETMET R1 R1 K9 + 0x7C040200, // 0002 CALL R1 1 + 0x2404030A, // 0003 GT R1 R1 K10 + 0x78060005, // 0004 JMPF R1 #000B + 0x8804010B, // 0005 GETMBR R1 R0 K11 + 0x74060003, // 0006 JMPT R1 #000B + 0x50040200, // 0007 LDBOOL R1 1 0 + 0x90021601, // 0008 SETMBR R0 K11 R1 + 0x8C04010C, // 0009 GETMET R1 R0 K12 + 0x7C040200, // 000A CALL R1 1 + 0x80000000, // 000B RET 0 }) ) ); @@ -419,22 +373,19 @@ be_local_closure(class_Matter_Device_save_before_restart, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ - 2, /* varg */ + 10, /* 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(stop_basic_commissioning), - /* K1 */ be_nested_str_weak(mdns_remove_op_discovery_all_fabrics), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(save_before_restart), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ - 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x8C04010D, // 0000 GETMET R1 R0 K13 0x7C040200, // 0001 CALL R1 1 - 0x8C040101, // 0002 GETMET R1 R0 K1 + 0x8C04010E, // 0002 GETMET R1 R0 K14 0x7C040200, // 0003 CALL R1 1 0x80000000, // 0004 RET 0 }) @@ -444,166 +395,46 @@ be_local_closure(class_Matter_Device_save_before_restart, /* name */ /******************************************************************** -** Solidified function: every_second +** Solidified function: conf_to_log ********************************************************************/ -be_local_closure(class_Matter_Device_every_second, /* name */ - be_nested_proto( - 4, /* 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(sessions), - /* K1 */ be_nested_str_weak(every_second), - /* K2 */ be_nested_str_weak(message_handler), - /* K3 */ be_nested_str_weak(events), - /* K4 */ be_nested_str_weak(commissioning_open), - /* K5 */ be_nested_str_weak(tasmota), - /* K6 */ be_nested_str_weak(time_reached), - }), - be_str_weak(every_second), - &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 - 0x88040102, // 0003 GETMBR R1 R0 K2 - 0x8C040301, // 0004 GETMET R1 R1 K1 - 0x7C040200, // 0005 CALL R1 1 - 0x88040103, // 0006 GETMBR R1 R0 K3 - 0x8C040301, // 0007 GETMET R1 R1 K1 - 0x7C040200, // 0008 CALL R1 1 - 0x88040104, // 0009 GETMBR R1 R0 K4 - 0x4C080000, // 000A LDNIL R2 - 0x20040202, // 000B NE R1 R1 R2 - 0x78060006, // 000C JMPF R1 #0014 - 0xB8060A00, // 000D GETNGBL R1 K5 - 0x8C040306, // 000E GETMET R1 R1 K6 - 0x880C0104, // 000F GETMBR R3 R0 K4 - 0x7C040400, // 0010 CALL R1 2 - 0x78060001, // 0011 JMPF R1 #0014 - 0x4C040000, // 0012 LDNIL R1 - 0x90020801, // 0013 SETMBR R0 K4 R1 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: stop -********************************************************************/ -be_local_closure(class_Matter_Device_stop, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(remove_driver), - /* K2 */ be_nested_str_weak(udp_server), - /* K3 */ be_nested_str_weak(stop), - }), - be_str_weak(stop), - &be_const_str_solidified, - ( &(const binstruction[10]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x88040102, // 0004 GETMBR R1 R0 K2 - 0x78060002, // 0005 JMPF R1 #0009 - 0x88040102, // 0006 GETMBR R1 R0 K2 - 0x8C040303, // 0007 GETMET R1 R1 K3 - 0x7C040200, // 0008 CALL R1 1 - 0x80000000, // 0009 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: every_250ms -********************************************************************/ -be_local_closure(class_Matter_Device_every_250ms, /* name */ - be_nested_proto( - 4, /* 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(read_sensors_scheduler), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_weak(plugins), - /* K3 */ be_nested_str_weak(every_250ms), - /* K4 */ be_const_int(1), - }), - be_str_weak(every_250ms), - &be_const_str_solidified, - ( &(const binstruction[15]) { /* code */ - 0x8C040100, // 0000 GETMET R1 R0 K0 - 0x7C040200, // 0001 CALL R1 1 - 0x58040001, // 0002 LDCONST R1 K1 - 0x6008000C, // 0003 GETGBL R2 G12 - 0x880C0102, // 0004 GETMBR R3 R0 K2 - 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 - 0x8C080503, // 000A GETMET R2 R2 K3 - 0x7C080200, // 000B CALL R2 1 - 0x00040304, // 000C ADD R1 R1 K4 - 0x7001FFF4, // 000D JMP #0003 - 0x80000000, // 000E RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: msg_received -********************************************************************/ -be_local_closure(class_Matter_Device_msg_received, /* name */ +be_local_closure(class_Matter_Device_conf_to_log, /* name */ be_nested_proto( 9, /* nstack */ - 4, /* argc */ - 2, /* varg */ + 1, /* argc */ + 12, /* 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(message_handler), - /* K1 */ be_nested_str_weak(msg_received), - }), - be_str_weak(msg_received), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(conf_to_log), &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0x88100100, // 0000 GETMBR R4 R0 K0 - 0x8C100901, // 0001 GETMET R4 R4 K1 - 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 + ( &(const binstruction[24]) { /* code */ + 0x5804000F, // 0000 LDCONST R1 K15 + 0x58080010, // 0001 LDCONST R2 K16 + 0x600C0010, // 0002 GETGBL R3 G16 + 0x8C100311, // 0003 GETMET R4 R1 K17 + 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 + 0x1C140912, // 000A EQ R5 R4 K18 + 0x78160000, // 000B JMPF R5 #000D + 0x7001FFFA, // 000C JMP #0008 + 0x60140018, // 000D GETGBL R5 G24 + 0x58180013, // 000E LDCONST R6 K19 + 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 + 0x580C0014, // 0014 LDCONST R3 K20 + 0xAC0C0200, // 0015 CATCH R3 1 0 + 0xB0080000, // 0016 RAISE 2 R0 R0 + 0x80040400, // 0017 RET 1 R2 }) ) ); @@ -611,41 +442,413 @@ be_local_closure(class_Matter_Device_msg_received, /* name */ /******************************************************************** -** Solidified function: add_read_sensors_schedule +** Solidified function: init ********************************************************************/ -be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */ +be_local_closure(class_Matter_Device_init, /* 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( + 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(start), + /* 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_start), + }), + 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 + 0x580C0004, // 0006 LDCONST R3 K4 + 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[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(start), + /* 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_start), + }), + 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 + 0x580C0004, // 0006 LDCONST R3 K4 + 0x7C000600, // 0007 CALL R0 3 + 0x80000000, // 0008 RET 0 + }) + ), + }), + 1, /* has constants */ + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[105]) { /* code */ + 0xA4062A00, // 0000 IMPORT R1 K21 + 0xB80A2C00, // 0001 GETNGBL R2 K22 + 0x8C080517, // 0002 GETMET R2 R2 K23 + 0xB8123000, // 0003 GETNGBL R4 K24 + 0x88100919, // 0004 GETMBR R4 R4 K25 + 0x7C080400, // 0005 CALL R2 2 + 0x740A0004, // 0006 JMPT R2 #000C + 0xB80A3000, // 0007 GETNGBL R2 K24 + 0x8C08051A, // 0008 GETMET R2 R2 K26 + 0x5C100000, // 0009 MOVE R4 R0 + 0x7C080400, // 000A CALL R2 2 + 0x80000400, // 000B RET 0 + 0xB80A3000, // 000C GETNGBL R2 K24 + 0xB80E3000, // 000D GETNGBL R3 K24 + 0x8C0C071C, // 000E GETMET R3 R3 K28 + 0x7C0C0200, // 000F CALL R3 1 + 0x900A3603, // 0010 SETMBR R2 K27 R3 + 0x50080000, // 0011 LDBOOL R2 0 0 + 0x90020402, // 0012 SETMBR R0 K2 R2 + 0x90023B0A, // 0013 SETMBR R0 K29 K10 + 0x60080012, // 0014 GETGBL R2 G18 + 0x7C080000, // 0015 CALL R2 0 + 0x90023C02, // 0016 SETMBR R0 K30 R2 + 0x50080000, // 0017 LDBOOL R2 0 0 + 0x90021602, // 0018 SETMBR R0 K11 R2 + 0x60080013, // 0019 GETGBL R2 G19 + 0x7C080000, // 001A CALL R2 0 + 0x90023E02, // 001B SETMBR R0 K31 R2 + 0x90024121, // 001C SETMBR R0 K32 K33 + 0x50080000, // 001D LDBOOL R2 0 0 + 0x90024402, // 001E SETMBR R0 K34 R2 + 0x50080000, // 001F LDBOOL R2 0 0 + 0x90024602, // 0020 SETMBR R0 K35 R2 + 0x8C080124, // 0021 GETMET R2 R0 K36 + 0x7C080200, // 0022 CALL R2 1 + 0xB80A3000, // 0023 GETNGBL R2 K24 + 0x8C080525, // 0024 GETMET R2 R2 K37 + 0x5C100000, // 0025 MOVE R4 R0 + 0x7C080400, // 0026 CALL R2 2 + 0x90021002, // 0027 SETMBR R0 K8 R2 + 0x88080108, // 0028 GETMBR R2 R0 K8 + 0x8C080526, // 0029 GETMET R2 R2 K38 + 0x7C080200, // 002A CALL R2 1 + 0xB80A3000, // 002B GETNGBL R2 K24 + 0x8C080528, // 002C GETMET R2 R2 K40 + 0x5C100000, // 002D MOVE R4 R0 + 0x7C080400, // 002E CALL R2 2 + 0x90024E02, // 002F SETMBR R0 K39 R2 + 0xB80A3000, // 0030 GETNGBL R2 K24 + 0x8C08052A, // 0031 GETMET R2 R2 K42 + 0x5C100000, // 0032 MOVE R4 R0 + 0x7C080400, // 0033 CALL R2 2 + 0x90025202, // 0034 SETMBR R0 K41 R2 + 0xB80A3000, // 0035 GETNGBL R2 K24 + 0x8C08051A, // 0036 GETMET R2 R2 K26 + 0x5C100000, // 0037 MOVE R4 R0 + 0x7C080400, // 0038 CALL R2 2 + 0x90025602, // 0039 SETMBR R0 K43 R2 + 0xB80A2C00, // 003A GETNGBL R2 K22 + 0x8C08052C, // 003B GETMET R2 R2 K44 + 0x7C080200, // 003C CALL R2 1 + 0x9408052D, // 003D GETIDX R2 R2 K45 + 0x740A0004, // 003E JMPT R2 #0044 + 0xB80A2C00, // 003F GETNGBL R2 K22 + 0x8C08052E, // 0040 GETMET R2 R2 K46 + 0x7C080200, // 0041 CALL R2 1 + 0x9408052D, // 0042 GETIDX R2 R2 K45 + 0x780A0001, // 0043 JMPF R2 #0046 + 0x8C08012F, // 0044 GETMET R2 R0 K47 + 0x7C080200, // 0045 CALL R2 1 + 0xB80A2C00, // 0046 GETNGBL R2 K22 + 0x8C08052C, // 0047 GETMET R2 R2 K44 + 0x7C080200, // 0048 CALL R2 1 + 0x9408052D, // 0049 GETIDX R2 R2 K45 + 0x740A0005, // 004A JMPT R2 #0051 + 0xB80A2C00, // 004B GETNGBL R2 K22 + 0x8C080530, // 004C GETMET R2 R2 K48 + 0x58100031, // 004D LDCONST R4 K49 + 0x84140000, // 004E CLOSURE R5 P0 + 0x58180032, // 004F LDCONST R6 K50 + 0x7C080800, // 0050 CALL R2 4 + 0xB80A2C00, // 0051 GETNGBL R2 K22 + 0x8C08052E, // 0052 GETMET R2 R2 K46 + 0x7C080200, // 0053 CALL R2 1 + 0x9408052D, // 0054 GETIDX R2 R2 K45 + 0x740A0005, // 0055 JMPT R2 #005C + 0xB80A2C00, // 0056 GETNGBL R2 K22 + 0x8C080530, // 0057 GETMET R2 R2 K48 + 0x58100033, // 0058 LDCONST R4 K51 + 0x84140001, // 0059 CLOSURE R5 P1 + 0x58180032, // 005A LDCONST R6 K50 + 0x7C080800, // 005B CALL R2 4 + 0xB80A3000, // 005C GETNGBL R2 K24 + 0x8C080534, // 005D GETMET R2 R2 K52 + 0x5C100000, // 005E MOVE R4 R0 + 0x7C080400, // 005F CALL R2 2 + 0x90020C02, // 0060 SETMBR R0 K6 R2 + 0xB80A2C00, // 0061 GETNGBL R2 K22 + 0x8C080535, // 0062 GETMET R2 R2 K53 + 0x5C100000, // 0063 MOVE R4 R0 + 0x7C080400, // 0064 CALL R2 2 + 0x8C080136, // 0065 GETMET R2 R0 K54 + 0x7C080200, // 0066 CALL R2 1 + 0xA0000000, // 0067 CLOSE R0 + 0x80000000, // 0068 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 + 0x1C08050A, // 0006 EQ R2 R2 K10 + 0x780A0001, // 0007 JMPF R2 #000A + 0x4C080000, // 0008 LDNIL R2 + 0x80040400, // 0009 RET 1 R2 + 0x5808000A, // 000A LDCONST R2 K10 + 0x600C000C, // 000B GETGBL R3 G12 + 0x8810011E, // 000C GETMBR R4 R0 K30 + 0x7C0C0200, // 000D CALL R3 1 + 0x140C0403, // 000E LT R3 R2 R3 + 0x780E0010, // 000F JMPF R3 #0021 + 0x880C011E, // 0010 GETMBR R3 R0 K30 + 0x940C0602, // 0011 GETIDX R3 R3 R2 + 0x8C100737, // 0012 GETMET R4 R3 K55 + 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 + 0x24140B0A, // 001A GT R5 R5 K10 + 0x78160002, // 001B JMPF R5 #001F + 0x1C140801, // 001C EQ R5 R4 R1 + 0x78160000, // 001D JMPF R5 #001F + 0x80040600, // 001E RET 1 R3 + 0x00080538, // 001F ADD R2 R2 K56 + 0x7001FFE9, // 0020 JMP #000B + 0x4C0C0000, // 0021 LDNIL R3 + 0x80040600, // 0022 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x8808011F, // 0000 GETMBR R2 R0 K31 + 0x8C080539, // 0001 GETMET R2 R2 K57 + 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: _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 + 0xB80A7400, // 0007 GETNGBL R2 K58 + 0x600C0008, // 0008 GETGBL R3 G8 + 0x5C100200, // 0009 MOVE R4 R1 + 0x7C0C0200, // 000A CALL R3 1 + 0x000E7603, // 000B ADD R3 K59 R3 + 0x58100021, // 000C LDCONST R4 K33 + 0x7C080400, // 000D CALL R2 2 + 0xB80A3000, // 000E GETNGBL R2 K24 + 0x8C08053C, // 000F GETMET R2 R2 K60 + 0x5C100000, // 0010 MOVE R4 R0 + 0x58140010, // 0011 LDCONST R5 K16 + 0x5C180200, // 0012 MOVE R6 R1 + 0x7C080800, // 0013 CALL R2 4 + 0x90020002, // 0014 SETMBR R0 K0 R2 + 0x88080100, // 0015 GETMBR R2 R0 K0 + 0x8C08052F, // 0016 GETMET R2 R2 K47 + 0x84100000, // 0017 CLOSURE R4 P0 + 0x7C080400, // 0018 CALL R2 2 + 0xA0000000, // 0019 CLOSE R0 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_fabric +********************************************************************/ +be_local_closure(class_Matter_Device_remove_fabric, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ - 2, /* varg */ + 10, /* 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(probe_sensor_time), - /* K1 */ be_nested_str_weak(probe_sensor_timestamp), - /* K2 */ be_nested_str_weak(matter), - /* K3 */ be_nested_str_weak(jitter), - }), - be_str_weak(add_read_sensors_schedule), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(remove_fabric), &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x4C0C0000, // 0001 LDNIL R3 - 0x1C080403, // 0002 EQ R2 R2 R3 - 0x740A0002, // 0003 JMPT R2 #0007 - 0x88080100, // 0004 GETMBR R2 R0 K0 - 0x24080401, // 0005 GT R2 R2 R1 - 0x780A0005, // 0006 JMPF R2 #000D - 0x90020001, // 0007 SETMBR R0 K0 R1 - 0xB80A0400, // 0008 GETNGBL R2 K2 - 0x8C080503, // 0009 GETMET R2 R2 K3 - 0x5C100200, // 000A MOVE R4 R1 - 0x7C080400, // 000B CALL R2 2 - 0x90020202, // 000C SETMBR R0 K1 R2 - 0x80000000, // 000D RET 0 + ( &(const binstruction[33]) { /* code */ + 0x4C080000, // 0000 LDNIL R2 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0019, // 0002 JMPF R2 #001D + 0xB80A7400, // 0003 GETNGBL R2 K58 + 0x8C0C033E, // 0004 GETMET R3 R1 K62 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C0C073F, // 0006 GETMET R3 R3 K63 + 0x7C0C0200, // 0007 CALL R3 1 + 0x8C0C0740, // 0008 GETMET R3 R3 K64 + 0x7C0C0200, // 0009 CALL R3 1 + 0x8C0C0741, // 000A GETMET R3 R3 K65 + 0x7C0C0200, // 000B CALL R3 1 + 0x000E7A03, // 000C ADD R3 K61 R3 + 0x58100021, // 000D LDCONST R4 K33 + 0x7C080400, // 000E CALL R2 2 + 0x88080127, // 000F GETMBR R2 R0 K39 + 0x88080542, // 0010 GETMBR R2 R2 K66 + 0x88080543, // 0011 GETMBR R2 R2 K67 + 0x8C080544, // 0012 GETMET R2 R2 K68 + 0x5C100200, // 0013 MOVE R4 R1 + 0x7C080400, // 0014 CALL R2 2 + 0x88080106, // 0015 GETMBR R2 R0 K6 + 0x8C080545, // 0016 GETMET R2 R2 K69 + 0x5C100200, // 0017 MOVE R4 R1 + 0x7C080400, // 0018 CALL R2 2 + 0x88080108, // 0019 GETMBR R2 R0 K8 + 0x8C080546, // 001A GETMET R2 R2 K70 + 0x5C100200, // 001B MOVE R4 R1 + 0x7C080400, // 001C CALL R2 2 + 0x88080108, // 001D GETMBR R2 R0 K8 + 0x8C080547, // 001E GETMET R2 R2 K71 + 0x7C080200, // 001F CALL R2 1 + 0x80000000, // 0020 RET 0 }) ) ); @@ -653,50 +856,69 @@ be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */ /******************************************************************** -** Solidified function: attribute_updated +** Solidified function: resolve_attribute_read_solo ********************************************************************/ -be_local_closure(class_Matter_Device_attribute_updated, /* name */ +be_local_closure(class_Matter_Device_resolve_attribute_read_solo, /* name */ be_nested_proto( 10, /* nstack */ - 5, /* argc */ - 2, /* varg */ + 2, /* argc */ + 10, /* 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(Path), - /* K2 */ be_nested_str_weak(endpoint), - /* K3 */ be_nested_str_weak(cluster), - /* K4 */ be_nested_str_weak(attribute), - /* K5 */ be_nested_str_weak(message_handler), - /* K6 */ be_nested_str_weak(im), - /* K7 */ be_nested_str_weak(subs_shop), - /* K8 */ be_nested_str_weak(attribute_updated_ctx), - }), - be_str_weak(attribute_updated), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(resolve_attribute_read_solo), &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 - 0xB8160000, // 0004 GETNGBL R5 K0 - 0x8C140B01, // 0005 GETMET R5 R5 K1 - 0x7C140200, // 0006 CALL R5 1 - 0x90160401, // 0007 SETMBR R5 K2 R1 - 0x90160602, // 0008 SETMBR R5 K3 R2 - 0x90160803, // 0009 SETMBR R5 K4 R3 - 0x88180105, // 000A GETMBR R6 R0 K5 - 0x88180D06, // 000B GETMBR R6 R6 K6 - 0x88180D07, // 000C GETMBR R6 R6 K7 - 0x8C180D08, // 000D GETMET R6 R6 K8 - 0x5C200A00, // 000E MOVE R8 R5 - 0x5C240800, // 000F MOVE R9 R4 - 0x7C180600, // 0010 CALL R6 3 - 0x80000000, // 0011 RET 0 + ( &(const binstruction[47]) { /* code */ + 0x88080348, // 0000 GETMBR R2 R1 K72 + 0x880C0349, // 0001 GETMBR R3 R1 K73 + 0x8810034A, // 0002 GETMBR R4 R1 K74 + 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 + 0x8C14014B, // 000E GETMET R5 R0 K75 + 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 + 0xB81A3000, // 0014 GETNGBL R6 K24 + 0x88180D4D, // 0015 GETMBR R6 R6 K77 + 0x90069806, // 0016 SETMBR R1 K76 R6 + 0x4C180000, // 0017 LDNIL R6 + 0x80040C00, // 0018 RET 1 R6 + 0x70020013, // 0019 JMP #002E + 0x8C180B4E, // 001A GETMET R6 R5 K78 + 0x5C200600, // 001B MOVE R8 R3 + 0x7C180400, // 001C CALL R6 2 + 0x741A0005, // 001D JMPT R6 #0024 + 0xB81A3000, // 001E GETNGBL R6 K24 + 0x88180D4F, // 001F GETMBR R6 R6 K79 + 0x90069806, // 0020 SETMBR R1 K76 R6 + 0x4C180000, // 0021 LDNIL R6 + 0x80040C00, // 0022 RET 1 R6 + 0x70020009, // 0023 JMP #002E + 0x8C180B50, // 0024 GETMET R6 R5 K80 + 0x5C200600, // 0025 MOVE R8 R3 + 0x5C240800, // 0026 MOVE R9 R4 + 0x7C180600, // 0027 CALL R6 3 + 0x741A0004, // 0028 JMPT R6 #002E + 0xB81A3000, // 0029 GETNGBL R6 K24 + 0x88180D51, // 002A GETMBR R6 R6 K81 + 0x90069806, // 002B SETMBR R1 K76 R6 + 0x4C180000, // 002C LDNIL R6 + 0x80040C00, // 002D RET 1 R6 + 0x80040A00, // 002E RET 1 R5 }) ) ); @@ -704,55 +926,36 @@ be_local_closure(class_Matter_Device_attribute_updated, /* name */ /******************************************************************** -** Solidified function: invoke_request +** Solidified function: signal_endpoints_changed ********************************************************************/ -be_local_closure(class_Matter_Device_invoke_request, /* name */ +be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */ be_nested_proto( - 12, /* nstack */ - 4, /* argc */ - 2, /* varg */ + 7, /* nstack */ + 1, /* argc */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_weak(endpoint), - /* K2 */ be_nested_str_weak(plugins), - /* K3 */ be_nested_str_weak(invoke_request), - /* K4 */ be_const_int(1), - /* K5 */ be_nested_str_weak(status), - /* K6 */ be_nested_str_weak(matter), - /* K7 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT), - }), - be_str_weak(invoke_request), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(signal_endpoints_changed), &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0x58100000, // 0000 LDCONST R4 K0 - 0x88140701, // 0001 GETMBR R5 R3 K1 - 0x6018000C, // 0002 GETGBL R6 G12 - 0x881C0102, // 0003 GETMBR R7 R0 K2 - 0x7C180200, // 0004 CALL R6 1 - 0x14180806, // 0005 LT R6 R4 R6 - 0x781A000C, // 0006 JMPF R6 #0014 - 0x88180102, // 0007 GETMBR R6 R0 K2 - 0x94180C04, // 0008 GETIDX R6 R6 R4 - 0x881C0D01, // 0009 GETMBR R7 R6 K1 - 0x1C1C0E05, // 000A EQ R7 R7 R5 - 0x781E0005, // 000B JMPF R7 #0012 - 0x8C1C0D03, // 000C GETMET R7 R6 K3 - 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 - 0x00100904, // 0012 ADD R4 R4 K4 - 0x7001FFED, // 0013 JMP #0002 - 0xB81A0C00, // 0014 GETNGBL R6 K6 - 0x88180D07, // 0015 GETMBR R6 R6 K7 - 0x900E0A06, // 0016 SETMBR R3 K5 R6 - 0x80000000, // 0017 RET 0 + ( &(const binstruction[14]) { /* code */ + 0x8C040152, // 0000 GETMET R1 R0 K82 + 0x580C000A, // 0001 LDCONST R3 K10 + 0x5412001C, // 0002 LDINT R4 29 + 0x58140053, // 0003 LDCONST R5 K83 + 0x50180000, // 0004 LDBOOL R6 0 0 + 0x7C040A00, // 0005 CALL R1 5 + 0x8C040152, // 0006 GETMET R1 R0 K82 + 0xB80E3000, // 0007 GETNGBL R3 K24 + 0x880C0754, // 0008 GETMBR R3 R3 K84 + 0x5412001C, // 0009 LDINT R4 29 + 0x58140053, // 000A LDCONST R5 K83 + 0x50180000, // 000B LDBOOL R6 0 0 + 0x7C040A00, // 000C CALL R1 5 + 0x80000000, // 000D RET 0 }) ) ); @@ -766,69 +969,53 @@ be_local_closure(class_Matter_Device_autoconf_device, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ - 2, /* varg */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_str_weak(json), - /* K1 */ be_nested_str_weak(plugins), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(plugins_persist), - /* K4 */ be_nested_str_weak(plugins_config), - /* K5 */ be_nested_str_weak(autoconf_device_map), - /* K6 */ be_nested_str_weak(plugins_config_remotes), - /* K7 */ be_nested_str_weak(adjust_next_ep), - /* K8 */ be_nested_str_weak(log), - /* K9 */ be_nested_str_weak(MTR_X3A_X20autoconfig_X20_X3D_X20), - /* K10 */ be_const_int(3), - /* K11 */ be_nested_str_weak(_instantiate_plugins_from_config), - /* K12 */ be_nested_str_weak(sessions), - /* K13 */ be_nested_str_weak(count_active_fabrics), - /* K14 */ be_nested_str_weak(save_param), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(autoconf_device), &be_const_str_solidified, ( &(const binstruction[39]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 + 0xA406AA00, // 0000 IMPORT R1 K85 0x6008000C, // 0001 GETGBL R2 G12 - 0x880C0101, // 0002 GETMBR R3 R0 K1 + 0x880C011E, // 0002 GETMBR R3 R0 K30 0x7C080200, // 0003 CALL R2 1 - 0x24080502, // 0004 GT R2 R2 K2 + 0x2408050A, // 0004 GT R2 R2 K10 0x780A0000, // 0005 JMPF R2 #0007 0x80000400, // 0006 RET 0 - 0x88080103, // 0007 GETMBR R2 R0 K3 + 0x8808010B, // 0007 GETMBR R2 R0 K11 0x740A000E, // 0008 JMPT R2 #0018 - 0x8C080105, // 0009 GETMET R2 R0 K5 + 0x8C080157, // 0009 GETMET R2 R0 K87 0x7C080200, // 000A CALL R2 1 - 0x90020802, // 000B SETMBR R0 K4 R2 + 0x9002AC02, // 000B SETMBR R0 K86 R2 0x60080013, // 000C GETGBL R2 G19 0x7C080000, // 000D CALL R2 0 - 0x90020C02, // 000E SETMBR R0 K6 R2 - 0x8C080107, // 000F GETMET R2 R0 K7 + 0x90023E02, // 000E SETMBR R0 K31 R2 + 0x8C080158, // 000F GETMET R2 R0 K88 0x7C080200, // 0010 CALL R2 1 - 0xB80A1000, // 0011 GETNGBL R2 K8 + 0xB80A7400, // 0011 GETNGBL R2 K58 0x600C0008, // 0012 GETGBL R3 G8 - 0x88100104, // 0013 GETMBR R4 R0 K4 + 0x88100156, // 0013 GETMBR R4 R0 K86 0x7C0C0200, // 0014 CALL R3 1 - 0x000E1203, // 0015 ADD R3 K9 R3 - 0x5810000A, // 0016 LDCONST R4 K10 + 0x000EB203, // 0015 ADD R3 K89 R3 + 0x58100053, // 0016 LDCONST R4 K83 0x7C080400, // 0017 CALL R2 2 - 0x8C08010B, // 0018 GETMET R2 R0 K11 - 0x88100104, // 0019 GETMBR R4 R0 K4 + 0x8C08015A, // 0018 GETMET R2 R0 K90 + 0x88100156, // 0019 GETMBR R4 R0 K86 0x7C080400, // 001A CALL R2 2 - 0x88080103, // 001B GETMBR R2 R0 K3 + 0x8808010B, // 001B GETMBR R2 R0 K11 0x740A0008, // 001C JMPT R2 #0026 - 0x8808010C, // 001D GETMBR R2 R0 K12 - 0x8C08050D, // 001E GETMET R2 R2 K13 + 0x88080108, // 001D GETMBR R2 R0 K8 + 0x8C080509, // 001E GETMET R2 R2 K9 0x7C080200, // 001F CALL R2 1 - 0x24080502, // 0020 GT R2 R2 K2 + 0x2408050A, // 0020 GT R2 R2 K10 0x780A0003, // 0021 JMPF R2 #0026 0x50080200, // 0022 LDBOOL R2 1 0 - 0x90020602, // 0023 SETMBR R0 K3 R2 - 0x8C08010E, // 0024 GETMET R2 R0 K14 + 0x90021602, // 0023 SETMBR R0 K11 R2 + 0x8C08010C, // 0024 GETMET R2 R0 K12 0x7C080200, // 0025 CALL R2 1 0x80000000, // 0026 RET 0 }) @@ -837,6 +1024,631 @@ be_local_closure(class_Matter_Device_autoconf_device, /* name */ /*******************************************************************/ +/******************************************************************** +** 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 */ + 0xA406AA00, // 0000 IMPORT R1 K85 + 0xB80A2C00, // 0001 GETNGBL R2 K22 + 0x8C08055B, // 0002 GETMET R2 R2 K91 + 0x7C080200, // 0003 CALL R2 1 + 0xB80E2C00, // 0004 GETNGBL R3 K22 + 0x8C0C075C, // 0005 GETMET R3 R3 K92 + 0x58140053, // 0006 LDCONST R5 K83 + 0x7C0C0400, // 0007 CALL R3 2 + 0x780E0006, // 0008 JMPF R3 #0010 + 0xB80E7400, // 0009 GETNGBL R3 K58 + 0x60100008, // 000A GETGBL R4 G8 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C100200, // 000C CALL R4 1 + 0x0012BA04, // 000D ADD R4 K93 R4 + 0x58140053, // 000E LDCONST R5 K83 + 0x7C0C0400, // 000F CALL R3 2 + 0x4C0C0000, // 0010 LDNIL R3 + 0x1C0C0403, // 0011 EQ R3 R2 R3 + 0x780E0000, // 0012 JMPF R3 #0014 + 0x80000600, // 0013 RET 0 + 0x8C0C035E, // 0014 GETMET R3 R1 K94 + 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 + 0x5810000A, // 001A LDCONST R4 K10 + 0x6014000C, // 001B GETGBL R5 G12 + 0x8818011E, // 001C GETMBR R6 R0 K30 + 0x7C140200, // 001D CALL R5 1 + 0x14140805, // 001E LT R5 R4 R5 + 0x78160006, // 001F JMPF R5 #0027 + 0x8814011E, // 0020 GETMBR R5 R0 K30 + 0x94140A04, // 0021 GETIDX R5 R5 R4 + 0x8C140B5F, // 0022 GETMET R5 R5 K95 + 0x5C1C0600, // 0023 MOVE R7 R3 + 0x7C140400, // 0024 CALL R5 2 + 0x00100938, // 0025 ADD R4 R4 K56 + 0x7001FFF3, // 0026 JMP #001B + 0x70020006, // 0027 JMP #002F + 0xB8127400, // 0028 GETNGBL R4 K58 + 0x60140008, // 0029 GETGBL R5 G8 + 0x5C180400, // 002A MOVE R6 R2 + 0x7C140200, // 002B CALL R5 1 + 0x0016C005, // 002C ADD R5 K96 R5 + 0x58180053, // 002D LDCONST R6 K83 + 0x7C100400, // 002E CALL R4 2 + 0x80000000, // 002F 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 + 0x8810011E, // 0003 GETMBR R4 R0 K30 + 0x7C0C0200, // 0004 CALL R3 1 + 0xA8020011, // 0005 EXBLK 0 #0018 + 0x5C100600, // 0006 MOVE R4 R3 + 0x7C100000, // 0007 CALL R4 0 + 0x8C140961, // 0008 GETMET R5 R4 K97 + 0x7C140200, // 0009 CALL R5 1 + 0x78060002, // 000A JMPF R1 #000E + 0x1C180B0A, // 000B EQ R6 R5 K10 + 0x781A0000, // 000C JMPF R6 #000E + 0x7001FFF7, // 000D JMP #0006 + 0x8C180539, // 000E GETMET R6 R2 K57 + 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 + 0x8C180562, // 0014 GETMET R6 R2 K98 + 0x5C200A00, // 0015 MOVE R8 R5 + 0x7C180400, // 0016 CALL R6 2 + 0x7001FFED, // 0017 JMP #0006 + 0x580C0014, // 0018 LDCONST R3 K20 + 0xAC0C0200, // 0019 CATCH R3 1 0 + 0xB0080000, // 001A RAISE 2 R0 R0 + 0x80040400, // 001B RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 + 0x8C080563, // 0001 GETMET R2 R2 K99 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0xB8062C00, // 0000 GETNGBL R1 K22 + 0x8C040364, // 0001 GETMET R1 R1 K100 + 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 + 0x8C040365, // 0007 GETMET R1 R1 K101 + 0x7C040200, // 0008 CALL R1 1 + 0x80000000, // 0009 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 + 0x88080156, // 0001 GETMBR R2 R0 K86 + 0x8C080566, // 0002 GETMET R2 R2 K102 + 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 + 0x88100120, // 000B GETMBR R4 R0 K32 + 0x28100604, // 000C GE R4 R3 R4 + 0x78120001, // 000D JMPF R4 #0010 + 0x00100738, // 000E ADD R4 R3 K56 + 0x90024004, // 000F SETMBR R0 K32 R4 + 0x7001FFF4, // 0010 JMP #0006 + 0x58040014, // 0011 LDCONST R1 K20 + 0xAC040200, // 0012 CATCH R1 1 0 + 0xB0080000, // 0013 RAISE 2 R0 R0 + 0x80000000, // 0014 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 */ + 0x88080167, // 0000 GETMBR R2 R0 K103 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x740A0002, // 0003 JMPT R2 #0007 + 0x88080167, // 0004 GETMBR R2 R0 K103 + 0x24080401, // 0005 GT R2 R2 R1 + 0x780A0005, // 0006 JMPF R2 #000D + 0x9002CE01, // 0007 SETMBR R0 K103 R1 + 0xB80A3000, // 0008 GETNGBL R2 K24 + 0x8C080569, // 0009 GETMET R2 R2 K105 + 0x5C100200, // 000A MOVE R4 R1 + 0x7C080400, // 000B CALL R2 2 + 0x9002D002, // 000C SETMBR R0 K104 R2 + 0x80000000, // 000D 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 + 0x8C1C016A, // 000E GETMET R7 R0 K106 + 0x00240B38, // 000F ADD R9 R5 K56 + 0x20280604, // 0010 NE R10 R3 R4 + 0x782A0001, // 0011 JMPF R10 #0014 + 0x58280038, // 0012 LDCONST R10 K56 + 0x70020000, // 0013 JMP #0015 + 0x5828000A, // 0014 LDCONST R10 K10 + 0x780E0001, // 0015 JMPF R3 #0018 + 0x582C000A, // 0016 LDCONST R11 K10 + 0x70020000, // 0017 JMP #0019 + 0x582C0038, // 0018 LDCONST R11 K56 + 0x5C300C00, // 0019 MOVE R12 R6 + 0x7C1C0A00, // 001A CALL R7 5 + 0x80000000, // 001B 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 */ + 0x880C016B, // 0000 GETMBR R3 R0 K107 + 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 + 0x9002D603, // 0006 SETMBR R0 K107 R3 + 0x4C0C0000, // 0007 LDNIL R3 + 0x8810016B, // 0008 GETMBR R4 R0 K107 + 0x8C10096C, // 0009 GETMET R4 R4 K108 + 0x5C180200, // 000A MOVE R6 R1 + 0x7C100400, // 000B CALL R4 2 + 0x78120009, // 000C JMPF R4 #0017 + 0x8810016B, // 000D GETMBR R4 R0 K107 + 0x940C0801, // 000E GETIDX R3 R4 R1 + 0x8C14076D, // 000F GETMET R5 R3 K109 + 0x7C140200, // 0010 CALL R5 1 + 0x14140405, // 0011 LT R5 R2 R5 + 0x78160002, // 0012 JMPF R5 #0016 + 0x8C14076E, // 0013 GETMET R5 R3 K110 + 0x5C1C0400, // 0014 MOVE R7 R2 + 0x7C140400, // 0015 CALL R5 2 + 0x70020011, // 0016 JMP #0029 + 0xB8123000, // 0017 GETNGBL R4 K24 + 0x8C10096F, // 0018 GETMET R4 R4 K111 + 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 + 0x8810011F, // 001E GETMBR R4 R0 K31 + 0x8C10096C, // 001F GETMET R4 R4 K108 + 0x5C180200, // 0020 MOVE R6 R1 + 0x7C100400, // 0021 CALL R4 2 + 0x78120003, // 0022 JMPF R4 #0027 + 0x8C100770, // 0023 GETMET R4 R3 K112 + 0x8818011F, // 0024 GETMBR R6 R0 K31 + 0x94180C01, // 0025 GETIDX R6 R6 R1 + 0x7C100400, // 0026 CALL R4 2 + 0x8810016B, // 0027 GETMBR R4 R0 K107 + 0x98100203, // 0028 SETIDX R4 R1 R3 + 0x80040600, // 0029 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: _instantiate_plugins_from_config +********************************************************************/ +be_local_closure(class_Matter_Device__instantiate_plugins_from_config, /* 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_Device, /* shared constants */ + be_str_weak(_instantiate_plugins_from_config), + &be_const_str_solidified, + ( &(const binstruction[146]) { /* code */ + 0x8C080171, // 0000 GETMET R2 R0 K113 + 0x5C100200, // 0001 MOVE R4 R1 + 0x7C080400, // 0002 CALL R2 2 + 0x880C011E, // 0003 GETMBR R3 R0 K30 + 0x8C0C0762, // 0004 GETMET R3 R3 K98 + 0xB8163000, // 0005 GETNGBL R5 K24 + 0x8C140B72, // 0006 GETMET R5 R5 K114 + 0x5C1C0000, // 0007 MOVE R7 R0 + 0x5820000A, // 0008 LDCONST R8 K10 + 0x60240013, // 0009 GETGBL R9 G19 + 0x7C240000, // 000A CALL R9 0 + 0x7C140800, // 000B CALL R5 4 + 0x7C0C0400, // 000C CALL R3 2 + 0xB80E7400, // 000D GETNGBL R3 K58 + 0x58100073, // 000E LDCONST R4 K115 + 0x58140021, // 000F LDCONST R5 K33 + 0x7C0C0400, // 0010 CALL R3 2 + 0xB80E7400, // 0011 GETNGBL R3 K58 + 0x60100018, // 0012 GETGBL R4 G24 + 0x58140074, // 0013 LDCONST R5 K116 + 0x5818000A, // 0014 LDCONST R6 K10 + 0x581C0075, // 0015 LDCONST R7 K117 + 0x58200010, // 0016 LDCONST R8 K16 + 0x7C100800, // 0017 CALL R4 4 + 0x58140021, // 0018 LDCONST R5 K33 + 0x7C0C0400, // 0019 CALL R3 2 + 0x880C011E, // 001A GETMBR R3 R0 K30 + 0x8C0C0762, // 001B GETMET R3 R3 K98 + 0xB8163000, // 001C GETNGBL R5 K24 + 0x8C140B76, // 001D GETMET R5 R5 K118 + 0x5C1C0000, // 001E MOVE R7 R0 + 0xB8223000, // 001F GETNGBL R8 K24 + 0x88201154, // 0020 GETMBR R8 R8 K84 + 0x60240013, // 0021 GETGBL R9 G19 + 0x7C240000, // 0022 CALL R9 0 + 0x7C140800, // 0023 CALL R5 4 + 0x7C0C0400, // 0024 CALL R3 2 + 0xB80E7400, // 0025 GETNGBL R3 K58 + 0x60100018, // 0026 GETGBL R4 G24 + 0x58140074, // 0027 LDCONST R5 K116 + 0xB81A3000, // 0028 GETNGBL R6 K24 + 0x88180D54, // 0029 GETMBR R6 R6 K84 + 0x581C0077, // 002A LDCONST R7 K119 + 0x58200010, // 002B LDCONST R8 K16 + 0x7C100800, // 002C CALL R4 4 + 0x58140021, // 002D LDCONST R5 K33 + 0x7C0C0400, // 002E CALL R3 2 + 0x600C0010, // 002F GETGBL R3 G16 + 0x5C100400, // 0030 MOVE R4 R2 + 0x7C0C0200, // 0031 CALL R3 1 + 0xA8020055, // 0032 EXBLK 0 #0089 + 0x5C100600, // 0033 MOVE R4 R3 + 0x7C100000, // 0034 CALL R4 0 + 0x1C14090A, // 0035 EQ R5 R4 K10 + 0x78160000, // 0036 JMPF R5 #0038 + 0x7001FFFA, // 0037 JMP #0033 + 0xA802003E, // 0038 EXBLK 0 #0078 + 0x60140008, // 0039 GETGBL R5 G8 + 0x5C180800, // 003A MOVE R6 R4 + 0x7C140200, // 003B CALL R5 1 + 0x94140205, // 003C GETIDX R5 R1 R5 + 0x8C180B39, // 003D GETMET R6 R5 K57 + 0x58200012, // 003E LDCONST R8 K18 + 0x7C180400, // 003F CALL R6 2 + 0x4C1C0000, // 0040 LDNIL R7 + 0x1C1C0C07, // 0041 EQ R7 R6 R7 + 0x781E0005, // 0042 JMPF R7 #0049 + 0xB81E7400, // 0043 GETNGBL R7 K58 + 0x58200078, // 0044 LDCONST R8 K120 + 0x58240053, // 0045 LDCONST R9 K83 + 0x7C1C0400, // 0046 CALL R7 2 + 0xA8040001, // 0047 EXBLK 1 1 + 0x7001FFE9, // 0048 JMP #0033 + 0x1C1C0D75, // 0049 EQ R7 R6 K117 + 0x781E0005, // 004A JMPF R7 #0051 + 0xB81E7400, // 004B GETNGBL R7 K58 + 0x58200079, // 004C LDCONST R8 K121 + 0x58240053, // 004D LDCONST R9 K83 + 0x7C1C0400, // 004E CALL R7 2 + 0xA8040001, // 004F EXBLK 1 1 + 0x7001FFE1, // 0050 JMP #0033 + 0x881C017A, // 0051 GETMBR R7 R0 K122 + 0x8C1C0F39, // 0052 GETMET R7 R7 K57 + 0x5C240C00, // 0053 MOVE R9 R6 + 0x7C1C0400, // 0054 CALL R7 2 + 0x4C200000, // 0055 LDNIL R8 + 0x1C200E08, // 0056 EQ R8 R7 R8 + 0x78220009, // 0057 JMPF R8 #0062 + 0xB8227400, // 0058 GETNGBL R8 K58 + 0x60240008, // 0059 GETGBL R9 G8 + 0x5C280C00, // 005A MOVE R10 R6 + 0x7C240200, // 005B CALL R9 1 + 0x0026F609, // 005C ADD R9 K123 R9 + 0x0024137C, // 005D ADD R9 R9 K124 + 0x58280021, // 005E LDCONST R10 K33 + 0x7C200400, // 005F CALL R8 2 + 0xA8040001, // 0060 EXBLK 1 1 + 0x7001FFD0, // 0061 JMP #0033 + 0x5C200E00, // 0062 MOVE R8 R7 + 0x5C240000, // 0063 MOVE R9 R0 + 0x5C280800, // 0064 MOVE R10 R4 + 0x5C2C0A00, // 0065 MOVE R11 R5 + 0x7C200600, // 0066 CALL R8 3 + 0x8824011E, // 0067 GETMBR R9 R0 K30 + 0x8C241362, // 0068 GETMET R9 R9 K98 + 0x5C2C1000, // 0069 MOVE R11 R8 + 0x7C240400, // 006A CALL R9 2 + 0xB8267400, // 006B GETNGBL R9 K58 + 0x60280018, // 006C GETGBL R10 G24 + 0x582C0074, // 006D LDCONST R11 K116 + 0x5C300800, // 006E MOVE R12 R4 + 0x5C340C00, // 006F MOVE R13 R6 + 0x8C38017D, // 0070 GETMET R14 R0 K125 + 0x5C400A00, // 0071 MOVE R16 R5 + 0x7C380400, // 0072 CALL R14 2 + 0x7C280800, // 0073 CALL R10 4 + 0x582C0021, // 0074 LDCONST R11 K33 + 0x7C240400, // 0075 CALL R9 2 + 0xA8040001, // 0076 EXBLK 1 1 + 0x7002000F, // 0077 JMP #0088 + 0xAC140002, // 0078 CATCH R5 0 2 + 0x7002000C, // 0079 JMP #0087 + 0xB81E7400, // 007A GETNGBL R7 K58 + 0x60200008, // 007B GETGBL R8 G8 + 0x5C240A00, // 007C MOVE R9 R5 + 0x7C200200, // 007D CALL R8 1 + 0x0022FC08, // 007E ADD R8 K126 R8 + 0x0020117F, // 007F ADD R8 R8 K127 + 0x60240008, // 0080 GETGBL R9 G8 + 0x5C280C00, // 0081 MOVE R10 R6 + 0x7C240200, // 0082 CALL R9 1 + 0x00201009, // 0083 ADD R8 R8 R9 + 0x58240021, // 0084 LDCONST R9 K33 + 0x7C1C0400, // 0085 CALL R7 2 + 0x70020000, // 0086 JMP #0088 + 0xB0080000, // 0087 RAISE 2 R0 R0 + 0x7001FFA9, // 0088 JMP #0033 + 0x580C0014, // 0089 LDCONST R3 K20 + 0xAC0C0200, // 008A CATCH R3 1 0 + 0xB0080000, // 008B RAISE 2 R0 R0 + 0xB80E2C00, // 008C GETNGBL R3 K22 + 0x8C0C0780, // 008D GETMET R3 R3 K128 + 0x58140081, // 008E LDCONST R5 K129 + 0x58180082, // 008F LDCONST R6 K130 + 0x7C0C0600, // 0090 CALL R3 3 + 0x80000000, // 0091 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 */ + 0x5804000F, // 0000 LDCONST R1 K15 + 0x60080010, // 0001 GETGBL R2 G16 + 0x600C000C, // 0002 GETGBL R3 G12 + 0x5C100000, // 0003 MOVE R4 R0 + 0x7C0C0200, // 0004 CALL R3 1 + 0x040C0738, // 0005 SUB R3 R3 K56 + 0x400E7003, // 0006 CONNECT R3 K56 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 + 0x24180B0A, // 000D GT R6 R5 K10 + 0x781A0008, // 000E JMPF R6 #0018 + 0x04180B38, // 000F SUB R6 R5 K56 + 0x94180006, // 0010 GETIDX R6 R0 R6 + 0x24180C04, // 0011 GT R6 R6 R4 + 0x781A0004, // 0012 JMPF R6 #0018 + 0x04180B38, // 0013 SUB R6 R5 K56 + 0x94180006, // 0014 GETIDX R6 R0 R6 + 0x98000A06, // 0015 SETIDX R0 R5 R6 + 0x04140B38, // 0016 SUB R5 R5 K56 + 0x7001FFF4, // 0017 JMP #000D + 0x98000A04, // 0018 SETIDX R0 R5 R4 + 0x7001FFEE, // 0019 JMP #0009 + 0x58080014, // 001A LDCONST R2 K20 + 0xAC080200, // 001B CATCH R2 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x58080038, // 001D LDCONST R2 K56 + 0x600C000C, // 001E GETGBL R3 G12 + 0x5C100000, // 001F MOVE R4 R0 + 0x7C0C0200, // 0020 CALL R3 1 + 0x180C0738, // 0021 LE R3 R3 K56 + 0x780E0000, // 0022 JMPF R3 #0024 + 0x80040000, // 0023 RET 1 R0 + 0x940C010A, // 0024 GETIDX R3 R0 K10 + 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 + 0x8C100183, // 002D GETMET R4 R0 K131 + 0x5C180400, // 002E MOVE R6 R2 + 0x7C100400, // 002F CALL R4 2 + 0x70020001, // 0030 JMP #0033 + 0x940C0002, // 0031 GETIDX R3 R0 R2 + 0x00080538, // 0032 ADD R2 R2 K56 + 0x7001FFF0, // 0033 JMP #0025 + 0x80040000, // 0034 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: get_plugin_class_displayname ********************************************************************/ @@ -844,29 +1656,24 @@ be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ - 2, /* varg */ + 10, /* 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(plugins_classes), - /* K1 */ be_nested_str_weak(find), - /* K2 */ be_nested_str_weak(DISPLAY_NAME), - /* K3 */ be_nested_str_weak(), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(get_plugin_class_displayname), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x8808017A, // 0000 GETMBR R2 R0 K122 + 0x8C080539, // 0001 GETMET R2 R2 K57 0x5C100200, // 0002 MOVE R4 R1 0x7C080400, // 0003 CALL R2 2 0x780A0001, // 0004 JMPF R2 #0007 - 0x880C0502, // 0005 GETMBR R3 R2 K2 + 0x880C0584, // 0005 GETMBR R3 R2 K132 0x70020000, // 0006 JMP #0008 - 0x580C0003, // 0007 LDCONST R3 K3 + 0x580C0010, // 0007 LDCONST R3 K16 0x80040600, // 0008 RET 1 R3 }) ) @@ -875,34 +1682,39 @@ be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */ /******************************************************************** -** Solidified function: every_50ms +** Solidified function: find_plugin_by_endpoint ********************************************************************/ -be_local_closure(class_Matter_Device_every_50ms, /* name */ +be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* name */ be_nested_proto( - 3, /* nstack */ - 1, /* argc */ - 2, /* varg */ + 6, /* nstack */ + 2, /* argc */ + 10, /* 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(tick), - /* K1 */ be_const_int(1), - /* K2 */ be_nested_str_weak(message_handler), - /* K3 */ be_nested_str_weak(every_50ms), - }), - be_str_weak(every_50ms), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(find_plugin_by_endpoint), &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x00040301, // 0001 ADD R1 R1 K1 - 0x90020001, // 0002 SETMBR R0 K0 R1 - 0x88040102, // 0003 GETMBR R1 R0 K2 - 0x8C040303, // 0004 GETMET R1 R1 K3 - 0x7C040200, // 0005 CALL R1 1 - 0x80000000, // 0006 RET 0 + ( &(const binstruction[17]) { /* code */ + 0x5808000A, // 0000 LDCONST R2 K10 + 0x600C000C, // 0001 GETGBL R3 G12 + 0x8810011E, // 0002 GETMBR R4 R0 K30 + 0x7C0C0200, // 0003 CALL R3 1 + 0x140C0403, // 0004 LT R3 R2 R3 + 0x780E0008, // 0005 JMPF R3 #000F + 0x880C011E, // 0006 GETMBR R3 R0 K30 + 0x940C0602, // 0007 GETIDX R3 R3 R2 + 0x8C100761, // 0008 GETMET R4 R3 K97 + 0x7C100200, // 0009 CALL R4 1 + 0x1C100801, // 000A EQ R4 R4 R1 + 0x78120000, // 000B JMPF R4 #000D + 0x80040600, // 000C RET 1 R3 + 0x00080538, // 000D ADD R2 R2 K56 + 0x7001FFF1, // 000E JMP #0001 + 0x4C0C0000, // 000F LDNIL R3 + 0x80040600, // 0010 RET 1 R3 }) ) ); @@ -910,54 +1722,1224 @@ be_local_closure(class_Matter_Device_every_50ms, /* name */ /******************************************************************** -** Solidified function: button_handler +** Solidified function: clean_remotes ********************************************************************/ -be_local_closure(class_Matter_Device_button_handler, /* name */ +be_local_closure(class_Matter_Device_clean_remotes, /* name */ be_nested_proto( - 14, /* nstack */ - 5, /* argc */ - 2, /* varg */ + 10, /* nstack */ + 1, /* argc */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_weak(introspect), - /* K2 */ be_nested_str_weak(plugins), - /* K3 */ be_nested_str_weak(contains), - /* K4 */ be_nested_str_weak(button_handler), - /* K5 */ be_const_int(1), - }), - be_str_weak(button_handler), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(clean_remotes), &be_const_str_solidified, - ( &(const binstruction[25]) { /* code */ - 0x58140000, // 0000 LDCONST R5 K0 - 0xA41A0200, // 0001 IMPORT R6 K1 - 0x601C000C, // 0002 GETGBL R7 G12 - 0x88200102, // 0003 GETMBR R8 R0 K2 - 0x7C1C0200, // 0004 CALL R7 1 - 0x141C0A07, // 0005 LT R7 R5 R7 - 0x781E0010, // 0006 JMPF R7 #0018 - 0x881C0102, // 0007 GETMBR R7 R0 K2 - 0x941C0E05, // 0008 GETIDX R7 R7 R5 - 0x8C200D03, // 0009 GETMET R8 R6 K3 - 0x5C280E00, // 000A MOVE R10 R7 - 0x582C0004, // 000B LDCONST R11 K4 - 0x7C200600, // 000C CALL R8 3 - 0x78220007, // 000D JMPF R8 #0016 - 0x88200102, // 000E GETMBR R8 R0 K2 - 0x94201005, // 000F GETIDX R8 R8 R5 - 0x8C201104, // 0010 GETMET R8 R8 K4 - 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 - 0x00140B05, // 0016 ADD R5 R5 K5 - 0x7001FFE9, // 0017 JMP #0002 - 0x80000000, // 0018 RET 0 + ( &(const binstruction[80]) { /* code */ + 0xA4070A00, // 0000 IMPORT R1 K133 + 0x8808016B, // 0001 GETMBR R2 R0 K107 + 0x780A004B, // 0002 JMPF R2 #004F + 0x60080013, // 0003 GETGBL R2 G19 + 0x7C080000, // 0004 CALL R2 0 + 0x600C0010, // 0005 GETGBL R3 G16 + 0x8810016B, // 0006 GETMBR R4 R0 K107 + 0x7C0C0200, // 0007 CALL R3 1 + 0xA8020003, // 0008 EXBLK 0 #000D + 0x5C100600, // 0009 MOVE R4 R3 + 0x7C100000, // 000A CALL R4 0 + 0x9808090A, // 000B SETIDX R2 R4 K10 + 0x7001FFFB, // 000C JMP #0009 + 0x580C0014, // 000D LDCONST R3 K20 + 0xAC0C0200, // 000E CATCH R3 1 0 + 0xB0080000, // 000F RAISE 2 R0 R0 + 0x600C0010, // 0010 GETGBL R3 G16 + 0x8810011E, // 0011 GETMBR R4 R0 K30 + 0x7C0C0200, // 0012 CALL R3 1 + 0xA802000F, // 0013 EXBLK 0 #0024 + 0x5C100600, // 0014 MOVE R4 R3 + 0x7C100000, // 0015 CALL R4 0 + 0x8C140386, // 0016 GETMET R5 R1 K134 + 0x5C1C0800, // 0017 MOVE R7 R4 + 0x58200087, // 0018 LDCONST R8 K135 + 0x7C140600, // 0019 CALL R5 3 + 0x4C180000, // 001A LDNIL R6 + 0x20180A06, // 001B NE R6 R5 R6 + 0x781A0005, // 001C JMPF R6 #0023 + 0x8C180539, // 001D GETMET R6 R2 K57 + 0x5C200A00, // 001E MOVE R8 R5 + 0x5824000A, // 001F LDCONST R9 K10 + 0x7C180600, // 0020 CALL R6 3 + 0x00180D38, // 0021 ADD R6 R6 K56 + 0x98080A06, // 0022 SETIDX R2 R5 R6 + 0x7001FFEF, // 0023 JMP #0014 + 0x580C0014, // 0024 LDCONST R3 K20 + 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 + 0x8C140566, // 002A GETMET R5 R2 K102 + 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 + 0x1C180D0A, // 0031 EQ R6 R6 K10 + 0x781A0002, // 0032 JMPF R6 #0036 + 0x8C180762, // 0033 GETMET R6 R3 K98 + 0x5C200A00, // 0034 MOVE R8 R5 + 0x7C180400, // 0035 CALL R6 2 + 0x7001FFF6, // 0036 JMP #002E + 0x58100014, // 0037 LDCONST R4 K20 + 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 + 0xB81A7400, // 0040 GETNGBL R6 K58 + 0x881C0B89, // 0041 GETMBR R7 R5 K137 + 0x001F1007, // 0042 ADD R7 K136 R7 + 0x58200053, // 0043 LDCONST R8 K83 + 0x7C180400, // 0044 CALL R6 2 + 0x8C180B8A, // 0045 GETMET R6 R5 K138 + 0x7C180200, // 0046 CALL R6 1 + 0x8818016B, // 0047 GETMBR R6 R0 K107 + 0x8C180D83, // 0048 GETMET R6 R6 K131 + 0x88200B89, // 0049 GETMBR R8 R5 K137 + 0x7C180400, // 004A CALL R6 2 + 0x7001FFF1, // 004B JMP #003E + 0x58100014, // 004C LDCONST R4 K20 + 0xAC100200, // 004D CATCH R4 1 0 + 0xB0080000, // 004E RAISE 2 R0 R0 + 0x80000000, // 004F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 + 0x88100156, // 0004 GETMBR R4 R0 K86 + 0x8C100966, // 0005 GETMET R4 R4 K102 + 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 + 0x8C140562, // 000B GETMET R5 R2 K98 + 0x601C0009, // 000C GETGBL R7 G9 + 0x5C200800, // 000D MOVE R8 R4 + 0x7C1C0200, // 000E CALL R7 1 + 0x7C140400, // 000F CALL R5 2 + 0x7001FFF7, // 0010 JMP #0009 + 0x580C0014, // 0011 LDCONST R3 K20 + 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 + 0x1C14090A, // 001A EQ R5 R4 K10 + 0x7816000B, // 001B JMPF R5 #0028 + 0xB8167400, // 001C GETNGBL R5 K58 + 0x5818008B, // 001D LDCONST R6 K139 + 0x581C0021, // 001E LDCONST R7 K33 + 0x7C140400, // 001F CALL R5 2 + 0x88140156, // 0020 GETMBR R5 R0 K86 + 0x8C140B83, // 0021 GETMET R5 R5 K131 + 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 + 0xB8163000, // 0028 GETNGBL R5 K24 + 0x88140B54, // 0029 GETMBR R5 R5 K84 + 0x1C140805, // 002A EQ R5 R4 R5 + 0x7816001B, // 002B JMPF R5 #0048 + 0x50040200, // 002C LDBOOL R1 1 0 + 0xB8167400, // 002D GETNGBL R5 K58 + 0x60180018, // 002E GETGBL R6 G24 + 0x581C008C, // 002F LDCONST R7 K140 + 0x5C200800, // 0030 MOVE R8 R4 + 0x88240120, // 0031 GETMBR R9 R0 K32 + 0x7C180600, // 0032 CALL R6 3 + 0x581C0021, // 0033 LDCONST R7 K33 + 0x7C140400, // 0034 CALL R5 2 + 0x60140008, // 0035 GETGBL R5 G8 + 0x88180120, // 0036 GETMBR R6 R0 K32 + 0x7C140200, // 0037 CALL R5 1 + 0x88180156, // 0038 GETMBR R6 R0 K86 + 0x601C0008, // 0039 GETGBL R7 G8 + 0x5C200800, // 003A MOVE R8 R4 + 0x7C1C0200, // 003B CALL R7 1 + 0x88200156, // 003C GETMBR R8 R0 K86 + 0x941C1007, // 003D GETIDX R7 R8 R7 + 0x98180A07, // 003E SETIDX R6 R5 R7 + 0x88140156, // 003F GETMBR R5 R0 K86 + 0x8C140B83, // 0040 GETMET R5 R5 K131 + 0x601C0008, // 0041 GETGBL R7 G8 + 0x5C200800, // 0042 MOVE R8 R4 + 0x7C1C0200, // 0043 CALL R7 1 + 0x7C140400, // 0044 CALL R5 2 + 0x88140120, // 0045 GETMBR R5 R0 K32 + 0x00140B38, // 0046 ADD R5 R5 K56 + 0x90024005, // 0047 SETMBR R0 K32 R5 + 0x7001FFCE, // 0048 JMP #0018 + 0x580C0014, // 0049 LDCONST R3 K20 + 0xAC0C0200, // 004A CATCH R3 1 0 + 0xB0080000, // 004B RAISE 2 R0 R0 + 0x80040200, // 004C RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x88040108, // 0000 GETMBR R1 R0 K8 + 0x8C04038D, // 0001 GETMET R1 R1 K141 + 0x7C040200, // 0002 CALL R1 1 + 0x88040127, // 0003 GETMBR R1 R0 K39 + 0x8C04038D, // 0004 GETMET R1 R1 K141 + 0x7C040200, // 0005 CALL R1 1 + 0x88040129, // 0006 GETMBR R1 R0 K41 + 0x8C04038D, // 0007 GETMET R1 R1 K141 + 0x7C040200, // 0008 CALL R1 1 + 0x88040106, // 0009 GETMBR R1 R0 K6 + 0x8C04038D, // 000A GETMET R1 R1 K141 + 0x7C040200, // 000B CALL R1 1 + 0x80000000, // 000C 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 + 0xB8163000, // 0004 GETNGBL R5 K24 + 0x8C140B8E, // 0005 GETMET R5 R5 K142 + 0x7C140200, // 0006 CALL R5 1 + 0x90169001, // 0007 SETMBR R5 K72 R1 + 0x90169202, // 0008 SETMBR R5 K73 R2 + 0x90169403, // 0009 SETMBR R5 K74 R3 + 0x88180127, // 000A GETMBR R6 R0 K39 + 0x88180D42, // 000B GETMBR R6 R6 K66 + 0x88180D43, // 000C GETMBR R6 R6 K67 + 0x8C180D8F, // 000D GETMET R6 R6 K143 + 0x5C200A00, // 000E MOVE R8 R5 + 0x5C240800, // 000F MOVE R9 R4 + 0x7C180600, // 0010 CALL R6 3 + 0x80000000, // 0011 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 */ + 0x5804000F, // 0000 LDCONST R1 K15 + 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 + 0x8C100166, // 0008 GETMET R4 R0 K102 + 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 + 0x8C140562, // 000E GETMET R5 R2 K98 + 0x601C0009, // 000F GETGBL R7 G9 + 0x5C200800, // 0010 MOVE R8 R4 + 0x7C1C0200, // 0011 CALL R7 1 + 0x7C140400, // 0012 CALL R5 2 + 0x7001FFF7, // 0013 JMP #000C + 0x580C0014, // 0014 LDCONST R3 K20 + 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 + 0x04100938, // 001B SUB R4 R4 K56 + 0x40127004, // 001C CONNECT R4 K56 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 + 0x241C0D0A, // 0023 GT R7 R6 K10 + 0x781E0008, // 0024 JMPF R7 #002E + 0x041C0D38, // 0025 SUB R7 R6 K56 + 0x941C0407, // 0026 GETIDX R7 R2 R7 + 0x241C0E05, // 0027 GT R7 R7 R5 + 0x781E0004, // 0028 JMPF R7 #002E + 0x041C0D38, // 0029 SUB R7 R6 K56 + 0x941C0407, // 002A GETIDX R7 R2 R7 + 0x98080C07, // 002B SETIDX R2 R6 R7 + 0x04180D38, // 002C SUB R6 R6 K56 + 0x7001FFF4, // 002D JMP #0023 + 0x98080C05, // 002E SETIDX R2 R6 R5 + 0x7001FFEE, // 002F JMP #001F + 0x580C0014, // 0030 LDCONST R3 K20 + 0xAC0C0200, // 0031 CATCH R3 1 0 + 0xB0080000, // 0032 RAISE 2 R0 R0 + 0x80040400, // 0033 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 + 0x8C14016A, // 0006 GETMET R5 R0 K106 + 0x001C0938, // 0007 ADD R7 R4 K56 + 0x58200021, // 0008 LDCONST R8 K33 + 0x5824000A, // 0009 LDCONST R9 K10 + 0x5C280600, // 000A MOVE R10 R3 + 0x7C140A00, // 000B CALL R5 5 + 0x80000000, // 000C 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 */ + 0x8C040190, // 0000 GETMET R1 R0 K144 + 0x7C040200, // 0001 CALL R1 1 + 0x5804000A, // 0002 LDCONST R1 K10 + 0x6008000C, // 0003 GETGBL R2 G12 + 0x880C011E, // 0004 GETMBR R3 R0 K30 + 0x7C080200, // 0005 CALL R2 1 + 0x14080202, // 0006 LT R2 R1 R2 + 0x780A0005, // 0007 JMPF R2 #000E + 0x8808011E, // 0008 GETMBR R2 R0 K30 + 0x94080401, // 0009 GETIDX R2 R2 R1 + 0x8C080591, // 000A GETMET R2 R2 K145 + 0x7C080200, // 000B CALL R2 1 + 0x00040338, // 000C ADD R1 R1 K56 + 0x7001FFF4, // 000D JMP #0003 + 0x80000000, // 000E RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x880C0348, // 0000 GETMBR R3 R1 K72 + 0x88100349, // 0001 GETMBR R4 R1 K73 + 0x8814034A, // 0002 GETMBR R5 R1 K74 + 0xB81A3000, // 0003 GETNGBL R6 K24 + 0x8C180D92, // 0004 GETMET R6 R6 K146 + 0x5C200000, // 0005 MOVE R8 R0 + 0x7C180400, // 0006 CALL R6 2 + 0x8C1C0D2F, // 0007 GETMET R7 R6 K47 + 0x5C240600, // 0008 MOVE R9 R3 + 0x5C280800, // 0009 MOVE R10 R4 + 0x5C2C0A00, // 000A MOVE R11 R5 + 0x7C1C0800, // 000B CALL R7 4 + 0x8C1C0D93, // 000C GETMET R7 R6 K147 + 0x7C1C0200, // 000D CALL R7 1 + 0x4C200000, // 000E LDNIL R8 + 0x8C240D94, // 000F GETMET R9 R6 K148 + 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 + 0x8C280D95, // 0016 GETMET R10 R6 K149 + 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: autoconf_device_map +********************************************************************/ +be_local_closure(class_Matter_Device_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_Device, /* shared constants */ + be_str_weak(autoconf_device_map), + &be_const_str_solidified, + ( &(const binstruction[262]) { /* code */ + 0xA406AA00, // 0000 IMPORT R1 K85 + 0x60080013, // 0001 GETGBL R2 G19 + 0x7C080000, // 0002 CALL R2 0 + 0xB80E3000, // 0003 GETNGBL R3 K24 + 0x880C0796, // 0004 GETMBR R3 R3 K150 + 0x5810000A, // 0005 LDCONST R4 K10 + 0xA4172E00, // 0006 IMPORT R5 K151 + 0x8C180B86, // 0007 GETMET R6 R5 K134 + 0x5820000A, // 0008 LDCONST R8 K10 + 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 + 0x8C200D39, // 000E GETMET R8 R6 K57 + 0x58280098, // 000F LDCONST R10 K152 + 0x582C0010, // 0010 LDCONST R11 K16 + 0x7C200600, // 0011 CALL R8 3 + 0x7C1C0200, // 0012 CALL R7 1 + 0x58100038, // 0013 LDCONST R4 K56 + 0x24200F0A, // 0014 GT R8 R7 K10 + 0x7822005D, // 0015 JMPF R8 #0074 + 0x1C200F38, // 0016 EQ R8 R7 K56 + 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 + 0x98262599, // 001D SETIDX R9 K18 K153 + 0x98081009, // 001E SETIDX R2 R8 R9 + 0x000C0738, // 001F ADD R3 R3 K56 + 0x58200038, // 0020 LDCONST R8 K56 + 0x4C240000, // 0021 LDNIL R9 + 0x8C280B86, // 0022 GETMET R10 R5 K134 + 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 + 0x982E2599, // 002E SETIDX R11 K18 K153 + 0x00301138, // 002F ADD R12 R8 K56 + 0x982F2E0C, // 0030 SETIDX R11 K151 R12 + 0x9808140B, // 0031 SETIDX R2 R10 R11 + 0x000C0738, // 0032 ADD R3 R3 K56 + 0x00100938, // 0033 ADD R4 R4 K56 + 0x00201138, // 0034 ADD R8 R8 K56 + 0x7001FFEB, // 0035 JMP #0022 + 0x7002003C, // 0036 JMP #0074 + 0x1C200F21, // 0037 EQ R8 R7 K33 + 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 + 0x9826259A, // 003E SETIDX R9 K18 K154 + 0x98081009, // 003F SETIDX R2 R8 R9 + 0x000C0738, // 0040 ADD R3 R3 K56 + 0x70020031, // 0041 JMP #0074 + 0x1C200F53, // 0042 EQ R8 R7 K83 + 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 + 0x9826259B, // 0049 SETIDX R9 K18 K155 + 0x98081009, // 004A SETIDX R2 R8 R9 + 0x000C0738, // 004B ADD R3 R3 K56 + 0x8C200B86, // 004C GETMET R8 R5 K134 + 0x58280038, // 004D LDCONST R10 K56 + 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 + 0x8C281139, // 0053 GETMET R10 R8 K57 + 0x58300098, // 0054 LDCONST R12 K152 + 0x58340010, // 0055 LDCONST R13 K16 + 0x7C280600, // 0056 CALL R10 3 + 0x7C240200, // 0057 CALL R9 1 + 0x1C281338, // 0058 EQ R10 R9 K56 + 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 + 0x982E2599, // 005F SETIDX R11 K18 K153 + 0x9808140B, // 0060 SETIDX R2 R10 R11 + 0x000C0738, // 0061 ADD R3 R3 K56 + 0x00100938, // 0062 ADD R4 R4 K56 + 0x7002000A, // 0063 JMP #006F + 0x1C281321, // 0064 EQ R10 R9 K33 + 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 + 0x982E259A, // 006B SETIDX R11 K18 K154 + 0x9808140B, // 006C SETIDX R2 R10 R11 + 0x000C0738, // 006D ADD R3 R3 K56 + 0x00100938, // 006E ADD R4 R4 K56 + 0x70020003, // 006F JMP #0074 + 0x54220003, // 0070 LDINT R8 4 + 0x1C200E08, // 0071 EQ R8 R7 R8 + 0x78220000, // 0072 JMPF R8 #0074 + 0x7001FFFF, // 0073 JMP #0074 + 0xB81E2C00, // 0074 GETNGBL R7 K22 + 0x8C1C0F9C, // 0075 GETMET R7 R7 K156 + 0x5824009D, // 0076 LDCONST R9 K157 + 0x50280200, // 0077 LDBOOL R10 1 0 + 0x7C1C0600, // 0078 CALL R7 3 + 0x60200012, // 0079 GETGBL R8 G18 + 0x7C200000, // 007A CALL R8 0 + 0xB8267400, // 007B GETNGBL R9 K58 + 0x60280008, // 007C GETGBL R10 G8 + 0x5C2C0E00, // 007D MOVE R11 R7 + 0x7C280200, // 007E CALL R10 1 + 0x002B3C0A, // 007F ADD R10 K158 R10 + 0x582C0053, // 0080 LDCONST R11 K83 + 0x7C240400, // 0081 CALL R9 2 + 0x4C240000, // 0082 LDNIL R9 + 0x20240E09, // 0083 NE R9 R7 R9 + 0x7826004D, // 0084 JMPF R9 #00D3 + 0x8C240F6C, // 0085 GETMET R9 R7 K108 + 0x582C009F, // 0086 LDCONST R11 K159 + 0x7C240400, // 0087 CALL R9 2 + 0x78260049, // 0088 JMPF R9 #00D3 + 0x941C0F9F, // 0089 GETIDX R7 R7 K159 + 0x5824000A, // 008A LDCONST R9 K10 + 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 + 0x002B400A, // 0090 ADD R10 K160 R10 + 0x8C2C0F6C, // 0091 GETMET R11 R7 K108 + 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 + 0xB8327400, // 0097 GETNGBL R12 K58 + 0x60340018, // 0098 GETGBL R13 G24 + 0x583800A1, // 0099 LDCONST R14 K161 + 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 + 0x58380053, // 009F LDCONST R14 K83 + 0x7C300400, // 00A0 CALL R12 2 + 0x8C301739, // 00A1 GETMET R12 R11 K57 + 0x583800A2, // 00A2 LDCONST R14 K162 + 0x543DFFFE, // 00A3 LDINT R15 -1 + 0x7C300600, // 00A4 CALL R12 3 + 0x8C341739, // 00A5 GETMET R13 R11 K57 + 0x583C00A3, // 00A6 LDCONST R15 K163 + 0x5441FFFE, // 00A7 LDINT R16 -1 + 0x7C340600, // 00A8 CALL R13 3 + 0x2438190A, // 00A9 GT R14 R12 K10 + 0x783A0002, // 00AA JMPF R14 #00AE + 0x8C381162, // 00AB GETMET R14 R8 K98 + 0x04401938, // 00AC SUB R16 R12 K56 + 0x7C380400, // 00AD CALL R14 2 + 0x24381B0A, // 00AE GT R14 R13 K10 + 0x783A0002, // 00AF JMPF R14 #00B3 + 0x8C381162, // 00B0 GETMET R14 R8 K98 + 0x04401B38, // 00B1 SUB R16 R13 K56 + 0x7C380400, // 00B2 CALL R14 2 + 0xB83A7400, // 00B3 GETNGBL R14 K58 + 0x603C0018, // 00B4 GETGBL R15 G24 + 0x584000A4, // 00B5 LDCONST R16 K164 + 0x5C441800, // 00B6 MOVE R17 R12 + 0x5C481A00, // 00B7 MOVE R18 R13 + 0x7C3C0600, // 00B8 CALL R15 3 + 0x58400053, // 00B9 LDCONST R16 K83 + 0x7C380400, // 00BA CALL R14 2 + 0x8C381739, // 00BB GETMET R14 R11 K57 + 0x584000A5, // 00BC LDCONST R16 K165 + 0x7C380400, // 00BD CALL R14 2 + 0x783A0002, // 00BE JMPF R14 #00C2 + 0x943C1D21, // 00BF GETIDX R15 R14 K33 + 0x243C1F0A, // 00C0 GT R15 R15 K10 + 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 + 0x584800A6, // 00CA LDCONST R18 K166 + 0x70020000, // 00CB JMP #00CD + 0x584800A7, // 00CC LDCONST R18 K167 + 0x98462412, // 00CD SETIDX R17 K18 R18 + 0x98474E09, // 00CE SETIDX R17 K167 R9 + 0x98082011, // 00CF SETIDX R2 R16 R17 + 0x000C0738, // 00D0 ADD R3 R3 K56 + 0x00241338, // 00D1 ADD R9 R9 K56 + 0x7001FFB7, // 00D2 JMP #008B + 0x6024000C, // 00D3 GETGBL R9 G12 + 0xB82A2C00, // 00D4 GETNGBL R10 K22 + 0x8C2815A8, // 00D5 GETMET R10 R10 K168 + 0x7C280200, // 00D6 CALL R10 1 + 0x7C240200, // 00D7 CALL R9 1 + 0x5828000A, // 00D8 LDCONST R10 K10 + 0x04241204, // 00D9 SUB R9 R9 R4 + 0x142C1409, // 00DA LT R11 R10 R9 + 0x782E0011, // 00DB JMPF R11 #00EE + 0x8C2C1139, // 00DC GETMET R11 R8 K57 + 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 + 0x983225A9, // 00E7 SETIDX R12 K18 K169 + 0x00341538, // 00E8 ADD R13 R10 K56 + 0x9833520D, // 00E9 SETIDX R12 K169 R13 + 0x9808160C, // 00EA SETIDX R2 R11 R12 + 0x000C0738, // 00EB ADD R3 R3 K56 + 0x00281538, // 00EC ADD R10 R10 K56 + 0x7001FFEB, // 00ED JMP #00DA + 0x8C2C035E, // 00EE GETMET R11 R1 K94 + 0xB8362C00, // 00EF GETNGBL R13 K22 + 0x8C341B5B, // 00F0 GETMET R13 R13 K91 + 0x7C340200, // 00F1 CALL R13 1 + 0x7C2C0400, // 00F2 CALL R11 2 + 0x8C3001AA, // 00F3 GETMET R12 R0 K170 + 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 + 0x000C0738, // 0100 ADD R3 R3 K56 + 0x7001FFF7, // 0101 JMP #00FA + 0x58340014, // 0102 LDCONST R13 K20 + 0xAC340200, // 0103 CATCH R13 1 0 + 0xB0080000, // 0104 RAISE 2 R0 R0 + 0x80040400, // 0105 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x880C017A, // 0000 GETMBR R3 R0 K122 + 0x8C0C0739, // 0001 GETMET R3 R3 K57 + 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 + 0xB8127400, // 0007 GETNGBL R4 K58 + 0x60140008, // 0008 GETGBL R5 G8 + 0x5C180200, // 0009 MOVE R6 R1 + 0x7C140200, // 000A CALL R5 1 + 0x0016F605, // 000B ADD R5 K123 R5 + 0x00140B7C, // 000C ADD R5 R5 K124 + 0x58180053, // 000D LDCONST R6 K83 + 0x7C100400, // 000E CALL R4 2 + 0x80000800, // 000F RET 0 + 0x88100120, // 0010 GETMBR R4 R0 K32 + 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 + 0x881C011E, // 0019 GETMBR R7 R0 K30 + 0x8C1C0F62, // 001A GETMET R7 R7 K98 + 0x5C240C00, // 001B MOVE R9 R6 + 0x7C1C0400, // 001C CALL R7 2 + 0x601C0013, // 001D GETGBL R7 G19 + 0x7C1C0000, // 001E CALL R7 0 + 0x981E2401, // 001F SETIDX R7 K18 R1 + 0x60200010, // 0020 GETGBL R8 G16 + 0x8C240566, // 0021 GETMET R9 R2 K102 + 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 + 0x58200014, // 002A LDCONST R8 K20 + 0xAC200200, // 002B CATCH R8 1 0 + 0xB0080000, // 002C RAISE 2 R0 R0 + 0xB8227400, // 002D GETNGBL R8 K58 + 0x60240018, // 002E GETGBL R9 G24 + 0x582800AB, // 002F LDCONST R10 K171 + 0x5C2C0800, // 0030 MOVE R11 R4 + 0x5C300200, // 0031 MOVE R12 R1 + 0x8C34017D, // 0032 GETMET R13 R0 K125 + 0x5C3C0400, // 0033 MOVE R15 R2 + 0x7C340400, // 0034 CALL R13 2 + 0x7C240800, // 0035 CALL R9 4 + 0x58280021, // 0036 LDCONST R10 K33 + 0x7C200400, // 0037 CALL R8 2 + 0x88200156, // 0038 GETMBR R8 R0 K86 + 0x98200A07, // 0039 SETIDX R8 R5 R7 + 0x50200200, // 003A LDBOOL R8 1 0 + 0x90021608, // 003B SETMBR R0 K11 R8 + 0x88200120, // 003C GETMBR R8 R0 K32 + 0x00201138, // 003D ADD R8 R8 K56 + 0x90024008, // 003E SETMBR R0 K32 R8 + 0x8C20010C, // 003F GETMET R8 R0 K12 + 0x7C200200, // 0040 CALL R8 1 + 0x8C2001AC, // 0041 GETMET R8 R0 K172 + 0x7C200200, // 0042 CALL R8 1 + 0x80040800, // 0043 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x1C140710, // 0000 EQ R5 R3 K16 + 0x7815FFFF, // 0001 JMPF R5 #0002 + 0x1C140710, // 0002 EQ R5 R3 K16 + 0x7816000D, // 0003 JMPF R5 #0012 + 0x60140010, // 0004 GETGBL R5 G16 + 0x8818011E, // 0005 GETMBR R6 R0 K30 + 0x7C140200, // 0006 CALL R5 1 + 0xA8020005, // 0007 EXBLK 0 #000E + 0x5C180A00, // 0008 MOVE R6 R5 + 0x7C180000, // 0009 CALL R6 0 + 0x8C1C01AD, // 000A GETMET R7 R0 K173 + 0x88240D48, // 000B GETMBR R9 R6 K72 + 0x7C1C0400, // 000C CALL R7 2 + 0x7001FFF9, // 000D JMP #0008 + 0x58140014, // 000E LDCONST R5 K20 + 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 + 0x1C140BAE, // 0015 EQ R5 R5 K174 + 0x78160003, // 0016 JMPF R5 #001B + 0x8C1401AD, // 0017 GETMET R5 R0 K173 + 0x5C1C0800, // 0018 MOVE R7 R4 + 0x7C140400, // 0019 CALL R5 2 + 0x70020008, // 001A JMP #0024 + 0x8C1401AF, // 001B GETMET R5 R0 K175 + 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 + 0x8C1801AD, // 0021 GETMET R6 R0 K173 + 0x88200B48, // 0022 GETMBR R8 R5 K72 + 0x7C180400, // 0023 CALL R6 2 + 0xB8162C00, // 0024 GETNGBL R5 K22 + 0x8C140BB0, // 0025 GETMET R5 R5 K176 + 0x7C140200, // 0026 CALL R5 1 + 0x80000000, // 0027 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[134]) { /* code */ + 0xA4062A00, // 0000 IMPORT R1 K21 + 0x50080000, // 0001 LDBOOL R2 0 0 + 0xA8020054, // 0002 EXBLK 0 #0058 + 0x600C0011, // 0003 GETGBL R3 G17 + 0x881001B1, // 0004 GETMBR R4 R0 K177 + 0x7C0C0200, // 0005 CALL R3 1 + 0x8C1007B2, // 0006 GETMET R4 R3 K178 + 0x7C100200, // 0007 CALL R4 1 + 0x8C14078A, // 0008 GETMET R5 R3 K138 + 0x7C140200, // 0009 CALL R5 1 + 0xA416AA00, // 000A IMPORT R5 K85 + 0x8C180B5E, // 000B GETMET R6 R5 K94 + 0x5C200800, // 000C MOVE R8 R4 + 0x7C180400, // 000D CALL R6 2 + 0x8C1C0D39, // 000E GETMET R7 R6 K57 + 0x582400B4, // 000F LDCONST R9 K180 + 0x882801B3, // 0010 GETMBR R10 R0 K179 + 0x7C1C0600, // 0011 CALL R7 3 + 0x90036607, // 0012 SETMBR R0 K179 R7 + 0x8C1C0D39, // 0013 GETMET R7 R6 K57 + 0x582400B6, // 0014 LDCONST R9 K182 + 0x882801B5, // 0015 GETMBR R10 R0 K181 + 0x7C1C0600, // 0016 CALL R7 3 + 0x90036A07, // 0017 SETMBR R0 K181 R7 + 0x601C0017, // 0018 GETGBL R7 G23 + 0x8C200D39, // 0019 GETMET R8 R6 K57 + 0x58280022, // 001A LDCONST R10 K34 + 0x502C0000, // 001B LDBOOL R11 0 0 + 0x7C200600, // 001C CALL R8 3 + 0x7C1C0200, // 001D CALL R7 1 + 0x90024407, // 001E SETMBR R0 K34 R7 + 0x601C0017, // 001F GETGBL R7 G23 + 0x8C200D39, // 0020 GETMET R8 R6 K57 + 0x58280023, // 0021 LDCONST R10 K35 + 0x502C0000, // 0022 LDBOOL R11 0 0 + 0x7C200600, // 0023 CALL R8 3 + 0x7C1C0200, // 0024 CALL R7 1 + 0x90024607, // 0025 SETMBR R0 K35 R7 + 0x8C1C0D39, // 0026 GETMET R7 R6 K57 + 0x582400B7, // 0027 LDCONST R9 K183 + 0x88280120, // 0028 GETMBR R10 R0 K32 + 0x7C1C0600, // 0029 CALL R7 3 + 0x90024007, // 002A SETMBR R0 K32 R7 + 0x8C1C0D39, // 002B GETMET R7 R6 K57 + 0x582400B8, // 002C LDCONST R9 K184 + 0x7C1C0400, // 002D CALL R7 2 + 0x9002AC07, // 002E SETMBR R0 K86 R7 + 0x601C0017, // 002F GETGBL R7 G23 + 0x8C200D39, // 0030 GETMET R8 R6 K57 + 0x582800B9, // 0031 LDCONST R10 K185 + 0x7C200400, // 0032 CALL R8 2 + 0x7C1C0200, // 0033 CALL R7 1 + 0x90037207, // 0034 SETMBR R0 K185 R7 + 0x881C0156, // 0035 GETMBR R7 R0 K86 + 0x4C200000, // 0036 LDNIL R8 + 0x201C0E08, // 0037 NE R7 R7 R8 + 0x781E000D, // 0038 JMPF R7 #0047 + 0xB81E7400, // 0039 GETNGBL R7 K58 + 0x60200018, // 003A GETGBL R8 G24 + 0x582400BA, // 003B LDCONST R9 K186 + 0x88280156, // 003C GETMBR R10 R0 K86 + 0x7C200400, // 003D CALL R8 2 + 0x58240053, // 003E LDCONST R9 K83 + 0x7C1C0400, // 003F CALL R7 2 + 0x8C1C0158, // 0040 GETMET R7 R0 K88 + 0x7C1C0200, // 0041 CALL R7 1 + 0x8C1C01BB, // 0042 GETMET R7 R0 K187 + 0x7C1C0200, // 0043 CALL R7 1 + 0x5C080E00, // 0044 MOVE R2 R7 + 0x501C0200, // 0045 LDBOOL R7 1 0 + 0x90021607, // 0046 SETMBR R0 K11 R7 + 0x8C1C0D39, // 0047 GETMET R7 R6 K57 + 0x582400BC, // 0048 LDCONST R9 K188 + 0x60280013, // 0049 GETGBL R10 G19 + 0x7C280000, // 004A CALL R10 0 + 0x7C1C0600, // 004B CALL R7 3 + 0x90023E07, // 004C SETMBR R0 K31 R7 + 0x881C011F, // 004D GETMBR R7 R0 K31 + 0x781E0006, // 004E JMPF R7 #0056 + 0xB81E7400, // 004F GETNGBL R7 K58 + 0x60200008, // 0050 GETGBL R8 G8 + 0x8824011F, // 0051 GETMBR R9 R0 K31 + 0x7C200200, // 0052 CALL R8 1 + 0x00237A08, // 0053 ADD R8 K189 R8 + 0x58240053, // 0054 LDCONST R9 K83 + 0x7C1C0400, // 0055 CALL R7 2 + 0xA8040001, // 0056 EXBLK 1 1 + 0x70020011, // 0057 JMP #006A + 0xAC0C0002, // 0058 CATCH R3 0 2 + 0x7002000E, // 0059 JMP #0069 + 0x201407BE, // 005A NE R5 R3 K190 + 0x7816000B, // 005B JMPF R5 #0068 + 0xB8167400, // 005C GETNGBL R5 K58 + 0x60180008, // 005D GETGBL R6 G8 + 0x5C1C0600, // 005E MOVE R7 R3 + 0x7C180200, // 005F CALL R6 1 + 0x001B7E06, // 0060 ADD R6 K191 R6 + 0x00180D7F, // 0061 ADD R6 R6 K127 + 0x601C0008, // 0062 GETGBL R7 G8 + 0x5C200800, // 0063 MOVE R8 R4 + 0x7C1C0200, // 0064 CALL R7 1 + 0x00180C07, // 0065 ADD R6 R6 R7 + 0x581C0021, // 0066 LDCONST R7 K33 + 0x7C140400, // 0067 CALL R5 2 + 0x70020000, // 0068 JMP #006A + 0xB0080000, // 0069 RAISE 2 R0 R0 + 0x880C01B3, // 006A GETMBR R3 R0 K179 + 0x4C100000, // 006B LDNIL R4 + 0x1C0C0604, // 006C EQ R3 R3 R4 + 0x780E000A, // 006D JMPF R3 #0079 + 0x8C0C03C0, // 006E GETMET R3 R1 K192 + 0x58140021, // 006F LDCONST R5 K33 + 0x7C0C0400, // 0070 CALL R3 2 + 0x8C0C0786, // 0071 GETMET R3 R3 K134 + 0x5814000A, // 0072 LDCONST R5 K10 + 0x58180021, // 0073 LDCONST R6 K33 + 0x7C0C0600, // 0074 CALL R3 3 + 0x54120FFE, // 0075 LDINT R4 4095 + 0x2C0C0604, // 0076 AND R3 R3 R4 + 0x90036603, // 0077 SETMBR R0 K179 R3 + 0x50080200, // 0078 LDBOOL R2 1 0 + 0x880C01B5, // 0079 GETMBR R3 R0 K181 + 0x4C100000, // 007A LDNIL R4 + 0x1C0C0604, // 007B EQ R3 R3 R4 + 0x780E0004, // 007C JMPF R3 #0082 + 0x880C0106, // 007D GETMBR R3 R0 K6 + 0x8C0C07C1, // 007E GETMET R3 R3 K193 + 0x7C0C0200, // 007F CALL R3 1 + 0x90036A03, // 0080 SETMBR R0 K181 R3 + 0x50080200, // 0081 LDBOOL R2 1 0 + 0x780A0001, // 0082 JMPF R2 #0085 + 0x8C0C010C, // 0083 GETMET R3 R0 K12 + 0x7C0C0200, // 0084 CALL R3 1 + 0x80000000, // 0085 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 + 0xB8162C00, // 0003 GETNGBL R5 K22 + 0x8C140BC2, // 0004 GETMET R5 R5 K194 + 0x581C00C3, // 0005 LDCONST R7 K195 + 0x7C140400, // 0006 CALL R5 2 + 0x80040A00, // 0007 RET 1 R5 + 0xB8162C00, // 0008 GETNGBL R5 K22 + 0x8C140BC4, // 0009 GETMET R5 R5 K196 + 0x5C1C0800, // 000A MOVE R7 R4 + 0x582000C5, // 000B LDCONST R8 K197 + 0x7C140600, // 000C CALL R5 3 + 0xB81A2C00, // 000D GETNGBL R6 K22 + 0x8C180DC4, // 000E GETMET R6 R6 K196 + 0x5C200800, // 000F MOVE R8 R4 + 0x582400C6, // 0010 LDCONST R9 K198 + 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 + 0x1824110A, // 0019 LE R9 R8 K10 + 0x78260004, // 001A JMPF R9 #0020 + 0xB8262C00, // 001B GETNGBL R9 K22 + 0x8C2413C2, // 001C GETMET R9 R9 K194 + 0x582C00C7, // 001D LDCONST R11 K199 + 0x7C240400, // 001E CALL R9 2 + 0x80041200, // 001F RET 1 R9 + 0x8C24014B, // 0020 GETMET R9 R0 K75 + 0x5C2C1000, // 0021 MOVE R11 R8 + 0x7C240400, // 0022 CALL R9 2 + 0x5C1C1200, // 0023 MOVE R7 R9 + 0x8C240983, // 0024 GETMET R9 R4 K131 + 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 + 0x8C2001AF, // 002B GETMET R8 R0 K175 + 0x94280806, // 002C GETIDX R10 R4 R6 + 0x7C200400, // 002D CALL R8 2 + 0x5C1C1000, // 002E MOVE R7 R8 + 0x8C200983, // 002F GETMET R8 R4 K131 + 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 + 0xB8222C00, // 0035 GETNGBL R8 K22 + 0x8C2011C2, // 0036 GETMET R8 R8 K194 + 0x582800C8, // 0037 LDCONST R10 K200 + 0x7C200400, // 0038 CALL R8 2 + 0x80041000, // 0039 RET 1 R8 + 0x88200FC9, // 003A GETMBR R8 R7 K201 + 0x74220004, // 003B JMPT R8 #0041 + 0xB8222C00, // 003C GETNGBL R8 K22 + 0x8C2011C2, // 003D GETMET R8 R8 K194 + 0x582800CA, // 003E LDCONST R10 K202 + 0x7C200400, // 003F CALL R8 2 + 0x80041000, // 0040 RET 1 R8 + 0x8C200FCB, // 0041 GETMET R8 R7 K203 + 0x7C200200, // 0042 CALL R8 1 + 0x60240013, // 0043 GETGBL R9 G19 + 0x7C240000, // 0044 CALL R9 0 + 0x60280010, // 0045 GETGBL R10 G16 + 0x8C2C0966, // 0046 GETMET R11 R4 K102 + 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 + 0xB8322C00, // 004C GETNGBL R12 K22 + 0x8C3019CC, // 004D GETMET R12 R12 K204 + 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 + 0xB8362C00, // 0054 GETNGBL R13 K22 + 0x8C341BC2, // 0055 GETMET R13 R13 K194 + 0x603C0018, // 0056 GETGBL R15 G24 + 0x584000CD, // 0057 LDCONST R16 K205 + 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 + 0x58280014, // 0061 LDCONST R10 K20 + 0xAC280200, // 0062 CATCH R10 1 0 + 0xB0080000, // 0063 RAISE 2 R0 R0 + 0x8C280FCE, // 0064 GETMET R10 R7 K206 + 0x5C301200, // 0065 MOVE R12 R9 + 0x7C280400, // 0066 CALL R10 2 + 0x8C280FCF, // 0067 GETMET R10 R7 K207 + 0x7C280200, // 0068 CALL R10 1 + 0x782A000A, // 0069 JMPF R10 #0075 + 0x602C0018, // 006A GETGBL R11 G24 + 0x583000D0, // 006B LDCONST R12 K208 + 0x5C340200, // 006C MOVE R13 R1 + 0x5C381400, // 006D MOVE R14 R10 + 0x7C2C0600, // 006E CALL R11 3 + 0xB8322C00, // 006F GETNGBL R12 K22 + 0x8C3019D1, // 0070 GETMET R12 R12 K209 + 0x5C381600, // 0071 MOVE R14 R11 + 0x7C300400, // 0072 CALL R12 2 + 0x80041800, // 0073 RET 1 R12 + 0x70020003, // 0074 JMP #0079 + 0xB82E2C00, // 0075 GETNGBL R11 K22 + 0x8C2C17B0, // 0076 GETMET R11 R11 K176 + 0x7C2C0200, // 0077 CALL R11 1 + 0x80041600, // 0078 RET 1 R11 + 0xB81E2C00, // 0079 GETNGBL R7 K22 + 0x8C1C0FC2, // 007A GETMET R7 R7 K194 + 0x582400D2, // 007B LDCONST R9 K210 + 0x7C1C0400, // 007C CALL R7 2 + 0x80000000, // 007D RET 0 }) ) ); @@ -971,7 +2953,7 @@ be_local_closure(class_Matter_Device_register_commands, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ - 2, /* varg */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ @@ -1059,29 +3041,23 @@ be_local_closure(class_Matter_Device_register_commands, /* name */ ), }), 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(tasmota), - /* K1 */ be_nested_str_weak(add_cmd), - /* K2 */ be_nested_str_weak(MtrJoin), - /* K3 */ be_nested_str_weak(MtrUpdate), - /* K4 */ be_nested_str_weak(MtrInfo), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(register_commands), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x580C0002, // 0002 LDCONST R3 K2 + 0xB8062C00, // 0000 GETNGBL R1 K22 + 0x8C0403D3, // 0001 GETMET R1 R1 K211 + 0x580C00D4, // 0002 LDCONST R3 K212 0x84100000, // 0003 CLOSURE R4 P0 0x7C040600, // 0004 CALL R1 3 - 0xB8060000, // 0005 GETNGBL R1 K0 - 0x8C040301, // 0006 GETMET R1 R1 K1 - 0x580C0003, // 0007 LDCONST R3 K3 + 0xB8062C00, // 0005 GETNGBL R1 K22 + 0x8C0403D3, // 0006 GETMET R1 R1 K211 + 0x580C00D5, // 0007 LDCONST R3 K213 0x84100001, // 0008 CLOSURE R4 P1 0x7C040600, // 0009 CALL R1 3 - 0xB8060000, // 000A GETNGBL R1 K0 - 0x8C040301, // 000B GETMET R1 R1 K1 - 0x580C0004, // 000C LDCONST R3 K4 + 0xB8062C00, // 000A GETNGBL R1 K22 + 0x8C0403D3, // 000B GETMET R1 R1 K211 + 0x580C00D6, // 000C LDCONST R3 K214 0x84100002, // 000D CLOSURE R4 P2 0x7C040600, // 000E CALL R1 3 0xA0000000, // 000F CLOSE R0 @@ -1092,3168 +3068,6 @@ be_local_closure(class_Matter_Device_register_commands, /* name */ /*******************************************************************/ -/******************************************************************** -** Solidified function: compute_qrcode_content -********************************************************************/ -be_local_closure(class_Matter_Device_compute_qrcode_content, /* 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(resize), - /* K1 */ be_nested_str_weak(setbits), - /* K2 */ be_const_int(3), - /* K3 */ be_nested_str_weak(VENDOR_ID), - /* K4 */ be_nested_str_weak(PRODUCT_ID), - /* K5 */ be_nested_str_weak(root_discriminator), - /* K6 */ be_nested_str_weak(root_passcode), - /* K7 */ be_const_int(134217727), - /* K8 */ be_nested_str_weak(MT_X3A), - /* K9 */ be_nested_str_weak(matter), - /* K10 */ be_nested_str_weak(Base38), - /* K11 */ be_nested_str_weak(encode), - }), - be_str_weak(compute_qrcode_content), - &be_const_str_solidified, - ( &(const binstruction[40]) { /* code */ - 0x60040015, // 0000 GETGBL R1 G21 - 0x7C040000, // 0001 CALL R1 0 - 0x8C040300, // 0002 GETMET R1 R1 K0 - 0x540E000A, // 0003 LDINT R3 11 - 0x7C040400, // 0004 CALL R1 2 - 0x8C080301, // 0005 GETMET R2 R1 K1 - 0x58100002, // 0006 LDCONST R4 K2 - 0x5416000F, // 0007 LDINT R5 16 - 0x88180103, // 0008 GETMBR R6 R0 K3 - 0x7C080800, // 0009 CALL R2 4 - 0x8C080301, // 000A GETMET R2 R1 K1 - 0x54120012, // 000B LDINT R4 19 - 0x5416000F, // 000C LDINT R5 16 - 0x88180104, // 000D GETMBR R6 R0 K4 - 0x7C080800, // 000E CALL R2 4 - 0x8C080301, // 000F GETMET R2 R1 K1 - 0x54120024, // 0010 LDINT R4 37 - 0x54160007, // 0011 LDINT R5 8 - 0x541A0003, // 0012 LDINT R6 4 - 0x7C080800, // 0013 CALL R2 4 - 0x8C080301, // 0014 GETMET R2 R1 K1 - 0x5412002C, // 0015 LDINT R4 45 - 0x5416000B, // 0016 LDINT R5 12 - 0x88180105, // 0017 GETMBR R6 R0 K5 - 0x541E0FFE, // 0018 LDINT R7 4095 - 0x2C180C07, // 0019 AND R6 R6 R7 - 0x7C080800, // 001A CALL R2 4 - 0x8C080301, // 001B GETMET R2 R1 K1 - 0x54120038, // 001C LDINT R4 57 - 0x5416001A, // 001D LDINT R5 27 - 0x88180106, // 001E GETMBR R6 R0 K6 - 0x2C180D07, // 001F AND R6 R6 K7 - 0x7C080800, // 0020 CALL R2 4 - 0xB80A1200, // 0021 GETNGBL R2 K9 - 0x8808050A, // 0022 GETMBR R2 R2 K10 - 0x8C08050B, // 0023 GETMET R2 R2 K11 - 0x5C100200, // 0024 MOVE R4 R1 - 0x7C080400, // 0025 CALL R2 2 - 0x000A1002, // 0026 ADD R2 K8 R2 - 0x80040400, // 0027 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: resolve_attribute_read_solo -********************************************************************/ -be_local_closure(class_Matter_Device_resolve_attribute_read_solo, /* 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[11]) { /* constants */ - /* K0 */ be_nested_str_weak(endpoint), - /* K1 */ be_nested_str_weak(cluster), - /* K2 */ be_nested_str_weak(attribute), - /* K3 */ be_nested_str_weak(find_plugin_by_endpoint), - /* K4 */ be_nested_str_weak(status), - /* K5 */ be_nested_str_weak(matter), - /* K6 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT), - /* K7 */ be_nested_str_weak(contains_cluster), - /* K8 */ be_nested_str_weak(UNSUPPORTED_CLUSTER), - /* K9 */ be_nested_str_weak(contains_attribute), - /* K10 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE), - }), - be_str_weak(resolve_attribute_read_solo), - &be_const_str_solidified, - ( &(const binstruction[47]) { /* code */ - 0x88080300, // 0000 GETMBR R2 R1 K0 - 0x880C0301, // 0001 GETMBR R3 R1 K1 - 0x88100302, // 0002 GETMBR R4 R1 K2 - 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 - 0x8C140103, // 000E GETMET R5 R0 K3 - 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 - 0xB81A0A00, // 0014 GETNGBL R6 K5 - 0x88180D06, // 0015 GETMBR R6 R6 K6 - 0x90060806, // 0016 SETMBR R1 K4 R6 - 0x4C180000, // 0017 LDNIL R6 - 0x80040C00, // 0018 RET 1 R6 - 0x70020013, // 0019 JMP #002E - 0x8C180B07, // 001A GETMET R6 R5 K7 - 0x5C200600, // 001B MOVE R8 R3 - 0x7C180400, // 001C CALL R6 2 - 0x741A0005, // 001D JMPT R6 #0024 - 0xB81A0A00, // 001E GETNGBL R6 K5 - 0x88180D08, // 001F GETMBR R6 R6 K8 - 0x90060806, // 0020 SETMBR R1 K4 R6 - 0x4C180000, // 0021 LDNIL R6 - 0x80040C00, // 0022 RET 1 R6 - 0x70020009, // 0023 JMP #002E - 0x8C180B09, // 0024 GETMET R6 R5 K9 - 0x5C200600, // 0025 MOVE R8 R3 - 0x5C240800, // 0026 MOVE R9 R4 - 0x7C180600, // 0027 CALL R6 3 - 0x741A0004, // 0028 JMPT R6 #002E - 0xB81A0A00, // 0029 GETNGBL R6 K5 - 0x88180D0A, // 002A GETMBR R6 R6 K10 - 0x90060806, // 002B SETMBR R1 K4 R6 - 0x4C180000, // 002C LDNIL R6 - 0x80040C00, // 002D RET 1 R6 - 0x80040A00, // 002E RET 1 R5 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: update_remotes_info -********************************************************************/ -be_local_closure(class_Matter_Device_update_remotes_info, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* 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(http_remotes), - /* K1 */ be_nested_str_weak(keys), - /* K2 */ be_nested_str_weak(get_info), - /* K3 */ be_const_int(0), - /* K4 */ be_nested_str_weak(stop_iteration), - /* K5 */ be_nested_str_weak(plugins_config_remotes), - }), - be_str_weak(update_remotes_info), - &be_const_str_solidified, - ( &(const binstruction[33]) { /* code */ - 0x60040013, // 0000 GETGBL R1 G19 - 0x7C040000, // 0001 CALL R1 0 - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x4C0C0000, // 0003 LDNIL R3 - 0x20080403, // 0004 NE R2 R2 R3 - 0x780A0018, // 0005 JMPF R2 #001F - 0x60080010, // 0006 GETGBL R2 G16 - 0x880C0100, // 0007 GETMBR R3 R0 K0 - 0x8C0C0701, // 0008 GETMET R3 R3 K1 - 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 - 0x88100100, // 000E GETMBR R4 R0 K0 - 0x94100803, // 000F GETIDX R4 R4 R3 - 0x8C100902, // 0010 GETMET R4 R4 K2 - 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 - 0x24140B03, // 0018 GT R5 R5 K3 - 0x78160000, // 0019 JMPF R5 #001B - 0x98040604, // 001A SETIDX R1 R3 R4 - 0x7001FFEF, // 001B JMP #000C - 0x58080004, // 001C LDCONST R2 K4 - 0xAC080200, // 001D CATCH R2 1 0 - 0xB0080000, // 001E RAISE 2 R0 R0 - 0x90020A01, // 001F SETMBR R0 K5 R1 - 0x80040200, // 0020 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 */ - 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_weak(button_handler), - /* K1 */ be_const_int(1), - /* K2 */ be_const_int(2), - /* K3 */ be_const_int(0), - }), - 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 - 0x8C140100, // 0006 GETMET R5 R0 K0 - 0x001C0901, // 0007 ADD R7 R4 K1 - 0x58200002, // 0008 LDCONST R8 K2 - 0x58240003, // 0009 LDCONST R9 K3 - 0x5C280600, // 000A MOVE R10 R3 - 0x7C140A00, // 000B CALL R5 5 - 0x80000000, // 000C RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: sort_distinct -********************************************************************/ -be_local_closure(class_Matter_Device_sort_distinct, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 4, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_Device), - /* K1 */ be_const_int(1), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(stop_iteration), - /* K4 */ be_nested_str_weak(remove), - }), - be_str_weak(sort_distinct), - &be_const_str_solidified, - ( &(const binstruction[53]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 0x60080010, // 0001 GETGBL R2 G16 - 0x600C000C, // 0002 GETGBL R3 G12 - 0x5C100000, // 0003 MOVE R4 R0 - 0x7C0C0200, // 0004 CALL R3 1 - 0x040C0701, // 0005 SUB R3 R3 K1 - 0x400E0203, // 0006 CONNECT R3 K1 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 - 0x24180B02, // 000D GT R6 R5 K2 - 0x781A0008, // 000E JMPF R6 #0018 - 0x04180B01, // 000F SUB R6 R5 K1 - 0x94180006, // 0010 GETIDX R6 R0 R6 - 0x24180C04, // 0011 GT R6 R6 R4 - 0x781A0004, // 0012 JMPF R6 #0018 - 0x04180B01, // 0013 SUB R6 R5 K1 - 0x94180006, // 0014 GETIDX R6 R0 R6 - 0x98000A06, // 0015 SETIDX R0 R5 R6 - 0x04140B01, // 0016 SUB R5 R5 K1 - 0x7001FFF4, // 0017 JMP #000D - 0x98000A04, // 0018 SETIDX R0 R5 R4 - 0x7001FFEE, // 0019 JMP #0009 - 0x58080003, // 001A LDCONST R2 K3 - 0xAC080200, // 001B CATCH R2 1 0 - 0xB0080000, // 001C RAISE 2 R0 R0 - 0x58080001, // 001D LDCONST R2 K1 - 0x600C000C, // 001E GETGBL R3 G12 - 0x5C100000, // 001F MOVE R4 R0 - 0x7C0C0200, // 0020 CALL R3 1 - 0x180C0701, // 0021 LE R3 R3 K1 - 0x780E0000, // 0022 JMPF R3 #0024 - 0x80040000, // 0023 RET 1 R0 - 0x940C0102, // 0024 GETIDX R3 R0 K2 - 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 - 0x8C100104, // 002D GETMET R4 R0 K4 - 0x5C180400, // 002E MOVE R6 R2 - 0x7C100400, // 002F CALL R4 2 - 0x70020001, // 0030 JMP #0033 - 0x940C0002, // 0031 GETIDX R3 R0 R2 - 0x00080501, // 0032 ADD R2 R2 K1 - 0x7001FFF0, // 0033 JMP #0025 - 0x80040000, // 0034 RET 1 R0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_remove_PASE -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_remove_PASE, /* name */ - be_nested_proto( - 9, /* nstack */ - 1, /* 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(mdns), - /* K1 */ be_nested_str_weak(mdns_pase_eth), - /* K2 */ be_nested_str_weak(log), - /* K3 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eremove_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29), - /* K4 */ be_nested_str_weak(_matterc), - /* K5 */ be_nested_str_weak(_udp), - /* K6 */ be_nested_str_weak(commissioning_instance_eth), - /* K7 */ be_nested_str_weak(hostname_eth), - /* K8 */ be_const_int(3), - /* K9 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27), - /* K10 */ be_nested_str_weak(eth), - /* K11 */ be_nested_str_weak(remove_service), - /* K12 */ be_nested_str_weak(mdns_pase_wifi), - /* K13 */ be_nested_str_weak(commissioning_instance_wifi), - /* K14 */ be_nested_str_weak(hostname_wifi), - /* K15 */ be_nested_str_weak(wifi), - /* K16 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K17 */ be_nested_str_weak(_X7C), - /* K18 */ be_const_int(2), - }), - be_str_weak(mdns_remove_PASE), - &be_const_str_solidified, - ( &(const binstruction[77]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0xA8020039, // 0001 EXBLK 0 #003C - 0x88080101, // 0002 GETMBR R2 R0 K1 - 0x780A0019, // 0003 JMPF R2 #001E - 0xB80A0400, // 0004 GETNGBL R2 K2 - 0x600C0018, // 0005 GETGBL R3 G24 - 0x58100003, // 0006 LDCONST R4 K3 - 0x58140004, // 0007 LDCONST R5 K4 - 0x58180005, // 0008 LDCONST R6 K5 - 0x881C0106, // 0009 GETMBR R7 R0 K6 - 0x88200107, // 000A GETMBR R8 R0 K7 - 0x7C0C0A00, // 000B CALL R3 5 - 0x58100008, // 000C LDCONST R4 K8 - 0x7C080400, // 000D CALL R2 2 - 0xB80A0400, // 000E GETNGBL R2 K2 - 0x600C0018, // 000F GETGBL R3 G24 - 0x58100009, // 0010 LDCONST R4 K9 - 0x5814000A, // 0011 LDCONST R5 K10 - 0x88180106, // 0012 GETMBR R6 R0 K6 - 0x7C0C0600, // 0013 CALL R3 3 - 0x58100008, // 0014 LDCONST R4 K8 - 0x7C080400, // 0015 CALL R2 2 - 0x50080000, // 0016 LDBOOL R2 0 0 - 0x90020202, // 0017 SETMBR R0 K1 R2 - 0x8C08030B, // 0018 GETMET R2 R1 K11 - 0x58100004, // 0019 LDCONST R4 K4 - 0x58140005, // 001A LDCONST R5 K5 - 0x88180106, // 001B GETMBR R6 R0 K6 - 0x881C0107, // 001C GETMBR R7 R0 K7 - 0x7C080A00, // 001D CALL R2 5 - 0x8808010C, // 001E GETMBR R2 R0 K12 - 0x780A0019, // 001F JMPF R2 #003A - 0xB80A0400, // 0020 GETNGBL R2 K2 - 0x600C0018, // 0021 GETGBL R3 G24 - 0x58100003, // 0022 LDCONST R4 K3 - 0x58140004, // 0023 LDCONST R5 K4 - 0x58180005, // 0024 LDCONST R6 K5 - 0x881C010D, // 0025 GETMBR R7 R0 K13 - 0x8820010E, // 0026 GETMBR R8 R0 K14 - 0x7C0C0A00, // 0027 CALL R3 5 - 0x58100008, // 0028 LDCONST R4 K8 - 0x7C080400, // 0029 CALL R2 2 - 0xB80A0400, // 002A GETNGBL R2 K2 - 0x600C0018, // 002B GETGBL R3 G24 - 0x58100009, // 002C LDCONST R4 K9 - 0x5814000F, // 002D LDCONST R5 K15 - 0x8818010D, // 002E GETMBR R6 R0 K13 - 0x7C0C0600, // 002F CALL R3 3 - 0x58100008, // 0030 LDCONST R4 K8 - 0x7C080400, // 0031 CALL R2 2 - 0x50080000, // 0032 LDBOOL R2 0 0 - 0x90021802, // 0033 SETMBR R0 K12 R2 - 0x8C08030B, // 0034 GETMET R2 R1 K11 - 0x58100004, // 0035 LDCONST R4 K4 - 0x58140005, // 0036 LDCONST R5 K5 - 0x8818010D, // 0037 GETMBR R6 R0 K13 - 0x881C010E, // 0038 GETMBR R7 R0 K14 - 0x7C080A00, // 0039 CALL R2 5 - 0xA8040001, // 003A EXBLK 1 1 - 0x7002000F, // 003B JMP #004C - 0xAC080002, // 003C CATCH R2 0 2 - 0x7002000C, // 003D JMP #004B - 0xB8120400, // 003E GETNGBL R4 K2 - 0x60140008, // 003F GETGBL R5 G8 - 0x5C180400, // 0040 MOVE R6 R2 - 0x7C140200, // 0041 CALL R5 1 - 0x00162005, // 0042 ADD R5 K16 R5 - 0x00140B11, // 0043 ADD R5 R5 K17 - 0x60180008, // 0044 GETGBL R6 G8 - 0x5C1C0600, // 0045 MOVE R7 R3 - 0x7C180200, // 0046 CALL R6 1 - 0x00140A06, // 0047 ADD R5 R5 R6 - 0x58180012, // 0048 LDCONST R6 K18 - 0x7C100400, // 0049 CALL R4 2 - 0x70020000, // 004A JMP #004C - 0xB0080000, // 004B RAISE 2 R0 R0 - 0x80000000, // 004C RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_plugin_remote_info -********************************************************************/ -be_local_closure(class_Matter_Device_get_plugin_remote_info, /* 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[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(plugins_config_remotes), - /* K1 */ be_nested_str_weak(find), - }), - be_str_weak(get_plugin_remote_info), - &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 - 0x60140013, // 0003 GETGBL R5 G19 - 0x7C140000, // 0004 CALL R5 0 - 0x7C080600, // 0005 CALL R2 3 - 0x80040400, // 0006 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start_root_basic_commissioning -********************************************************************/ -be_local_closure(class_Matter_Device_start_root_basic_commissioning, /* name */ - be_nested_proto( - 22, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[23]) { /* constants */ - /* K0 */ be_nested_str_weak(PASE_TIMEOUT), - /* K1 */ be_nested_str_weak(compute_manual_pairing_code), - /* K2 */ be_nested_str_weak(log), - /* K3 */ be_nested_str_weak(MTR_X3A_X20Manual_X20pairing_X20code_X3A_X20_X25s), - /* K4 */ be_const_int(2), - /* K5 */ be_nested_str_weak(compute_qrcode_content), - /* K6 */ be_nested_str_weak(tasmota), - /* K7 */ be_nested_str_weak(publish_result), - /* K8 */ 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), - /* K9 */ be_nested_str_weak(Matter), - /* K10 */ be_nested_str_weak(crypto), - /* K11 */ be_nested_str_weak(random), - /* K12 */ be_nested_str_weak(add), - /* K13 */ be_nested_str_weak(root_passcode), - /* K14 */ be_nested_str_weak(PBKDF2_HMAC_SHA256), - /* K15 */ be_nested_str_weak(derive), - /* K16 */ be_nested_str_weak(PBKDF_ITERATIONS), - /* K17 */ be_const_int(0), - /* K18 */ be_nested_str_weak(EC_P256), - /* K19 */ be_nested_str_weak(mod), - /* K20 */ be_nested_str_weak(public_key), - /* K21 */ be_nested_str_weak(start_basic_commissioning), - /* K22 */ be_nested_str_weak(root_discriminator), - }), - be_str_weak(start_root_basic_commissioning), - &be_const_str_solidified, - ( &(const binstruction[74]) { /* code */ - 0x4C080000, // 0000 LDNIL R2 - 0x1C080202, // 0001 EQ R2 R1 R2 - 0x780A0000, // 0002 JMPF R2 #0004 - 0x88040100, // 0003 GETMBR R1 R0 K0 - 0x8C080101, // 0004 GETMET R2 R0 K1 - 0x7C080200, // 0005 CALL R2 1 - 0xB80E0400, // 0006 GETNGBL R3 K2 - 0x60100018, // 0007 GETGBL R4 G24 - 0x58140003, // 0008 LDCONST R5 K3 - 0x5C180400, // 0009 MOVE R6 R2 - 0x7C100400, // 000A CALL R4 2 - 0x58140004, // 000B LDCONST R5 K4 - 0x7C0C0400, // 000C CALL R3 2 - 0x8C0C0105, // 000D GETMET R3 R0 K5 - 0x7C0C0200, // 000E CALL R3 1 - 0xB8120C00, // 000F GETNGBL R4 K6 - 0x8C100907, // 0010 GETMET R4 R4 K7 - 0x60180018, // 0011 GETGBL R6 G24 - 0x581C0008, // 0012 LDCONST R7 K8 - 0x5C200400, // 0013 MOVE R8 R2 - 0x5C240600, // 0014 MOVE R9 R3 - 0x7C180600, // 0015 CALL R6 3 - 0x581C0009, // 0016 LDCONST R7 K9 - 0x7C100600, // 0017 CALL R4 3 - 0xA4121400, // 0018 IMPORT R4 K10 - 0x8C14090B, // 0019 GETMET R5 R4 K11 - 0x541E000F, // 001A LDINT R7 16 - 0x7C140400, // 001B CALL R5 2 - 0x60180015, // 001C GETGBL R6 G21 - 0x7C180000, // 001D CALL R6 0 - 0x8C180D0C, // 001E GETMET R6 R6 K12 - 0x8820010D, // 001F GETMBR R8 R0 K13 - 0x54260003, // 0020 LDINT R9 4 - 0x7C180600, // 0021 CALL R6 3 - 0x8C1C090E, // 0022 GETMET R7 R4 K14 - 0x7C1C0200, // 0023 CALL R7 1 - 0x8C1C0F0F, // 0024 GETMET R7 R7 K15 - 0x5C240C00, // 0025 MOVE R9 R6 - 0x5C280A00, // 0026 MOVE R10 R5 - 0x882C0110, // 0027 GETMBR R11 R0 K16 - 0x5432004F, // 0028 LDINT R12 80 - 0x7C1C0A00, // 0029 CALL R7 5 - 0x54220026, // 002A LDINT R8 39 - 0x40222208, // 002B CONNECT R8 K17 R8 - 0x94200E08, // 002C GETIDX R8 R7 R8 - 0x54260027, // 002D LDINT R9 40 - 0x542A004E, // 002E LDINT R10 79 - 0x4024120A, // 002F CONNECT R9 R9 R10 - 0x94240E09, // 0030 GETIDX R9 R7 R9 - 0x8C280912, // 0031 GETMET R10 R4 K18 - 0x7C280200, // 0032 CALL R10 1 - 0x8C281513, // 0033 GETMET R10 R10 K19 - 0x5C301000, // 0034 MOVE R12 R8 - 0x7C280400, // 0035 CALL R10 2 - 0x8C2C0912, // 0036 GETMET R11 R4 K18 - 0x7C2C0200, // 0037 CALL R11 1 - 0x8C2C1713, // 0038 GETMET R11 R11 K19 - 0x5C341200, // 0039 MOVE R13 R9 - 0x7C2C0400, // 003A CALL R11 2 - 0x8C300912, // 003B GETMET R12 R4 K18 - 0x7C300200, // 003C CALL R12 1 - 0x8C301914, // 003D GETMET R12 R12 K20 - 0x5C381600, // 003E MOVE R14 R11 - 0x7C300400, // 003F CALL R12 2 - 0x8C340115, // 0040 GETMET R13 R0 K21 - 0x5C3C0200, // 0041 MOVE R15 R1 - 0x88400110, // 0042 GETMBR R16 R0 K16 - 0x88440116, // 0043 GETMBR R17 R0 K22 - 0x5C480A00, // 0044 MOVE R18 R5 - 0x5C4C1400, // 0045 MOVE R19 R10 - 0x5C501800, // 0046 MOVE R20 R12 - 0x4C540000, // 0047 LDNIL R21 - 0x7C341000, // 0048 CALL R13 8 - 0x80000000, // 0049 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: event_fabrics_saved -********************************************************************/ -be_local_closure(class_Matter_Device_event_fabrics_saved, /* 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[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(sessions), - /* K1 */ be_nested_str_weak(count_active_fabrics), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(plugins_persist), - /* K4 */ be_nested_str_weak(save_param), - }), - be_str_weak(event_fabrics_saved), - &be_const_str_solidified, - ( &(const binstruction[12]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x24040302, // 0003 GT R1 R1 K2 - 0x78060005, // 0004 JMPF R1 #000B - 0x88040103, // 0005 GETMBR R1 R0 K3 - 0x74060003, // 0006 JMPT R1 #000B - 0x50040200, // 0007 LDBOOL R1 1 0 - 0x90020601, // 0008 SETMBR R0 K3 R1 - 0x8C040104, // 0009 GETMET R1 R0 K4 - 0x7C040200, // 000A CALL R1 1 - 0x80000000, // 000B RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start_mdns_announce_hostnames -********************************************************************/ -be_local_closure(class_Matter_Device_start_mdns_announce_hostnames, /* name */ - be_nested_proto( - 6, /* nstack */ - 1, /* argc */ - 2, /* 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 */ - ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_str_weak(tasmota), - /* K1 */ be_nested_str_weak(wifi), - /* K2 */ be_nested_str_weak(up), - /* K3 */ be_nested_str_weak(_mdns_announce_hostname), - /* K4 */ be_nested_str_weak(add_rule), - /* K5 */ be_nested_str_weak(Wifi_X23Connected), - /* K6 */ be_nested_str_weak(matter_mdns_host), - /* K7 */ be_nested_str_weak(eth), - /* K8 */ be_nested_str_weak(Eth_X23Connected), - }), - be_str_weak(start_mdns_announce_hostnames), - &be_const_str_solidified, - ( &(const binstruction[32]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x94040302, // 0003 GETIDX R1 R1 K2 - 0x78060003, // 0004 JMPF R1 #0009 - 0x8C040103, // 0005 GETMET R1 R0 K3 - 0x500C0000, // 0006 LDBOOL R3 0 0 - 0x7C040400, // 0007 CALL R1 2 - 0x70020005, // 0008 JMP #000F - 0xB8060000, // 0009 GETNGBL R1 K0 - 0x8C040304, // 000A GETMET R1 R1 K4 - 0x580C0005, // 000B LDCONST R3 K5 - 0x84100000, // 000C CLOSURE R4 P0 - 0x58140006, // 000D LDCONST R5 K6 - 0x7C040800, // 000E CALL R1 4 - 0xB8060000, // 000F GETNGBL R1 K0 - 0x8C040307, // 0010 GETMET R1 R1 K7 - 0x7C040200, // 0011 CALL R1 1 - 0x94040302, // 0012 GETIDX R1 R1 K2 - 0x78060003, // 0013 JMPF R1 #0018 - 0x8C040103, // 0014 GETMET R1 R0 K3 - 0x500C0200, // 0015 LDBOOL R3 1 0 - 0x7C040400, // 0016 CALL R1 2 - 0x70020005, // 0017 JMP #001E - 0xB8060000, // 0018 GETNGBL R1 K0 - 0x8C040304, // 0019 GETMET R1 R1 K4 - 0x580C0008, // 001A LDCONST R3 K8 - 0x84100001, // 001B CLOSURE R4 P1 - 0x58140006, // 001C LDCONST R5 K6 - 0x7C040800, // 001D CALL R1 4 - 0xA0000000, // 001E CLOSE R0 - 0x80000000, // 001F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_announce_PASE -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_announce_PASE, /* 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[40]) { /* constants */ - /* K0 */ be_nested_str_weak(mdns), - /* K1 */ be_nested_str_weak(crypto), - /* K2 */ be_nested_str_weak(VP), - /* K3 */ be_nested_str_weak(_X25s_X2B_X25s), - /* K4 */ be_nested_str_weak(VENDOR_ID), - /* K5 */ be_nested_str_weak(PRODUCT_ID), - /* K6 */ be_nested_str_weak(D), - /* K7 */ be_nested_str_weak(commissioning_discriminator), - /* K8 */ be_nested_str_weak(CM), - /* K9 */ be_const_int(1), - /* K10 */ be_nested_str_weak(T), - /* K11 */ be_const_int(0), - /* K12 */ be_nested_str_weak(SII), - /* K13 */ be_nested_str_weak(SAI), - /* K14 */ be_nested_str_weak(commissioning_instance_wifi), - /* K15 */ be_nested_str_weak(random), - /* K16 */ be_nested_str_weak(tohex), - /* K17 */ be_nested_str_weak(commissioning_instance_eth), - /* K18 */ be_nested_str_weak(hostname_eth), - /* K19 */ be_nested_str_weak(add_service), - /* K20 */ be_nested_str_weak(_matterc), - /* K21 */ be_nested_str_weak(_udp), - /* K22 */ be_nested_str_weak(mdns_pase_eth), - /* K23 */ be_nested_str_weak(log), - /* K24 */ be_nested_str_weak(MTR_X3A_X20announce_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), - /* K25 */ be_nested_str_weak(eth), - /* K26 */ be_const_int(2), - /* K27 */ be_nested_str_weak(_L), - /* K28 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20), - /* K29 */ be_const_int(3), - /* K30 */ be_nested_str_weak(add_subtype), - /* K31 */ be_nested_str_weak(_S), - /* K32 */ be_nested_str_weak(_V), - /* K33 */ be_nested_str_weak(_CM1), - /* K34 */ be_nested_str_weak(hostname_wifi), - /* K35 */ be_nested_str_weak(mdns_pase_wifi), - /* K36 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), - /* K37 */ be_nested_str_weak(wifi), - /* K38 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K39 */ be_nested_str_weak(_X7C), - }), - be_str_weak(mdns_announce_PASE), - &be_const_str_solidified, - ( &(const binstruction[222]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0xA40A0200, // 0001 IMPORT R2 K1 - 0x600C0013, // 0002 GETGBL R3 G19 - 0x7C0C0000, // 0003 CALL R3 0 - 0x60100018, // 0004 GETGBL R4 G24 - 0x58140003, // 0005 LDCONST R5 K3 - 0x88180104, // 0006 GETMBR R6 R0 K4 - 0x881C0105, // 0007 GETMBR R7 R0 K5 - 0x7C100600, // 0008 CALL R4 3 - 0x980E0404, // 0009 SETIDX R3 K2 R4 - 0x88100107, // 000A GETMBR R4 R0 K7 - 0x980E0C04, // 000B SETIDX R3 K6 R4 - 0x980E1109, // 000C SETIDX R3 K8 K9 - 0x980E150B, // 000D SETIDX R3 K10 K11 - 0x54121387, // 000E LDINT R4 5000 - 0x980E1804, // 000F SETIDX R3 K12 R4 - 0x5412012B, // 0010 LDINT R4 300 - 0x980E1A04, // 0011 SETIDX R3 K13 R4 - 0x8C10050F, // 0012 GETMET R4 R2 K15 - 0x541A0007, // 0013 LDINT R6 8 - 0x7C100400, // 0014 CALL R4 2 - 0x8C100910, // 0015 GETMET R4 R4 K16 - 0x7C100200, // 0016 CALL R4 1 - 0x90021C04, // 0017 SETMBR R0 K14 R4 - 0x8C10050F, // 0018 GETMET R4 R2 K15 - 0x541A0007, // 0019 LDINT R6 8 - 0x7C100400, // 001A CALL R4 2 - 0x8C100910, // 001B GETMET R4 R4 K16 - 0x7C100200, // 001C CALL R4 1 - 0x90022204, // 001D SETMBR R0 K17 R4 - 0xA80200AD, // 001E EXBLK 0 #00CD - 0x88100112, // 001F GETMBR R4 R0 K18 - 0x78120053, // 0020 JMPF R4 #0075 - 0x8C100313, // 0021 GETMET R4 R1 K19 - 0x58180014, // 0022 LDCONST R6 K20 - 0x581C0015, // 0023 LDCONST R7 K21 - 0x542215A3, // 0024 LDINT R8 5540 - 0x5C240600, // 0025 MOVE R9 R3 - 0x88280111, // 0026 GETMBR R10 R0 K17 - 0x882C0112, // 0027 GETMBR R11 R0 K18 - 0x7C100E00, // 0028 CALL R4 7 - 0x50100200, // 0029 LDBOOL R4 1 0 - 0x90022C04, // 002A SETMBR R0 K22 R4 - 0xB8122E00, // 002B GETNGBL R4 K23 - 0x60140018, // 002C GETGBL R5 G24 - 0x58180018, // 002D LDCONST R6 K24 - 0x581C0019, // 002E LDCONST R7 K25 - 0x88200111, // 002F GETMBR R8 R0 K17 - 0x88240112, // 0030 GETMBR R9 R0 K18 - 0x7C140800, // 0031 CALL R5 4 - 0x5818001A, // 0032 LDCONST R6 K26 - 0x7C100400, // 0033 CALL R4 2 - 0x60100008, // 0034 GETGBL R4 G8 - 0x88140107, // 0035 GETMBR R5 R0 K7 - 0x541A0FFE, // 0036 LDINT R6 4095 - 0x2C140A06, // 0037 AND R5 R5 R6 - 0x7C100200, // 0038 CALL R4 1 - 0x00123604, // 0039 ADD R4 K27 R4 - 0xB8162E00, // 003A GETNGBL R5 K23 - 0x001A3804, // 003B ADD R6 K28 R4 - 0x581C001D, // 003C LDCONST R7 K29 - 0x7C140400, // 003D CALL R5 2 - 0x8C14031E, // 003E GETMET R5 R1 K30 - 0x581C0014, // 003F LDCONST R7 K20 - 0x58200015, // 0040 LDCONST R8 K21 - 0x88240111, // 0041 GETMBR R9 R0 K17 - 0x88280112, // 0042 GETMBR R10 R0 K18 - 0x5C2C0800, // 0043 MOVE R11 R4 - 0x7C140C00, // 0044 CALL R5 6 - 0x60140008, // 0045 GETGBL R5 G8 - 0x88180107, // 0046 GETMBR R6 R0 K7 - 0x541E0EFF, // 0047 LDINT R7 3840 - 0x2C180C07, // 0048 AND R6 R6 R7 - 0x541E0007, // 0049 LDINT R7 8 - 0x3C180C07, // 004A SHR R6 R6 R7 - 0x7C140200, // 004B CALL R5 1 - 0x00163E05, // 004C ADD R5 K31 R5 - 0x5C100A00, // 004D MOVE R4 R5 - 0xB8162E00, // 004E GETNGBL R5 K23 - 0x001A3804, // 004F ADD R6 K28 R4 - 0x581C001D, // 0050 LDCONST R7 K29 - 0x7C140400, // 0051 CALL R5 2 - 0x8C14031E, // 0052 GETMET R5 R1 K30 - 0x581C0014, // 0053 LDCONST R7 K20 - 0x58200015, // 0054 LDCONST R8 K21 - 0x88240111, // 0055 GETMBR R9 R0 K17 - 0x88280112, // 0056 GETMBR R10 R0 K18 - 0x5C2C0800, // 0057 MOVE R11 R4 - 0x7C140C00, // 0058 CALL R5 6 - 0x60140008, // 0059 GETGBL R5 G8 - 0x88180104, // 005A GETMBR R6 R0 K4 - 0x7C140200, // 005B CALL R5 1 - 0x00164005, // 005C ADD R5 K32 R5 - 0x5C100A00, // 005D MOVE R4 R5 - 0xB8162E00, // 005E GETNGBL R5 K23 - 0x001A3804, // 005F ADD R6 K28 R4 - 0x581C001D, // 0060 LDCONST R7 K29 - 0x7C140400, // 0061 CALL R5 2 - 0x8C14031E, // 0062 GETMET R5 R1 K30 - 0x581C0014, // 0063 LDCONST R7 K20 - 0x58200015, // 0064 LDCONST R8 K21 - 0x88240111, // 0065 GETMBR R9 R0 K17 - 0x88280112, // 0066 GETMBR R10 R0 K18 - 0x5C2C0800, // 0067 MOVE R11 R4 - 0x7C140C00, // 0068 CALL R5 6 - 0x58100021, // 0069 LDCONST R4 K33 - 0xB8162E00, // 006A GETNGBL R5 K23 - 0x001A3804, // 006B ADD R6 K28 R4 - 0x581C001D, // 006C LDCONST R7 K29 - 0x7C140400, // 006D CALL R5 2 - 0x8C14031E, // 006E GETMET R5 R1 K30 - 0x581C0014, // 006F LDCONST R7 K20 - 0x58200015, // 0070 LDCONST R8 K21 - 0x88240111, // 0071 GETMBR R9 R0 K17 - 0x88280112, // 0072 GETMBR R10 R0 K18 - 0x5C2C0800, // 0073 MOVE R11 R4 - 0x7C140C00, // 0074 CALL R5 6 - 0x88100122, // 0075 GETMBR R4 R0 K34 - 0x78120053, // 0076 JMPF R4 #00CB - 0x8C100313, // 0077 GETMET R4 R1 K19 - 0x58180014, // 0078 LDCONST R6 K20 - 0x581C0015, // 0079 LDCONST R7 K21 - 0x542215A3, // 007A LDINT R8 5540 - 0x5C240600, // 007B MOVE R9 R3 - 0x8828010E, // 007C GETMBR R10 R0 K14 - 0x882C0122, // 007D GETMBR R11 R0 K34 - 0x7C100E00, // 007E CALL R4 7 - 0x50100200, // 007F LDBOOL R4 1 0 - 0x90024604, // 0080 SETMBR R0 K35 R4 - 0xB8122E00, // 0081 GETNGBL R4 K23 - 0x60140018, // 0082 GETGBL R5 G24 - 0x58180024, // 0083 LDCONST R6 K36 - 0x581C0025, // 0084 LDCONST R7 K37 - 0x8820010E, // 0085 GETMBR R8 R0 K14 - 0x88240122, // 0086 GETMBR R9 R0 K34 - 0x7C140800, // 0087 CALL R5 4 - 0x5818001D, // 0088 LDCONST R6 K29 - 0x7C100400, // 0089 CALL R4 2 - 0x60100008, // 008A GETGBL R4 G8 - 0x88140107, // 008B GETMBR R5 R0 K7 - 0x541A0FFE, // 008C LDINT R6 4095 - 0x2C140A06, // 008D AND R5 R5 R6 - 0x7C100200, // 008E CALL R4 1 - 0x00123604, // 008F ADD R4 K27 R4 - 0xB8162E00, // 0090 GETNGBL R5 K23 - 0x001A3804, // 0091 ADD R6 K28 R4 - 0x581C001D, // 0092 LDCONST R7 K29 - 0x7C140400, // 0093 CALL R5 2 - 0x8C14031E, // 0094 GETMET R5 R1 K30 - 0x581C0014, // 0095 LDCONST R7 K20 - 0x58200015, // 0096 LDCONST R8 K21 - 0x8824010E, // 0097 GETMBR R9 R0 K14 - 0x88280122, // 0098 GETMBR R10 R0 K34 - 0x5C2C0800, // 0099 MOVE R11 R4 - 0x7C140C00, // 009A CALL R5 6 - 0x60140008, // 009B GETGBL R5 G8 - 0x88180107, // 009C GETMBR R6 R0 K7 - 0x541E0EFF, // 009D LDINT R7 3840 - 0x2C180C07, // 009E AND R6 R6 R7 - 0x541E0007, // 009F LDINT R7 8 - 0x3C180C07, // 00A0 SHR R6 R6 R7 - 0x7C140200, // 00A1 CALL R5 1 - 0x00163E05, // 00A2 ADD R5 K31 R5 - 0x5C100A00, // 00A3 MOVE R4 R5 - 0xB8162E00, // 00A4 GETNGBL R5 K23 - 0x001A3804, // 00A5 ADD R6 K28 R4 - 0x581C001D, // 00A6 LDCONST R7 K29 - 0x7C140400, // 00A7 CALL R5 2 - 0x8C14031E, // 00A8 GETMET R5 R1 K30 - 0x581C0014, // 00A9 LDCONST R7 K20 - 0x58200015, // 00AA LDCONST R8 K21 - 0x8824010E, // 00AB GETMBR R9 R0 K14 - 0x88280122, // 00AC GETMBR R10 R0 K34 - 0x5C2C0800, // 00AD MOVE R11 R4 - 0x7C140C00, // 00AE CALL R5 6 - 0x60140008, // 00AF GETGBL R5 G8 - 0x88180104, // 00B0 GETMBR R6 R0 K4 - 0x7C140200, // 00B1 CALL R5 1 - 0x00164005, // 00B2 ADD R5 K32 R5 - 0x5C100A00, // 00B3 MOVE R4 R5 - 0xB8162E00, // 00B4 GETNGBL R5 K23 - 0x001A3804, // 00B5 ADD R6 K28 R4 - 0x581C001D, // 00B6 LDCONST R7 K29 - 0x7C140400, // 00B7 CALL R5 2 - 0x8C14031E, // 00B8 GETMET R5 R1 K30 - 0x581C0014, // 00B9 LDCONST R7 K20 - 0x58200015, // 00BA LDCONST R8 K21 - 0x8824010E, // 00BB GETMBR R9 R0 K14 - 0x88280122, // 00BC GETMBR R10 R0 K34 - 0x5C2C0800, // 00BD MOVE R11 R4 - 0x7C140C00, // 00BE CALL R5 6 - 0x58100021, // 00BF LDCONST R4 K33 - 0xB8162E00, // 00C0 GETNGBL R5 K23 - 0x001A3804, // 00C1 ADD R6 K28 R4 - 0x581C001D, // 00C2 LDCONST R7 K29 - 0x7C140400, // 00C3 CALL R5 2 - 0x8C14031E, // 00C4 GETMET R5 R1 K30 - 0x581C0014, // 00C5 LDCONST R7 K20 - 0x58200015, // 00C6 LDCONST R8 K21 - 0x8824010E, // 00C7 GETMBR R9 R0 K14 - 0x88280122, // 00C8 GETMBR R10 R0 K34 - 0x5C2C0800, // 00C9 MOVE R11 R4 - 0x7C140C00, // 00CA CALL R5 6 - 0xA8040001, // 00CB EXBLK 1 1 - 0x7002000F, // 00CC JMP #00DD - 0xAC100002, // 00CD CATCH R4 0 2 - 0x7002000C, // 00CE JMP #00DC - 0xB81A2E00, // 00CF GETNGBL R6 K23 - 0x601C0008, // 00D0 GETGBL R7 G8 - 0x5C200800, // 00D1 MOVE R8 R4 - 0x7C1C0200, // 00D2 CALL R7 1 - 0x001E4C07, // 00D3 ADD R7 K38 R7 - 0x001C0F27, // 00D4 ADD R7 R7 K39 - 0x60200008, // 00D5 GETGBL R8 G8 - 0x5C240A00, // 00D6 MOVE R9 R5 - 0x7C200200, // 00D7 CALL R8 1 - 0x001C0E08, // 00D8 ADD R7 R7 R8 - 0x5820001A, // 00D9 LDCONST R8 K26 - 0x7C180400, // 00DA CALL R6 2 - 0x70020000, // 00DB JMP #00DD - 0xB0080000, // 00DC RAISE 2 R0 R0 - 0x80000000, // 00DD RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: autoconf_sensors_list -********************************************************************/ -be_local_closure(class_Matter_Device_autoconf_sensors_list, /* 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(k2l), - /* K1 */ be_nested_str_weak(contains), - /* K2 */ be_nested_str_weak(Temperature), - /* K3 */ be_nested_str_weak(_X23Temperature), - /* K4 */ be_nested_str_weak(push), - /* K5 */ be_nested_str_weak(type), - /* K6 */ be_nested_str_weak(temperature), - /* K7 */ be_nested_str_weak(filter), - /* K8 */ be_nested_str_weak(stop_iteration), - /* K9 */ be_nested_str_weak(Pressure), - /* K10 */ be_nested_str_weak(_X23Pressure), - /* K11 */ be_nested_str_weak(pressure), - /* K12 */ be_nested_str_weak(Illuminance), - /* K13 */ be_nested_str_weak(_X23Illuminance), - /* K14 */ be_nested_str_weak(illuminance), - /* K15 */ be_nested_str_weak(Humidity), - /* K16 */ be_nested_str_weak(_X23Humidity), - /* K17 */ be_nested_str_weak(humidity), - }), - be_str_weak(autoconf_sensors_list), - &be_const_str_solidified, - ( &(const binstruction[119]) { /* code */ - 0x60080012, // 0000 GETGBL R2 G18 - 0x7C080000, // 0001 CALL R2 0 - 0x600C0010, // 0002 GETGBL R3 G16 - 0x8C100100, // 0003 GETMET R4 R0 K0 - 0x5C180200, // 0004 MOVE R6 R1 - 0x7C100400, // 0005 CALL R4 2 - 0x7C0C0200, // 0006 CALL R3 1 - 0xA8020013, // 0007 EXBLK 0 #001C - 0x5C100600, // 0008 MOVE R4 R3 - 0x7C100000, // 0009 CALL R4 0 - 0x94140204, // 000A GETIDX R5 R1 R4 - 0x6018000F, // 000B GETGBL R6 G15 - 0x5C1C0A00, // 000C MOVE R7 R5 - 0x60200013, // 000D GETGBL R8 G19 - 0x7C180400, // 000E CALL R6 2 - 0x781A000A, // 000F JMPF R6 #001B - 0x8C180B01, // 0010 GETMET R6 R5 K1 - 0x58200002, // 0011 LDCONST R8 K2 - 0x7C180400, // 0012 CALL R6 2 - 0x781A0006, // 0013 JMPF R6 #001B - 0x00180903, // 0014 ADD R6 R4 K3 - 0x8C1C0504, // 0015 GETMET R7 R2 K4 - 0x60240013, // 0016 GETGBL R9 G19 - 0x7C240000, // 0017 CALL R9 0 - 0x98260B06, // 0018 SETIDX R9 K5 K6 - 0x98260E06, // 0019 SETIDX R9 K7 R6 - 0x7C1C0400, // 001A CALL R7 2 - 0x7001FFEB, // 001B JMP #0008 - 0x580C0008, // 001C LDCONST R3 K8 - 0xAC0C0200, // 001D CATCH R3 1 0 - 0xB0080000, // 001E RAISE 2 R0 R0 - 0x600C0010, // 001F GETGBL R3 G16 - 0x8C100100, // 0020 GETMET R4 R0 K0 - 0x5C180200, // 0021 MOVE R6 R1 - 0x7C100400, // 0022 CALL R4 2 - 0x7C0C0200, // 0023 CALL R3 1 - 0xA8020013, // 0024 EXBLK 0 #0039 - 0x5C100600, // 0025 MOVE R4 R3 - 0x7C100000, // 0026 CALL R4 0 - 0x94140204, // 0027 GETIDX R5 R1 R4 - 0x6018000F, // 0028 GETGBL R6 G15 - 0x5C1C0A00, // 0029 MOVE R7 R5 - 0x60200013, // 002A GETGBL R8 G19 - 0x7C180400, // 002B CALL R6 2 - 0x781A000A, // 002C JMPF R6 #0038 - 0x8C180B01, // 002D GETMET R6 R5 K1 - 0x58200009, // 002E LDCONST R8 K9 - 0x7C180400, // 002F CALL R6 2 - 0x781A0006, // 0030 JMPF R6 #0038 - 0x0018090A, // 0031 ADD R6 R4 K10 - 0x8C1C0504, // 0032 GETMET R7 R2 K4 - 0x60240013, // 0033 GETGBL R9 G19 - 0x7C240000, // 0034 CALL R9 0 - 0x98260B0B, // 0035 SETIDX R9 K5 K11 - 0x98260E06, // 0036 SETIDX R9 K7 R6 - 0x7C1C0400, // 0037 CALL R7 2 - 0x7001FFEB, // 0038 JMP #0025 - 0x580C0008, // 0039 LDCONST R3 K8 - 0xAC0C0200, // 003A CATCH R3 1 0 - 0xB0080000, // 003B RAISE 2 R0 R0 - 0x600C0010, // 003C GETGBL R3 G16 - 0x8C100100, // 003D GETMET R4 R0 K0 - 0x5C180200, // 003E MOVE R6 R1 - 0x7C100400, // 003F CALL R4 2 - 0x7C0C0200, // 0040 CALL R3 1 - 0xA8020013, // 0041 EXBLK 0 #0056 - 0x5C100600, // 0042 MOVE R4 R3 - 0x7C100000, // 0043 CALL R4 0 - 0x94140204, // 0044 GETIDX R5 R1 R4 - 0x6018000F, // 0045 GETGBL R6 G15 - 0x5C1C0A00, // 0046 MOVE R7 R5 - 0x60200013, // 0047 GETGBL R8 G19 - 0x7C180400, // 0048 CALL R6 2 - 0x781A000A, // 0049 JMPF R6 #0055 - 0x8C180B01, // 004A GETMET R6 R5 K1 - 0x5820000C, // 004B LDCONST R8 K12 - 0x7C180400, // 004C CALL R6 2 - 0x781A0006, // 004D JMPF R6 #0055 - 0x0018090D, // 004E ADD R6 R4 K13 - 0x8C1C0504, // 004F GETMET R7 R2 K4 - 0x60240013, // 0050 GETGBL R9 G19 - 0x7C240000, // 0051 CALL R9 0 - 0x98260B0E, // 0052 SETIDX R9 K5 K14 - 0x98260E06, // 0053 SETIDX R9 K7 R6 - 0x7C1C0400, // 0054 CALL R7 2 - 0x7001FFEB, // 0055 JMP #0042 - 0x580C0008, // 0056 LDCONST R3 K8 - 0xAC0C0200, // 0057 CATCH R3 1 0 - 0xB0080000, // 0058 RAISE 2 R0 R0 - 0x600C0010, // 0059 GETGBL R3 G16 - 0x8C100100, // 005A GETMET R4 R0 K0 - 0x5C180200, // 005B MOVE R6 R1 - 0x7C100400, // 005C CALL R4 2 - 0x7C0C0200, // 005D CALL R3 1 - 0xA8020013, // 005E EXBLK 0 #0073 - 0x5C100600, // 005F MOVE R4 R3 - 0x7C100000, // 0060 CALL R4 0 - 0x94140204, // 0061 GETIDX R5 R1 R4 - 0x6018000F, // 0062 GETGBL R6 G15 - 0x5C1C0A00, // 0063 MOVE R7 R5 - 0x60200013, // 0064 GETGBL R8 G19 - 0x7C180400, // 0065 CALL R6 2 - 0x781A000A, // 0066 JMPF R6 #0072 - 0x8C180B01, // 0067 GETMET R6 R5 K1 - 0x5820000F, // 0068 LDCONST R8 K15 - 0x7C180400, // 0069 CALL R6 2 - 0x781A0006, // 006A JMPF R6 #0072 - 0x00180910, // 006B ADD R6 R4 K16 - 0x8C1C0504, // 006C GETMET R7 R2 K4 - 0x60240013, // 006D GETGBL R9 G19 - 0x7C240000, // 006E CALL R9 0 - 0x98260B11, // 006F SETIDX R9 K5 K17 - 0x98260E06, // 0070 SETIDX R9 K7 R6 - 0x7C1C0400, // 0071 CALL R7 2 - 0x7001FFEB, // 0072 JMP #005F - 0x580C0008, // 0073 LDCONST R3 K8 - 0xAC0C0200, // 0074 CATCH R3 1 0 - 0xB0080000, // 0075 RAISE 2 R0 R0 - 0x80040400, // 0076 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: process_attribute_expansion -********************************************************************/ -be_local_closure(class_Matter_Device_process_attribute_expansion, /* name */ - be_nested_proto( - 12, /* 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_nested_str_weak(endpoint), - /* K1 */ be_nested_str_weak(cluster), - /* K2 */ be_nested_str_weak(attribute), - /* K3 */ be_nested_str_weak(matter), - /* K4 */ be_nested_str_weak(PathGenerator), - /* K5 */ be_nested_str_weak(start), - /* K6 */ be_nested_str_weak(is_direct), - /* K7 */ be_nested_str_weak(next_attribute), - /* K8 */ be_nested_str_weak(get_pi), - }), - be_str_weak(process_attribute_expansion), - &be_const_str_solidified, - ( &(const binstruction[28]) { /* code */ - 0x880C0300, // 0000 GETMBR R3 R1 K0 - 0x88100301, // 0001 GETMBR R4 R1 K1 - 0x88140302, // 0002 GETMBR R5 R1 K2 - 0xB81A0600, // 0003 GETNGBL R6 K3 - 0x8C180D04, // 0004 GETMET R6 R6 K4 - 0x5C200000, // 0005 MOVE R8 R0 - 0x7C180400, // 0006 CALL R6 2 - 0x8C1C0D05, // 0007 GETMET R7 R6 K5 - 0x5C240600, // 0008 MOVE R9 R3 - 0x5C280800, // 0009 MOVE R10 R4 - 0x5C2C0A00, // 000A MOVE R11 R5 - 0x7C1C0800, // 000B CALL R7 4 - 0x8C1C0D06, // 000C GETMET R7 R6 K6 - 0x7C1C0200, // 000D CALL R7 1 - 0x4C200000, // 000E LDNIL R8 - 0x8C240D07, // 000F GETMET R9 R6 K7 - 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 - 0x8C280D08, // 0016 GETMET R10 R6 K8 - 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: stop_basic_commissioning -********************************************************************/ -be_local_closure(class_Matter_Device_stop_basic_commissioning, /* name */ - be_nested_proto( - 6, /* nstack */ - 1, /* argc */ - 2, /* 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(is_root_commissioning_open), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(publish_result), - /* K3 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A0_X7D_X7D), - /* K4 */ be_nested_str_weak(Matter), - /* K5 */ be_nested_str_weak(commissioning_open), - /* K6 */ be_nested_str_weak(mdns_remove_PASE), - /* K7 */ be_nested_str_weak(commissioning_iterations), - /* K8 */ be_nested_str_weak(commissioning_discriminator), - /* K9 */ be_nested_str_weak(commissioning_salt), - /* K10 */ be_nested_str_weak(commissioning_w0), - /* K11 */ be_nested_str_weak(commissioning_L), - /* K12 */ be_nested_str_weak(commissioning_admin_fabric), - }), - be_str_weak(stop_basic_commissioning), - &be_const_str_solidified, - ( &(const binstruction[19]) { /* code */ - 0x4C040000, // 0000 LDNIL R1 - 0x8C080100, // 0001 GETMET R2 R0 K0 - 0x7C080200, // 0002 CALL R2 1 - 0x780A0004, // 0003 JMPF R2 #0009 - 0xB80A0200, // 0004 GETNGBL R2 K1 - 0x8C080502, // 0005 GETMET R2 R2 K2 - 0x58100003, // 0006 LDCONST R4 K3 - 0x58140004, // 0007 LDCONST R5 K4 - 0x7C080600, // 0008 CALL R2 3 - 0x90020A01, // 0009 SETMBR R0 K5 R1 - 0x8C080106, // 000A GETMET R2 R0 K6 - 0x7C080200, // 000B CALL R2 1 - 0x90020E01, // 000C SETMBR R0 K7 R1 - 0x90021001, // 000D SETMBR R0 K8 R1 - 0x90021201, // 000E SETMBR R0 K9 R1 - 0x90021401, // 000F SETMBR R0 K10 R1 - 0x90021601, // 0010 SETMBR R0 K11 R1 - 0x90021801, // 0011 SETMBR R0 K12 R1 - 0x80000000, // 0012 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: clean_remotes -********************************************************************/ -be_local_closure(class_Matter_Device_clean_remotes, /* 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[17]) { /* constants */ - /* K0 */ be_nested_str_weak(introspect), - /* K1 */ be_nested_str_weak(http_remotes), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(stop_iteration), - /* K4 */ be_nested_str_weak(plugins), - /* K5 */ be_nested_str_weak(get), - /* K6 */ be_nested_str_weak(http_remote), - /* K7 */ be_nested_str_weak(find), - /* K8 */ be_const_int(1), - /* K9 */ be_nested_str_weak(keys), - /* K10 */ be_nested_str_weak(push), - /* K11 */ be_nested_str_weak(log), - /* K12 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20), - /* K13 */ be_nested_str_weak(addr), - /* K14 */ be_const_int(3), - /* K15 */ be_nested_str_weak(close), - /* K16 */ be_nested_str_weak(remove), - }), - be_str_weak(clean_remotes), - &be_const_str_solidified, - ( &(const binstruction[80]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x780A004B, // 0002 JMPF R2 #004F - 0x60080013, // 0003 GETGBL R2 G19 - 0x7C080000, // 0004 CALL R2 0 - 0x600C0010, // 0005 GETGBL R3 G16 - 0x88100101, // 0006 GETMBR R4 R0 K1 - 0x7C0C0200, // 0007 CALL R3 1 - 0xA8020003, // 0008 EXBLK 0 #000D - 0x5C100600, // 0009 MOVE R4 R3 - 0x7C100000, // 000A CALL R4 0 - 0x98080902, // 000B SETIDX R2 R4 K2 - 0x7001FFFB, // 000C JMP #0009 - 0x580C0003, // 000D LDCONST R3 K3 - 0xAC0C0200, // 000E CATCH R3 1 0 - 0xB0080000, // 000F RAISE 2 R0 R0 - 0x600C0010, // 0010 GETGBL R3 G16 - 0x88100104, // 0011 GETMBR R4 R0 K4 - 0x7C0C0200, // 0012 CALL R3 1 - 0xA802000F, // 0013 EXBLK 0 #0024 - 0x5C100600, // 0014 MOVE R4 R3 - 0x7C100000, // 0015 CALL R4 0 - 0x8C140305, // 0016 GETMET R5 R1 K5 - 0x5C1C0800, // 0017 MOVE R7 R4 - 0x58200006, // 0018 LDCONST R8 K6 - 0x7C140600, // 0019 CALL R5 3 - 0x4C180000, // 001A LDNIL R6 - 0x20180A06, // 001B NE R6 R5 R6 - 0x781A0005, // 001C JMPF R6 #0023 - 0x8C180507, // 001D GETMET R6 R2 K7 - 0x5C200A00, // 001E MOVE R8 R5 - 0x58240002, // 001F LDCONST R9 K2 - 0x7C180600, // 0020 CALL R6 3 - 0x00180D08, // 0021 ADD R6 R6 K8 - 0x98080A06, // 0022 SETIDX R2 R5 R6 - 0x7001FFEF, // 0023 JMP #0014 - 0x580C0003, // 0024 LDCONST R3 K3 - 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 - 0x8C140509, // 002A GETMET R5 R2 K9 - 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 - 0x1C180D02, // 0031 EQ R6 R6 K2 - 0x781A0002, // 0032 JMPF R6 #0036 - 0x8C18070A, // 0033 GETMET R6 R3 K10 - 0x5C200A00, // 0034 MOVE R8 R5 - 0x7C180400, // 0035 CALL R6 2 - 0x7001FFF6, // 0036 JMP #002E - 0x58100003, // 0037 LDCONST R4 K3 - 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 - 0xB81A1600, // 0040 GETNGBL R6 K11 - 0x881C0B0D, // 0041 GETMBR R7 R5 K13 - 0x001E1807, // 0042 ADD R7 K12 R7 - 0x5820000E, // 0043 LDCONST R8 K14 - 0x7C180400, // 0044 CALL R6 2 - 0x8C180B0F, // 0045 GETMET R6 R5 K15 - 0x7C180200, // 0046 CALL R6 1 - 0x88180101, // 0047 GETMBR R6 R0 K1 - 0x8C180D10, // 0048 GETMET R6 R6 K16 - 0x88200B0D, // 0049 GETMBR R8 R5 K13 - 0x7C180400, // 004A CALL R6 2 - 0x7001FFF1, // 004B JMP #003E - 0x58100003, // 004C LDCONST R4 K3 - 0xAC100200, // 004D CATCH R4 1 0 - 0xB0080000, // 004E RAISE 2 R0 R0 - 0x80000000, // 004F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(class_Matter_Device_init, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 2, /* 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(start), - /* 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_start), - }), - 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 - 0x580C0004, // 0006 LDCONST R3 K4 - 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[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(start), - /* 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_start), - }), - 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 - 0x580C0004, // 0006 LDCONST R3 K4 - 0x7C000600, // 0007 CALL R0 3 - 0x80000000, // 0008 RET 0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[38]) { /* constants */ - /* K0 */ be_nested_str_weak(crypto), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(get_option), - /* K3 */ be_nested_str_weak(matter), - /* K4 */ be_nested_str_weak(MATTER_OPTION), - /* K5 */ be_nested_str_weak(UI), - /* K6 */ be_nested_str_weak(profiler), - /* K7 */ be_nested_str_weak(Profiler), - /* K8 */ be_nested_str_weak(started), - /* K9 */ be_nested_str_weak(tick), - /* K10 */ be_const_int(0), - /* K11 */ be_nested_str_weak(plugins), - /* K12 */ be_nested_str_weak(plugins_persist), - /* K13 */ be_nested_str_weak(plugins_config_remotes), - /* K14 */ be_nested_str_weak(next_ep), - /* K15 */ be_const_int(2), - /* K16 */ be_nested_str_weak(ipv4only), - /* K17 */ be_nested_str_weak(disable_bridge_mode), - /* K18 */ be_nested_str_weak(load_param), - /* K19 */ be_nested_str_weak(sessions), - /* K20 */ be_nested_str_weak(Session_Store), - /* K21 */ be_nested_str_weak(load_fabrics), - /* K22 */ be_nested_str_weak(message_handler), - /* K23 */ be_nested_str_weak(MessageHandler), - /* K24 */ be_nested_str_weak(events), - /* K25 */ be_nested_str_weak(EventHandler), - /* K26 */ be_nested_str_weak(ui), - /* K27 */ be_nested_str_weak(wifi), - /* K28 */ be_nested_str_weak(up), - /* K29 */ be_nested_str_weak(eth), - /* K30 */ be_nested_str_weak(start), - /* K31 */ be_nested_str_weak(add_rule), - /* K32 */ be_nested_str_weak(Wifi_X23Connected), - /* K33 */ be_nested_str_weak(matter_start), - /* K34 */ be_nested_str_weak(Eth_X23Connected), - /* K35 */ be_nested_str_weak(_init_basic_commissioning), - /* K36 */ be_nested_str_weak(add_driver), - /* K37 */ be_nested_str_weak(register_commands), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[102]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0xB80A0200, // 0001 GETNGBL R2 K1 - 0x8C080502, // 0002 GETMET R2 R2 K2 - 0xB8120600, // 0003 GETNGBL R4 K3 - 0x88100904, // 0004 GETMBR R4 R4 K4 - 0x7C080400, // 0005 CALL R2 2 - 0x740A0004, // 0006 JMPT R2 #000C - 0xB80A0600, // 0007 GETNGBL R2 K3 - 0x8C080505, // 0008 GETMET R2 R2 K5 - 0x5C100000, // 0009 MOVE R4 R0 - 0x7C080400, // 000A CALL R2 2 - 0x80000400, // 000B RET 0 - 0xB80A0600, // 000C GETNGBL R2 K3 - 0xB80E0600, // 000D GETNGBL R3 K3 - 0x8C0C0707, // 000E GETMET R3 R3 K7 - 0x7C0C0200, // 000F CALL R3 1 - 0x900A0C03, // 0010 SETMBR R2 K6 R3 - 0x50080000, // 0011 LDBOOL R2 0 0 - 0x90021002, // 0012 SETMBR R0 K8 R2 - 0x9002130A, // 0013 SETMBR R0 K9 K10 - 0x60080012, // 0014 GETGBL R2 G18 - 0x7C080000, // 0015 CALL R2 0 - 0x90021602, // 0016 SETMBR R0 K11 R2 - 0x50080000, // 0017 LDBOOL R2 0 0 - 0x90021802, // 0018 SETMBR R0 K12 R2 - 0x60080013, // 0019 GETGBL R2 G19 - 0x7C080000, // 001A CALL R2 0 - 0x90021A02, // 001B SETMBR R0 K13 R2 - 0x90021D0F, // 001C SETMBR R0 K14 K15 - 0x50080000, // 001D LDBOOL R2 0 0 - 0x90022002, // 001E SETMBR R0 K16 R2 - 0x50080000, // 001F LDBOOL R2 0 0 - 0x90022202, // 0020 SETMBR R0 K17 R2 - 0x8C080112, // 0021 GETMET R2 R0 K18 - 0x7C080200, // 0022 CALL R2 1 - 0xB80A0600, // 0023 GETNGBL R2 K3 - 0x8C080514, // 0024 GETMET R2 R2 K20 - 0x5C100000, // 0025 MOVE R4 R0 - 0x7C080400, // 0026 CALL R2 2 - 0x90022602, // 0027 SETMBR R0 K19 R2 - 0x88080113, // 0028 GETMBR R2 R0 K19 - 0x8C080515, // 0029 GETMET R2 R2 K21 - 0x7C080200, // 002A CALL R2 1 - 0xB80A0600, // 002B GETNGBL R2 K3 - 0x8C080517, // 002C GETMET R2 R2 K23 - 0x5C100000, // 002D MOVE R4 R0 - 0x7C080400, // 002E CALL R2 2 - 0x90022C02, // 002F SETMBR R0 K22 R2 - 0xB80A0600, // 0030 GETNGBL R2 K3 - 0x8C080519, // 0031 GETMET R2 R2 K25 - 0x5C100000, // 0032 MOVE R4 R0 - 0x7C080400, // 0033 CALL R2 2 - 0x90023002, // 0034 SETMBR R0 K24 R2 - 0xB80A0600, // 0035 GETNGBL R2 K3 - 0x8C080505, // 0036 GETMET R2 R2 K5 - 0x5C100000, // 0037 MOVE R4 R0 - 0x7C080400, // 0038 CALL R2 2 - 0x90023402, // 0039 SETMBR R0 K26 R2 - 0xB80A0200, // 003A GETNGBL R2 K1 - 0x8C08051B, // 003B GETMET R2 R2 K27 - 0x7C080200, // 003C CALL R2 1 - 0x9408051C, // 003D GETIDX R2 R2 K28 - 0x740A0004, // 003E JMPT R2 #0044 - 0xB80A0200, // 003F GETNGBL R2 K1 - 0x8C08051D, // 0040 GETMET R2 R2 K29 - 0x7C080200, // 0041 CALL R2 1 - 0x9408051C, // 0042 GETIDX R2 R2 K28 - 0x780A0001, // 0043 JMPF R2 #0046 - 0x8C08011E, // 0044 GETMET R2 R0 K30 - 0x7C080200, // 0045 CALL R2 1 - 0xB80A0200, // 0046 GETNGBL R2 K1 - 0x8C08051B, // 0047 GETMET R2 R2 K27 - 0x7C080200, // 0048 CALL R2 1 - 0x9408051C, // 0049 GETIDX R2 R2 K28 - 0x740A0005, // 004A JMPT R2 #0051 - 0xB80A0200, // 004B GETNGBL R2 K1 - 0x8C08051F, // 004C GETMET R2 R2 K31 - 0x58100020, // 004D LDCONST R4 K32 - 0x84140000, // 004E CLOSURE R5 P0 - 0x58180021, // 004F LDCONST R6 K33 - 0x7C080800, // 0050 CALL R2 4 - 0xB80A0200, // 0051 GETNGBL R2 K1 - 0x8C08051D, // 0052 GETMET R2 R2 K29 - 0x7C080200, // 0053 CALL R2 1 - 0x9408051C, // 0054 GETIDX R2 R2 K28 - 0x740A0005, // 0055 JMPT R2 #005C - 0xB80A0200, // 0056 GETNGBL R2 K1 - 0x8C08051F, // 0057 GETMET R2 R2 K31 - 0x58100022, // 0058 LDCONST R4 K34 - 0x84140001, // 0059 CLOSURE R5 P1 - 0x58180021, // 005A LDCONST R6 K33 - 0x7C080800, // 005B CALL R2 4 - 0x8C080123, // 005C GETMET R2 R0 K35 - 0x7C080200, // 005D CALL R2 1 - 0xB80A0200, // 005E GETNGBL R2 K1 - 0x8C080524, // 005F GETMET R2 R2 K36 - 0x5C100000, // 0060 MOVE R4 R0 - 0x7C080400, // 0061 CALL R2 2 - 0x8C080125, // 0062 GETMET R2 R0 K37 - 0x7C080200, // 0063 CALL R2 1 - 0xA0000000, // 0064 CLOSE R0 - 0x80000000, // 0065 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_remove_op_discovery -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_remove_op_discovery, /* name */ - be_nested_proto( - 12, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[23]) { /* constants */ - /* K0 */ be_nested_str_weak(mdns), - /* K1 */ be_nested_str_weak(get_device_id), - /* K2 */ be_nested_str_weak(copy), - /* K3 */ be_nested_str_weak(reverse), - /* K4 */ be_nested_str_weak(get_fabric_compressed), - /* K5 */ be_nested_str_weak(tohex), - /* K6 */ be_nested_str_weak(_X2D), - /* K7 */ be_nested_str_weak(tasmota), - /* K8 */ be_nested_str_weak(eth), - /* K9 */ be_nested_str_weak(find), - /* K10 */ be_nested_str_weak(up), - /* K11 */ be_nested_str_weak(log), - /* K12 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27), - /* K13 */ be_const_int(3), - /* K14 */ be_nested_str_weak(remove_service), - /* K15 */ be_nested_str_weak(_matter), - /* K16 */ be_nested_str_weak(_tcp), - /* K17 */ be_nested_str_weak(hostname_eth), - /* K18 */ be_nested_str_weak(wifi), - /* K19 */ be_nested_str_weak(hostname_wifi), - /* K20 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K21 */ be_nested_str_weak(_X7C), - /* K22 */ be_const_int(2), - }), - be_str_weak(mdns_remove_op_discovery), - &be_const_str_solidified, - ( &(const binstruction[77]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0xA8020039, // 0001 EXBLK 0 #003C - 0x8C0C0301, // 0002 GETMET R3 R1 K1 - 0x7C0C0200, // 0003 CALL R3 1 - 0x8C0C0702, // 0004 GETMET R3 R3 K2 - 0x7C0C0200, // 0005 CALL R3 1 - 0x8C0C0703, // 0006 GETMET R3 R3 K3 - 0x7C0C0200, // 0007 CALL R3 1 - 0x8C100304, // 0008 GETMET R4 R1 K4 - 0x7C100200, // 0009 CALL R4 1 - 0x8C140905, // 000A GETMET R5 R4 K5 - 0x7C140200, // 000B CALL R5 1 - 0x00140B06, // 000C ADD R5 R5 K6 - 0x8C180705, // 000D GETMET R6 R3 K5 - 0x7C180200, // 000E CALL R6 1 - 0x00140A06, // 000F ADD R5 R5 R6 - 0xB81A0E00, // 0010 GETNGBL R6 K7 - 0x8C180D08, // 0011 GETMET R6 R6 K8 - 0x7C180200, // 0012 CALL R6 1 - 0x8C180D09, // 0013 GETMET R6 R6 K9 - 0x5820000A, // 0014 LDCONST R8 K10 - 0x7C180400, // 0015 CALL R6 2 - 0x781A000D, // 0016 JMPF R6 #0025 - 0xB81A1600, // 0017 GETNGBL R6 K11 - 0x601C0018, // 0018 GETGBL R7 G24 - 0x5820000C, // 0019 LDCONST R8 K12 - 0x58240008, // 001A LDCONST R9 K8 - 0x5C280A00, // 001B MOVE R10 R5 - 0x7C1C0600, // 001C CALL R7 3 - 0x5820000D, // 001D LDCONST R8 K13 - 0x7C180400, // 001E CALL R6 2 - 0x8C18050E, // 001F GETMET R6 R2 K14 - 0x5820000F, // 0020 LDCONST R8 K15 - 0x58240010, // 0021 LDCONST R9 K16 - 0x5C280A00, // 0022 MOVE R10 R5 - 0x882C0111, // 0023 GETMBR R11 R0 K17 - 0x7C180A00, // 0024 CALL R6 5 - 0xB81A0E00, // 0025 GETNGBL R6 K7 - 0x8C180D12, // 0026 GETMET R6 R6 K18 - 0x7C180200, // 0027 CALL R6 1 - 0x8C180D09, // 0028 GETMET R6 R6 K9 - 0x5820000A, // 0029 LDCONST R8 K10 - 0x7C180400, // 002A CALL R6 2 - 0x781A000D, // 002B JMPF R6 #003A - 0xB81A1600, // 002C GETNGBL R6 K11 - 0x601C0018, // 002D GETGBL R7 G24 - 0x5820000C, // 002E LDCONST R8 K12 - 0x58240012, // 002F LDCONST R9 K18 - 0x5C280A00, // 0030 MOVE R10 R5 - 0x7C1C0600, // 0031 CALL R7 3 - 0x5820000D, // 0032 LDCONST R8 K13 - 0x7C180400, // 0033 CALL R6 2 - 0x8C18050E, // 0034 GETMET R6 R2 K14 - 0x5820000F, // 0035 LDCONST R8 K15 - 0x58240010, // 0036 LDCONST R9 K16 - 0x5C280A00, // 0037 MOVE R10 R5 - 0x882C0113, // 0038 GETMBR R11 R0 K19 - 0x7C180A00, // 0039 CALL R6 5 - 0xA8040001, // 003A EXBLK 1 1 - 0x7002000F, // 003B JMP #004C - 0xAC0C0002, // 003C CATCH R3 0 2 - 0x7002000C, // 003D JMP #004B - 0xB8161600, // 003E GETNGBL R5 K11 - 0x60180008, // 003F GETGBL R6 G8 - 0x5C1C0600, // 0040 MOVE R7 R3 - 0x7C180200, // 0041 CALL R6 1 - 0x001A2806, // 0042 ADD R6 K20 R6 - 0x00180D15, // 0043 ADD R6 R6 K21 - 0x601C0008, // 0044 GETGBL R7 G8 - 0x5C200800, // 0045 MOVE R8 R4 - 0x7C1C0200, // 0046 CALL R7 1 - 0x00180C07, // 0047 ADD R6 R6 R7 - 0x581C0016, // 0048 LDCONST R7 K22 - 0x7C140400, // 0049 CALL R5 2 - 0x70020000, // 004A JMP #004C - 0xB0080000, // 004B RAISE 2 R0 R0 - 0x80000000, // 004C RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: _start_udp -********************************************************************/ -be_local_closure(class_Matter_Device__start_udp, /* name */ - be_nested_proto( - 7, /* nstack */ - 2, /* argc */ - 2, /* 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 */ - ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_str_weak(udp_server), - /* K1 */ be_nested_str_weak(log), - /* K2 */ be_nested_str_weak(MTR_X3A_X20Starting_X20UDP_X20server_X20on_X20port_X3A_X20), - /* K3 */ be_const_int(2), - /* K4 */ be_nested_str_weak(matter), - /* K5 */ be_nested_str_weak(UDPServer), - /* K6 */ be_nested_str_weak(), - /* K7 */ be_nested_str_weak(start), - }), - 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 - 0xB80A0200, // 0007 GETNGBL R2 K1 - 0x600C0008, // 0008 GETGBL R3 G8 - 0x5C100200, // 0009 MOVE R4 R1 - 0x7C0C0200, // 000A CALL R3 1 - 0x000E0403, // 000B ADD R3 K2 R3 - 0x58100003, // 000C LDCONST R4 K3 - 0x7C080400, // 000D CALL R2 2 - 0xB80A0800, // 000E GETNGBL R2 K4 - 0x8C080505, // 000F GETMET R2 R2 K5 - 0x5C100000, // 0010 MOVE R4 R0 - 0x58140006, // 0011 LDCONST R5 K6 - 0x5C180200, // 0012 MOVE R6 R1 - 0x7C080800, // 0013 CALL R2 4 - 0x90020002, // 0014 SETMBR R0 K0 R2 - 0x88080100, // 0015 GETMBR R2 R0 K0 - 0x8C080507, // 0016 GETMET R2 R2 K7 - 0x84100000, // 0017 CLOSURE R4 P0 - 0x7C080400, // 0018 CALL R2 2 - 0xA0000000, // 0019 CLOSE R0 - 0x80000000, // 001A RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: adjust_next_ep -********************************************************************/ -be_local_closure(class_Matter_Device_adjust_next_ep, /* 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(plugins_config), - /* K1 */ be_nested_str_weak(keys), - /* K2 */ be_nested_str_weak(next_ep), - /* K3 */ be_const_int(1), - /* K4 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(adjust_next_ep), - &be_const_str_solidified, - ( &(const binstruction[21]) { /* code */ - 0x60040010, // 0000 GETGBL R1 G16 - 0x88080100, // 0001 GETMBR R2 R0 K0 - 0x8C080501, // 0002 GETMET R2 R2 K1 - 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 - 0x88100102, // 000B GETMBR R4 R0 K2 - 0x28100604, // 000C GE R4 R3 R4 - 0x78120001, // 000D JMPF R4 #0010 - 0x00100703, // 000E ADD R4 R3 K3 - 0x90020404, // 000F SETMBR R0 K2 R4 - 0x7001FFF4, // 0010 JMP #0006 - 0x58040004, // 0011 LDCONST R1 K4 - 0xAC040200, // 0012 CATCH R1 1 0 - 0xB0080000, // 0013 RAISE 2 R0 R0 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: _trigger_read_sensors -********************************************************************/ -be_local_closure(class_Matter_Device__trigger_read_sensors, /* 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[13]) { /* constants */ - /* K0 */ be_nested_str_weak(json), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(read_sensors), - /* K3 */ be_nested_str_weak(loglevel), - /* K4 */ be_const_int(3), - /* K5 */ be_nested_str_weak(log), - /* K6 */ be_nested_str_weak(MTR_X3A_X20read_sensors_X3A_X20), - /* K7 */ be_nested_str_weak(load), - /* K8 */ be_const_int(0), - /* K9 */ be_nested_str_weak(plugins), - /* K10 */ be_nested_str_weak(parse_sensors), - /* K11 */ be_const_int(1), - /* K12 */ be_nested_str_weak(MTR_X3A_X20unable_X20to_X20parse_X20read_sensors_X3A_X20), - }), - be_str_weak(_trigger_read_sensors), - &be_const_str_solidified, - ( &(const binstruction[48]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0xB80A0200, // 0001 GETNGBL R2 K1 - 0x8C080502, // 0002 GETMET R2 R2 K2 - 0x7C080200, // 0003 CALL R2 1 - 0xB80E0200, // 0004 GETNGBL R3 K1 - 0x8C0C0703, // 0005 GETMET R3 R3 K3 - 0x58140004, // 0006 LDCONST R5 K4 - 0x7C0C0400, // 0007 CALL R3 2 - 0x780E0006, // 0008 JMPF R3 #0010 - 0xB80E0A00, // 0009 GETNGBL R3 K5 - 0x60100008, // 000A GETGBL R4 G8 - 0x5C140400, // 000B MOVE R5 R2 - 0x7C100200, // 000C CALL R4 1 - 0x00120C04, // 000D ADD R4 K6 R4 - 0x58140004, // 000E LDCONST R5 K4 - 0x7C0C0400, // 000F CALL R3 2 - 0x4C0C0000, // 0010 LDNIL R3 - 0x1C0C0403, // 0011 EQ R3 R2 R3 - 0x780E0000, // 0012 JMPF R3 #0014 - 0x80000600, // 0013 RET 0 - 0x8C0C0307, // 0014 GETMET R3 R1 K7 - 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 - 0x58100008, // 001A LDCONST R4 K8 - 0x6014000C, // 001B GETGBL R5 G12 - 0x88180109, // 001C GETMBR R6 R0 K9 - 0x7C140200, // 001D CALL R5 1 - 0x14140805, // 001E LT R5 R4 R5 - 0x78160006, // 001F JMPF R5 #0027 - 0x88140109, // 0020 GETMBR R5 R0 K9 - 0x94140A04, // 0021 GETIDX R5 R5 R4 - 0x8C140B0A, // 0022 GETMET R5 R5 K10 - 0x5C1C0600, // 0023 MOVE R7 R3 - 0x7C140400, // 0024 CALL R5 2 - 0x0010090B, // 0025 ADD R4 R4 K11 - 0x7001FFF3, // 0026 JMP #001B - 0x70020006, // 0027 JMP #002F - 0xB8120A00, // 0028 GETNGBL R4 K5 - 0x60140008, // 0029 GETGBL R5 G8 - 0x5C180400, // 002A MOVE R6 R2 - 0x7C140200, // 002B CALL R5 1 - 0x00161805, // 002C ADD R5 K12 R5 - 0x58180004, // 002D LDCONST R6 K4 - 0x7C100400, // 002E CALL R4 2 - 0x80000000, // 002F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: _instantiate_plugins_from_config -********************************************************************/ -be_local_closure(class_Matter_Device__instantiate_plugins_from_config, /* name */ - be_nested_proto( - 17, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[31]) { /* constants */ - /* K0 */ be_nested_str_weak(k2l_num), - /* K1 */ be_nested_str_weak(plugins), - /* K2 */ be_nested_str_weak(push), - /* K3 */ be_nested_str_weak(matter), - /* K4 */ be_nested_str_weak(Plugin_Root), - /* K5 */ be_const_int(0), - /* K6 */ be_nested_str_weak(log), - /* K7 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints), - /* K8 */ be_const_int(2), - /* K9 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s), - /* K10 */ be_nested_str_weak(root), - /* K11 */ be_nested_str_weak(), - /* K12 */ be_nested_str_weak(Plugin_Aggregator), - /* K13 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), - /* K14 */ be_nested_str_weak(aggregator), - /* K15 */ be_nested_str_weak(find), - /* K16 */ be_nested_str_weak(type), - /* K17 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping), - /* K18 */ be_const_int(3), - /* K19 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed), - /* K20 */ be_nested_str_weak(plugins_classes), - /* K21 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27), - /* K22 */ be_nested_str_weak(_X27_X20skipping), - /* K23 */ be_nested_str_weak(conf_to_log), - /* K24 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K25 */ be_nested_str_weak(_X7C), - /* K26 */ be_nested_str_weak(stop_iteration), - /* K27 */ be_nested_str_weak(tasmota), - /* K28 */ be_nested_str_weak(publish_result), - /* K29 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D), - /* K30 */ be_nested_str_weak(Matter), - }), - be_str_weak(_instantiate_plugins_from_config), - &be_const_str_solidified, - ( &(const binstruction[146]) { /* code */ - 0x8C080100, // 0000 GETMET R2 R0 K0 - 0x5C100200, // 0001 MOVE R4 R1 - 0x7C080400, // 0002 CALL R2 2 - 0x880C0101, // 0003 GETMBR R3 R0 K1 - 0x8C0C0702, // 0004 GETMET R3 R3 K2 - 0xB8160600, // 0005 GETNGBL R5 K3 - 0x8C140B04, // 0006 GETMET R5 R5 K4 - 0x5C1C0000, // 0007 MOVE R7 R0 - 0x58200005, // 0008 LDCONST R8 K5 - 0x60240013, // 0009 GETGBL R9 G19 - 0x7C240000, // 000A CALL R9 0 - 0x7C140800, // 000B CALL R5 4 - 0x7C0C0400, // 000C CALL R3 2 - 0xB80E0C00, // 000D GETNGBL R3 K6 - 0x58100007, // 000E LDCONST R4 K7 - 0x58140008, // 000F LDCONST R5 K8 - 0x7C0C0400, // 0010 CALL R3 2 - 0xB80E0C00, // 0011 GETNGBL R3 K6 - 0x60100018, // 0012 GETGBL R4 G24 - 0x58140009, // 0013 LDCONST R5 K9 - 0x58180005, // 0014 LDCONST R6 K5 - 0x581C000A, // 0015 LDCONST R7 K10 - 0x5820000B, // 0016 LDCONST R8 K11 - 0x7C100800, // 0017 CALL R4 4 - 0x58140008, // 0018 LDCONST R5 K8 - 0x7C0C0400, // 0019 CALL R3 2 - 0x880C0101, // 001A GETMBR R3 R0 K1 - 0x8C0C0702, // 001B GETMET R3 R3 K2 - 0xB8160600, // 001C GETNGBL R5 K3 - 0x8C140B0C, // 001D GETMET R5 R5 K12 - 0x5C1C0000, // 001E MOVE R7 R0 - 0xB8220600, // 001F GETNGBL R8 K3 - 0x8820110D, // 0020 GETMBR R8 R8 K13 - 0x60240013, // 0021 GETGBL R9 G19 - 0x7C240000, // 0022 CALL R9 0 - 0x7C140800, // 0023 CALL R5 4 - 0x7C0C0400, // 0024 CALL R3 2 - 0xB80E0C00, // 0025 GETNGBL R3 K6 - 0x60100018, // 0026 GETGBL R4 G24 - 0x58140009, // 0027 LDCONST R5 K9 - 0xB81A0600, // 0028 GETNGBL R6 K3 - 0x88180D0D, // 0029 GETMBR R6 R6 K13 - 0x581C000E, // 002A LDCONST R7 K14 - 0x5820000B, // 002B LDCONST R8 K11 - 0x7C100800, // 002C CALL R4 4 - 0x58140008, // 002D LDCONST R5 K8 - 0x7C0C0400, // 002E CALL R3 2 - 0x600C0010, // 002F GETGBL R3 G16 - 0x5C100400, // 0030 MOVE R4 R2 - 0x7C0C0200, // 0031 CALL R3 1 - 0xA8020055, // 0032 EXBLK 0 #0089 - 0x5C100600, // 0033 MOVE R4 R3 - 0x7C100000, // 0034 CALL R4 0 - 0x1C140905, // 0035 EQ R5 R4 K5 - 0x78160000, // 0036 JMPF R5 #0038 - 0x7001FFFA, // 0037 JMP #0033 - 0xA802003E, // 0038 EXBLK 0 #0078 - 0x60140008, // 0039 GETGBL R5 G8 - 0x5C180800, // 003A MOVE R6 R4 - 0x7C140200, // 003B CALL R5 1 - 0x94140205, // 003C GETIDX R5 R1 R5 - 0x8C180B0F, // 003D GETMET R6 R5 K15 - 0x58200010, // 003E LDCONST R8 K16 - 0x7C180400, // 003F CALL R6 2 - 0x4C1C0000, // 0040 LDNIL R7 - 0x1C1C0C07, // 0041 EQ R7 R6 R7 - 0x781E0005, // 0042 JMPF R7 #0049 - 0xB81E0C00, // 0043 GETNGBL R7 K6 - 0x58200011, // 0044 LDCONST R8 K17 - 0x58240012, // 0045 LDCONST R9 K18 - 0x7C1C0400, // 0046 CALL R7 2 - 0xA8040001, // 0047 EXBLK 1 1 - 0x7001FFE9, // 0048 JMP #0033 - 0x1C1C0D0A, // 0049 EQ R7 R6 K10 - 0x781E0005, // 004A JMPF R7 #0051 - 0xB81E0C00, // 004B GETNGBL R7 K6 - 0x58200013, // 004C LDCONST R8 K19 - 0x58240012, // 004D LDCONST R9 K18 - 0x7C1C0400, // 004E CALL R7 2 - 0xA8040001, // 004F EXBLK 1 1 - 0x7001FFE1, // 0050 JMP #0033 - 0x881C0114, // 0051 GETMBR R7 R0 K20 - 0x8C1C0F0F, // 0052 GETMET R7 R7 K15 - 0x5C240C00, // 0053 MOVE R9 R6 - 0x7C1C0400, // 0054 CALL R7 2 - 0x4C200000, // 0055 LDNIL R8 - 0x1C200E08, // 0056 EQ R8 R7 R8 - 0x78220009, // 0057 JMPF R8 #0062 - 0xB8220C00, // 0058 GETNGBL R8 K6 - 0x60240008, // 0059 GETGBL R9 G8 - 0x5C280C00, // 005A MOVE R10 R6 - 0x7C240200, // 005B CALL R9 1 - 0x00262A09, // 005C ADD R9 K21 R9 - 0x00241316, // 005D ADD R9 R9 K22 - 0x58280008, // 005E LDCONST R10 K8 - 0x7C200400, // 005F CALL R8 2 - 0xA8040001, // 0060 EXBLK 1 1 - 0x7001FFD0, // 0061 JMP #0033 - 0x5C200E00, // 0062 MOVE R8 R7 - 0x5C240000, // 0063 MOVE R9 R0 - 0x5C280800, // 0064 MOVE R10 R4 - 0x5C2C0A00, // 0065 MOVE R11 R5 - 0x7C200600, // 0066 CALL R8 3 - 0x88240101, // 0067 GETMBR R9 R0 K1 - 0x8C241302, // 0068 GETMET R9 R9 K2 - 0x5C2C1000, // 0069 MOVE R11 R8 - 0x7C240400, // 006A CALL R9 2 - 0xB8260C00, // 006B GETNGBL R9 K6 - 0x60280018, // 006C GETGBL R10 G24 - 0x582C0009, // 006D LDCONST R11 K9 - 0x5C300800, // 006E MOVE R12 R4 - 0x5C340C00, // 006F MOVE R13 R6 - 0x8C380117, // 0070 GETMET R14 R0 K23 - 0x5C400A00, // 0071 MOVE R16 R5 - 0x7C380400, // 0072 CALL R14 2 - 0x7C280800, // 0073 CALL R10 4 - 0x582C0008, // 0074 LDCONST R11 K8 - 0x7C240400, // 0075 CALL R9 2 - 0xA8040001, // 0076 EXBLK 1 1 - 0x7002000F, // 0077 JMP #0088 - 0xAC140002, // 0078 CATCH R5 0 2 - 0x7002000C, // 0079 JMP #0087 - 0xB81E0C00, // 007A GETNGBL R7 K6 - 0x60200008, // 007B GETGBL R8 G8 - 0x5C240A00, // 007C MOVE R9 R5 - 0x7C200200, // 007D CALL R8 1 - 0x00223008, // 007E ADD R8 K24 R8 - 0x00201119, // 007F ADD R8 R8 K25 - 0x60240008, // 0080 GETGBL R9 G8 - 0x5C280C00, // 0081 MOVE R10 R6 - 0x7C240200, // 0082 CALL R9 1 - 0x00201009, // 0083 ADD R8 R8 R9 - 0x58240008, // 0084 LDCONST R9 K8 - 0x7C1C0400, // 0085 CALL R7 2 - 0x70020000, // 0086 JMP #0088 - 0xB0080000, // 0087 RAISE 2 R0 R0 - 0x7001FFA9, // 0088 JMP #0033 - 0x580C001A, // 0089 LDCONST R3 K26 - 0xAC0C0200, // 008A CATCH R3 1 0 - 0xB0080000, // 008B RAISE 2 R0 R0 - 0xB80E3600, // 008C GETNGBL R3 K27 - 0x8C0C071C, // 008D GETMET R3 R3 K28 - 0x5814001D, // 008E LDCONST R5 K29 - 0x5818001E, // 008F LDCONST R6 K30 - 0x7C0C0600, // 0090 CALL R3 3 - 0x80000000, // 0091 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_announce_op_discovery -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_announce_op_discovery, /* name */ - be_nested_proto( - 14, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[27]) { /* constants */ - /* K0 */ be_nested_str_weak(mdns), - /* K1 */ be_nested_str_weak(get_device_id), - /* K2 */ be_nested_str_weak(copy), - /* K3 */ be_nested_str_weak(reverse), - /* K4 */ be_nested_str_weak(get_fabric_compressed), - /* K5 */ be_nested_str_weak(tohex), - /* K6 */ be_nested_str_weak(_X2D), - /* K7 */ be_nested_str_weak(log), - /* K8 */ be_nested_str_weak(MTR_X3A_X20Operational_X20Discovery_X20node_X20_X3D_X20), - /* K9 */ be_const_int(3), - /* K10 */ be_nested_str_weak(tasmota), - /* K11 */ be_nested_str_weak(eth), - /* K12 */ be_nested_str_weak(find), - /* K13 */ be_nested_str_weak(up), - /* K14 */ be_nested_str_weak(MTR_X3A_X20adding_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60), - /* K15 */ be_nested_str_weak(hostname_eth), - /* K16 */ be_nested_str_weak(add_service), - /* K17 */ be_nested_str_weak(_matter), - /* K18 */ be_nested_str_weak(_tcp), - /* K19 */ be_nested_str_weak(_I), - /* K20 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20), - /* K21 */ be_nested_str_weak(add_subtype), - /* K22 */ be_nested_str_weak(wifi), - /* K23 */ be_nested_str_weak(hostname_wifi), - /* K24 */ be_nested_str_weak(MTR_X3A_X20Exception), - /* K25 */ be_nested_str_weak(_X7C), - /* K26 */ be_const_int(2), - }), - be_str_weak(mdns_announce_op_discovery), - &be_const_str_solidified, - ( &(const binstruction[115]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0xA802005F, // 0001 EXBLK 0 #0062 - 0x8C0C0301, // 0002 GETMET R3 R1 K1 - 0x7C0C0200, // 0003 CALL R3 1 - 0x8C0C0702, // 0004 GETMET R3 R3 K2 - 0x7C0C0200, // 0005 CALL R3 1 - 0x8C0C0703, // 0006 GETMET R3 R3 K3 - 0x7C0C0200, // 0007 CALL R3 1 - 0x8C100304, // 0008 GETMET R4 R1 K4 - 0x7C100200, // 0009 CALL R4 1 - 0x8C140905, // 000A GETMET R5 R4 K5 - 0x7C140200, // 000B CALL R5 1 - 0x00140B06, // 000C ADD R5 R5 K6 - 0x8C180705, // 000D GETMET R6 R3 K5 - 0x7C180200, // 000E CALL R6 1 - 0x00140A06, // 000F ADD R5 R5 R6 - 0xB81A0E00, // 0010 GETNGBL R6 K7 - 0x001E1005, // 0011 ADD R7 K8 R5 - 0x58200009, // 0012 LDCONST R8 K9 - 0x7C180400, // 0013 CALL R6 2 - 0xB81A1400, // 0014 GETNGBL R6 K10 - 0x8C180D0B, // 0015 GETMET R6 R6 K11 - 0x7C180200, // 0016 CALL R6 1 - 0x8C180D0C, // 0017 GETMET R6 R6 K12 - 0x5820000D, // 0018 LDCONST R8 K13 - 0x7C180400, // 0019 CALL R6 2 - 0x781A001E, // 001A JMPF R6 #003A - 0xB81A0E00, // 001B GETNGBL R6 K7 - 0x601C0018, // 001C GETGBL R7 G24 - 0x5820000E, // 001D LDCONST R8 K14 - 0x5824000B, // 001E LDCONST R9 K11 - 0x5C280A00, // 001F MOVE R10 R5 - 0x882C010F, // 0020 GETMBR R11 R0 K15 - 0x7C1C0800, // 0021 CALL R7 4 - 0x58200009, // 0022 LDCONST R8 K9 - 0x7C180400, // 0023 CALL R6 2 - 0x8C180510, // 0024 GETMET R6 R2 K16 - 0x58200011, // 0025 LDCONST R8 K17 - 0x58240012, // 0026 LDCONST R9 K18 - 0x542A15A3, // 0027 LDINT R10 5540 - 0x4C2C0000, // 0028 LDNIL R11 - 0x5C300A00, // 0029 MOVE R12 R5 - 0x8834010F, // 002A GETMBR R13 R0 K15 - 0x7C180E00, // 002B CALL R6 7 - 0x8C180905, // 002C GETMET R6 R4 K5 - 0x7C180200, // 002D CALL R6 1 - 0x001A2606, // 002E ADD R6 K19 R6 - 0xB81E0E00, // 002F GETNGBL R7 K7 - 0x00222806, // 0030 ADD R8 K20 R6 - 0x58240009, // 0031 LDCONST R9 K9 - 0x7C1C0400, // 0032 CALL R7 2 - 0x8C1C0515, // 0033 GETMET R7 R2 K21 - 0x58240011, // 0034 LDCONST R9 K17 - 0x58280012, // 0035 LDCONST R10 K18 - 0x5C2C0A00, // 0036 MOVE R11 R5 - 0x8830010F, // 0037 GETMBR R12 R0 K15 - 0x5C340C00, // 0038 MOVE R13 R6 - 0x7C1C0C00, // 0039 CALL R7 6 - 0xB81A1400, // 003A GETNGBL R6 K10 - 0x8C180D16, // 003B GETMET R6 R6 K22 - 0x7C180200, // 003C CALL R6 1 - 0x8C180D0C, // 003D GETMET R6 R6 K12 - 0x5820000D, // 003E LDCONST R8 K13 - 0x7C180400, // 003F CALL R6 2 - 0x781A001E, // 0040 JMPF R6 #0060 - 0xB81A0E00, // 0041 GETNGBL R6 K7 - 0x601C0018, // 0042 GETGBL R7 G24 - 0x5820000E, // 0043 LDCONST R8 K14 - 0x58240016, // 0044 LDCONST R9 K22 - 0x5C280A00, // 0045 MOVE R10 R5 - 0x882C0117, // 0046 GETMBR R11 R0 K23 - 0x7C1C0800, // 0047 CALL R7 4 - 0x58200009, // 0048 LDCONST R8 K9 - 0x7C180400, // 0049 CALL R6 2 - 0x8C180510, // 004A GETMET R6 R2 K16 - 0x58200011, // 004B LDCONST R8 K17 - 0x58240012, // 004C LDCONST R9 K18 - 0x542A15A3, // 004D LDINT R10 5540 - 0x4C2C0000, // 004E LDNIL R11 - 0x5C300A00, // 004F MOVE R12 R5 - 0x88340117, // 0050 GETMBR R13 R0 K23 - 0x7C180E00, // 0051 CALL R6 7 - 0x8C180905, // 0052 GETMET R6 R4 K5 - 0x7C180200, // 0053 CALL R6 1 - 0x001A2606, // 0054 ADD R6 K19 R6 - 0xB81E0E00, // 0055 GETNGBL R7 K7 - 0x00222806, // 0056 ADD R8 K20 R6 - 0x58240009, // 0057 LDCONST R9 K9 - 0x7C1C0400, // 0058 CALL R7 2 - 0x8C1C0515, // 0059 GETMET R7 R2 K21 - 0x58240011, // 005A LDCONST R9 K17 - 0x58280012, // 005B LDCONST R10 K18 - 0x5C2C0A00, // 005C MOVE R11 R5 - 0x88300117, // 005D GETMBR R12 R0 K23 - 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 - 0xB8160E00, // 0064 GETNGBL R5 K7 - 0x60180008, // 0065 GETGBL R6 G8 - 0x5C1C0600, // 0066 MOVE R7 R3 - 0x7C180200, // 0067 CALL R6 1 - 0x001A3006, // 0068 ADD R6 K24 R6 - 0x00180D19, // 0069 ADD R6 R6 K25 - 0x601C0008, // 006A GETGBL R7 G8 - 0x5C200800, // 006B MOVE R8 R4 - 0x7C1C0200, // 006C CALL R7 1 - 0x00180C07, // 006D ADD R6 R6 R7 - 0x581C001A, // 006E LDCONST R7 K26 - 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_Device_start_commissioning_complete_deferred, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* 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 */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_weak(tasmota), - /* K1 */ be_nested_str_weak(set_timer), - /* K2 */ be_const_int(0), - }), - be_str_weak(start_commissioning_complete_deferred), - &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x58100002, // 0002 LDCONST R4 K2 - 0x84140000, // 0003 CLOSURE R5 P0 - 0x7C080600, // 0004 CALL R2 3 - 0xA0000000, // 0005 CLOSE R0 - 0x80000000, // 0006 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: read_sensors_scheduler -********************************************************************/ -be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */ - be_nested_proto( - 4, /* 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(probe_sensor_time), - /* K1 */ be_nested_str_weak(probe_sensor_timestamp), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(time_reached), - /* K5 */ be_nested_str_weak(_trigger_read_sensors), - /* K6 */ be_nested_str_weak(millis), - }), - be_str_weak(read_sensors_scheduler), - &be_const_str_solidified, - ( &(const binstruction[21]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x4C080000, // 0001 LDNIL R2 - 0x1C040202, // 0002 EQ R1 R1 R2 - 0x78060000, // 0003 JMPF R1 #0005 - 0x80000200, // 0004 RET 0 - 0x88040101, // 0005 GETMBR R1 R0 K1 - 0x1C040302, // 0006 EQ R1 R1 K2 - 0x74060004, // 0007 JMPT R1 #000D - 0xB8060600, // 0008 GETNGBL R1 K3 - 0x8C040304, // 0009 GETMET R1 R1 K4 - 0x880C0101, // 000A GETMBR R3 R0 K1 - 0x7C040400, // 000B CALL R1 2 - 0x78060006, // 000C JMPF R1 #0014 - 0x8C040105, // 000D GETMET R1 R0 K5 - 0x7C040200, // 000E CALL R1 1 - 0xB8060600, // 000F GETNGBL R1 K3 - 0x8C040306, // 0010 GETMET R1 R1 K6 - 0x880C0100, // 0011 GETMBR R3 R0 K0 - 0x7C040400, // 0012 CALL R1 2 - 0x90020201, // 0013 SETMBR R0 K1 R1 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: bridge_remove_endpoint -********************************************************************/ -be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* 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(json), - /* K1 */ be_nested_str_weak(plugins_config), - /* K2 */ be_nested_str_weak(contains), - /* K3 */ be_nested_str_weak(log), - /* K4 */ be_nested_str_weak(MTR_X3A_X20Cannot_X20remove_X20an_X20enpoint_X20not_X20configured_X3A_X20), - /* K5 */ be_const_int(3), - /* K6 */ be_nested_str_weak(MTR_X3A_X20deleting_X20endpoint_X20_X3D_X20_X25i), - /* K7 */ be_const_int(2), - /* K8 */ be_nested_str_weak(remove), - /* K9 */ be_nested_str_weak(plugins_persist), - /* K10 */ be_const_int(0), - /* K11 */ be_nested_str_weak(plugins), - /* K12 */ be_nested_str_weak(get_endpoint), - /* K13 */ be_const_int(1), - /* K14 */ be_nested_str_weak(clean_remotes), - /* K15 */ be_nested_str_weak(save_param), - /* K16 */ be_nested_str_weak(signal_endpoints_changed), - }), - be_str_weak(bridge_remove_endpoint), - &be_const_str_solidified, - ( &(const binstruction[56]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x600C0008, // 0001 GETGBL R3 G8 - 0x5C100200, // 0002 MOVE R4 R1 - 0x7C0C0200, // 0003 CALL R3 1 - 0x4C100000, // 0004 LDNIL R4 - 0x4C140000, // 0005 LDNIL R5 - 0x88180101, // 0006 GETMBR R6 R0 K1 - 0x8C180D02, // 0007 GETMET R6 R6 K2 - 0x5C200600, // 0008 MOVE R8 R3 - 0x7C180400, // 0009 CALL R6 2 - 0x741A0004, // 000A JMPT R6 #0010 - 0xB81A0600, // 000B GETNGBL R6 K3 - 0x001E0803, // 000C ADD R7 K4 R3 - 0x58200005, // 000D LDCONST R8 K5 - 0x7C180400, // 000E CALL R6 2 - 0x80000C00, // 000F RET 0 - 0xB81A0600, // 0010 GETNGBL R6 K3 - 0x601C0018, // 0011 GETGBL R7 G24 - 0x58200006, // 0012 LDCONST R8 K6 - 0x5C240200, // 0013 MOVE R9 R1 - 0x7C1C0400, // 0014 CALL R7 2 - 0x58200007, // 0015 LDCONST R8 K7 - 0x7C180400, // 0016 CALL R6 2 - 0x88180101, // 0017 GETMBR R6 R0 K1 - 0x8C180D08, // 0018 GETMET R6 R6 K8 - 0x5C200600, // 0019 MOVE R8 R3 - 0x7C180400, // 001A CALL R6 2 - 0x50180200, // 001B LDBOOL R6 1 0 - 0x90021206, // 001C SETMBR R0 K9 R6 - 0x5818000A, // 001D LDCONST R6 K10 - 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 - 0x8C1C0F0C, // 0025 GETMET R7 R7 K12 - 0x7C1C0200, // 0026 CALL R7 1 - 0x1C1C0207, // 0027 EQ R7 R1 R7 - 0x781E0005, // 0028 JMPF R7 #002F - 0x881C010B, // 0029 GETMBR R7 R0 K11 - 0x8C1C0F08, // 002A GETMET R7 R7 K8 - 0x5C240C00, // 002B MOVE R9 R6 - 0x7C1C0400, // 002C CALL R7 2 - 0x70020002, // 002D JMP #0031 - 0x70020000, // 002E JMP #0030 - 0x00180D0D, // 002F ADD R6 R6 K13 - 0x7001FFEC, // 0030 JMP #001E - 0x8C1C010E, // 0031 GETMET R7 R0 K14 - 0x7C1C0200, // 0032 CALL R7 1 - 0x8C1C010F, // 0033 GETMET R7 R0 K15 - 0x7C1C0200, // 0034 CALL R7 1 - 0x8C1C0110, // 0035 GETMET R7 R0 K16 - 0x7C1C0200, // 0036 CALL R7 1 - 0x80000000, // 0037 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: bridge_add_endpoint -********************************************************************/ -be_local_closure(class_Matter_Device_bridge_add_endpoint, /* name */ - be_nested_proto( - 16, /* 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_nested_str_weak(plugins_classes), - /* K1 */ be_nested_str_weak(find), - /* K2 */ be_nested_str_weak(log), - /* K3 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27), - /* K4 */ be_nested_str_weak(_X27_X20skipping), - /* K5 */ be_const_int(3), - /* K6 */ be_nested_str_weak(next_ep), - /* K7 */ be_nested_str_weak(plugins), - /* K8 */ be_nested_str_weak(push), - /* K9 */ be_nested_str_weak(type), - /* K10 */ be_nested_str_weak(keys), - /* K11 */ be_nested_str_weak(stop_iteration), - /* K12 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s), - /* K13 */ be_nested_str_weak(conf_to_log), - /* K14 */ be_const_int(2), - /* K15 */ be_nested_str_weak(plugins_config), - /* K16 */ be_nested_str_weak(plugins_persist), - /* K17 */ be_const_int(1), - /* K18 */ be_nested_str_weak(save_param), - /* K19 */ be_nested_str_weak(signal_endpoints_changed), - }), - be_str_weak(bridge_add_endpoint), - &be_const_str_solidified, - ( &(const binstruction[68]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 0x8C0C0701, // 0001 GETMET R3 R3 K1 - 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 - 0xB8120400, // 0007 GETNGBL R4 K2 - 0x60140008, // 0008 GETGBL R5 G8 - 0x5C180200, // 0009 MOVE R6 R1 - 0x7C140200, // 000A CALL R5 1 - 0x00160605, // 000B ADD R5 K3 R5 - 0x00140B04, // 000C ADD R5 R5 K4 - 0x58180005, // 000D LDCONST R6 K5 - 0x7C100400, // 000E CALL R4 2 - 0x80000800, // 000F RET 0 - 0x88100106, // 0010 GETMBR R4 R0 K6 - 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 - 0x881C0107, // 0019 GETMBR R7 R0 K7 - 0x8C1C0F08, // 001A GETMET R7 R7 K8 - 0x5C240C00, // 001B MOVE R9 R6 - 0x7C1C0400, // 001C CALL R7 2 - 0x601C0013, // 001D GETGBL R7 G19 - 0x7C1C0000, // 001E CALL R7 0 - 0x981E1201, // 001F SETIDX R7 K9 R1 - 0x60200010, // 0020 GETGBL R8 G16 - 0x8C24050A, // 0021 GETMET R9 R2 K10 - 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 - 0x5820000B, // 002A LDCONST R8 K11 - 0xAC200200, // 002B CATCH R8 1 0 - 0xB0080000, // 002C RAISE 2 R0 R0 - 0xB8220400, // 002D GETNGBL R8 K2 - 0x60240018, // 002E GETGBL R9 G24 - 0x5828000C, // 002F LDCONST R10 K12 - 0x5C2C0800, // 0030 MOVE R11 R4 - 0x5C300200, // 0031 MOVE R12 R1 - 0x8C34010D, // 0032 GETMET R13 R0 K13 - 0x5C3C0400, // 0033 MOVE R15 R2 - 0x7C340400, // 0034 CALL R13 2 - 0x7C240800, // 0035 CALL R9 4 - 0x5828000E, // 0036 LDCONST R10 K14 - 0x7C200400, // 0037 CALL R8 2 - 0x8820010F, // 0038 GETMBR R8 R0 K15 - 0x98200A07, // 0039 SETIDX R8 R5 R7 - 0x50200200, // 003A LDBOOL R8 1 0 - 0x90022008, // 003B SETMBR R0 K16 R8 - 0x88200106, // 003C GETMBR R8 R0 K6 - 0x00201111, // 003D ADD R8 R8 K17 - 0x90020C08, // 003E SETMBR R0 K6 R8 - 0x8C200112, // 003F GETMET R8 R0 K18 - 0x7C200200, // 0040 CALL R8 1 - 0x8C200113, // 0041 GETMET R8 R0 K19 - 0x7C200200, // 0042 CALL R8 1 - 0x80040800, // 0043 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: is_root_commissioning_open -********************************************************************/ -be_local_closure(class_Matter_Device_is_root_commissioning_open, /* 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[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(commissioning_open), - /* K1 */ be_nested_str_weak(commissioning_admin_fabric), - }), - be_str_weak(is_root_commissioning_open), - &be_const_str_solidified, - ( &(const binstruction[11]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x4C080000, // 0001 LDNIL R2 - 0x20040202, // 0002 NE R1 R1 R2 - 0x78060003, // 0003 JMPF R1 #0008 - 0x88040101, // 0004 GETMBR R1 R0 K1 - 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: start_operational_discovery -********************************************************************/ -be_local_closure(class_Matter_Device_start_operational_discovery, /* 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[ 4]) { /* constants */ - /* K0 */ be_nested_str_weak(crypto), - /* K1 */ be_nested_str_weak(mdns), - /* K2 */ be_nested_str_weak(stop_basic_commissioning), - /* K3 */ be_nested_str_weak(mdns_announce_op_discovery), - }), - be_str_weak(start_operational_discovery), - &be_const_str_solidified, - ( &(const binstruction[ 8]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0xA40E0200, // 0001 IMPORT R3 K1 - 0x8C100102, // 0002 GETMET R4 R0 K2 - 0x7C100200, // 0003 CALL R4 1 - 0x8C100103, // 0004 GETMET R4 R0 K3 - 0x5C180200, // 0005 MOVE R6 R1 - 0x7C100400, // 0006 CALL R4 2 - 0x80000000, // 0007 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: MtrInfo -********************************************************************/ -be_local_closure(class_Matter_Device_MtrInfo, /* name */ - be_nested_proto( - 10, /* nstack */ - 5, /* 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(), - /* K1 */ be_nested_str_weak(plugins), - /* K2 */ be_nested_str_weak(MtrInfo_one), - /* K3 */ be_nested_str_weak(endpoint), - /* K4 */ be_nested_str_weak(stop_iteration), - /* K5 */ be_nested_str_weak(int), - /* K6 */ be_nested_str_weak(find_plugin_by_friendly_name), - /* K7 */ be_nested_str_weak(tasmota), - /* K8 */ be_nested_str_weak(resp_cmnd_done), - }), - be_str_weak(MtrInfo), - &be_const_str_solidified, - ( &(const binstruction[40]) { /* code */ - 0x1C140700, // 0000 EQ R5 R3 K0 - 0x7815FFFF, // 0001 JMPF R5 #0002 - 0x1C140700, // 0002 EQ R5 R3 K0 - 0x7816000D, // 0003 JMPF R5 #0012 - 0x60140010, // 0004 GETGBL R5 G16 - 0x88180101, // 0005 GETMBR R6 R0 K1 - 0x7C140200, // 0006 CALL R5 1 - 0xA8020005, // 0007 EXBLK 0 #000E - 0x5C180A00, // 0008 MOVE R6 R5 - 0x7C180000, // 0009 CALL R6 0 - 0x8C1C0102, // 000A GETMET R7 R0 K2 - 0x88240D03, // 000B GETMBR R9 R6 K3 - 0x7C1C0400, // 000C CALL R7 2 - 0x7001FFF9, // 000D JMP #0008 - 0x58140004, // 000E LDCONST R5 K4 - 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 - 0x1C140B05, // 0015 EQ R5 R5 K5 - 0x78160003, // 0016 JMPF R5 #001B - 0x8C140102, // 0017 GETMET R5 R0 K2 - 0x5C1C0800, // 0018 MOVE R7 R4 - 0x7C140400, // 0019 CALL R5 2 - 0x70020008, // 001A JMP #0024 - 0x8C140106, // 001B GETMET R5 R0 K6 - 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 - 0x8C180102, // 0021 GETMET R6 R0 K2 - 0x88200B03, // 0022 GETMBR R8 R5 K3 - 0x7C180400, // 0023 CALL R6 2 - 0xB8160E00, // 0024 GETNGBL R5 K7 - 0x8C140B08, // 0025 GETMET R5 R5 K8 - 0x7C140200, // 0026 CALL R5 1 - 0x80000000, // 0027 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: signal_endpoints_changed -********************************************************************/ -be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */ - be_nested_proto( - 7, /* 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(attribute_updated), - /* K1 */ be_const_int(0), - /* K2 */ be_const_int(3), - /* K3 */ be_nested_str_weak(matter), - /* K4 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), - }), - be_str_weak(signal_endpoints_changed), - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x8C040100, // 0000 GETMET R1 R0 K0 - 0x580C0001, // 0001 LDCONST R3 K1 - 0x5412001C, // 0002 LDINT R4 29 - 0x58140002, // 0003 LDCONST R5 K2 - 0x50180000, // 0004 LDBOOL R6 0 0 - 0x7C040A00, // 0005 CALL R1 5 - 0x8C040100, // 0006 GETMET R1 R0 K0 - 0xB80E0600, // 0007 GETNGBL R3 K3 - 0x880C0704, // 0008 GETMBR R3 R3 K4 - 0x5412001C, // 0009 LDINT R4 29 - 0x58140002, // 000A LDCONST R5 K2 - 0x50180000, // 000B LDBOOL R6 0 0 - 0x7C040A00, // 000C CALL R1 5 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: MtrUpdate -********************************************************************/ -be_local_closure(class_Matter_Device_MtrUpdate, /* name */ - be_nested_proto( - 18, /* nstack */ - 5, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[25]) { /* constants */ - /* K0 */ be_nested_str_weak(tasmota), - /* K1 */ be_nested_str_weak(resp_cmnd_str), - /* K2 */ be_nested_str_weak(Invalid_X20JSON), - /* K3 */ be_nested_str_weak(find_key_i), - /* K4 */ be_nested_str_weak(Ep), - /* K5 */ be_nested_str_weak(Name), - /* K6 */ be_const_int(0), - /* K7 */ be_nested_str_weak(Invalid_X20_X27Ep_X27_X20attribute), - /* K8 */ be_nested_str_weak(find_plugin_by_endpoint), - /* K9 */ be_nested_str_weak(remove), - /* K10 */ be_nested_str_weak(find_plugin_by_friendly_name), - /* K11 */ be_nested_str_weak(Invalid_X20Device), - /* K12 */ be_nested_str_weak(VIRTUAL), - /* K13 */ be_nested_str_weak(Device_X20is_X20not_X20virtual), - /* K14 */ be_nested_str_weak(consolidate_update_commands), - /* K15 */ be_nested_str_weak(keys), - /* K16 */ be_nested_str_weak(find_list_i), - /* K17 */ be_nested_str_weak(Invalid_X20attribute_X20_X27_X25s_X27), - /* K18 */ be_nested_str_weak(stop_iteration), - /* K19 */ be_nested_str_weak(update_virtual), - /* K20 */ be_nested_str_weak(state_json), - /* K21 */ be_nested_str_weak(_X7B_X22_X25s_X22_X3A_X25s_X7D), - /* K22 */ be_nested_str_weak(resp_cmnd), - /* K23 */ be_nested_str_weak(resp_cmnd_done), - /* K24 */ be_nested_str_weak(Missing_X20_X27Device_X27_X20attribute), - }), - 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 - 0xB8160000, // 0003 GETNGBL R5 K0 - 0x8C140B01, // 0004 GETMET R5 R5 K1 - 0x581C0002, // 0005 LDCONST R7 K2 - 0x7C140400, // 0006 CALL R5 2 - 0x80040A00, // 0007 RET 1 R5 - 0xB8160000, // 0008 GETNGBL R5 K0 - 0x8C140B03, // 0009 GETMET R5 R5 K3 - 0x5C1C0800, // 000A MOVE R7 R4 - 0x58200004, // 000B LDCONST R8 K4 - 0x7C140600, // 000C CALL R5 3 - 0xB81A0000, // 000D GETNGBL R6 K0 - 0x8C180D03, // 000E GETMET R6 R6 K3 - 0x5C200800, // 000F MOVE R8 R4 - 0x58240005, // 0010 LDCONST R9 K5 - 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 - 0x18241106, // 0019 LE R9 R8 K6 - 0x78260004, // 001A JMPF R9 #0020 - 0xB8260000, // 001B GETNGBL R9 K0 - 0x8C241301, // 001C GETMET R9 R9 K1 - 0x582C0007, // 001D LDCONST R11 K7 - 0x7C240400, // 001E CALL R9 2 - 0x80041200, // 001F RET 1 R9 - 0x8C240108, // 0020 GETMET R9 R0 K8 - 0x5C2C1000, // 0021 MOVE R11 R8 - 0x7C240400, // 0022 CALL R9 2 - 0x5C1C1200, // 0023 MOVE R7 R9 - 0x8C240909, // 0024 GETMET R9 R4 K9 - 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 - 0x8C20010A, // 002B GETMET R8 R0 K10 - 0x94280806, // 002C GETIDX R10 R4 R6 - 0x7C200400, // 002D CALL R8 2 - 0x5C1C1000, // 002E MOVE R7 R8 - 0x8C200909, // 002F GETMET R8 R4 K9 - 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 - 0xB8220000, // 0035 GETNGBL R8 K0 - 0x8C201101, // 0036 GETMET R8 R8 K1 - 0x5828000B, // 0037 LDCONST R10 K11 - 0x7C200400, // 0038 CALL R8 2 - 0x80041000, // 0039 RET 1 R8 - 0x88200F0C, // 003A GETMBR R8 R7 K12 - 0x74220004, // 003B JMPT R8 #0041 - 0xB8220000, // 003C GETNGBL R8 K0 - 0x8C201101, // 003D GETMET R8 R8 K1 - 0x5828000D, // 003E LDCONST R10 K13 - 0x7C200400, // 003F CALL R8 2 - 0x80041000, // 0040 RET 1 R8 - 0x8C200F0E, // 0041 GETMET R8 R7 K14 - 0x7C200200, // 0042 CALL R8 1 - 0x60240013, // 0043 GETGBL R9 G19 - 0x7C240000, // 0044 CALL R9 0 - 0x60280010, // 0045 GETGBL R10 G16 - 0x8C2C090F, // 0046 GETMET R11 R4 K15 - 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 - 0xB8320000, // 004C GETNGBL R12 K0 - 0x8C301910, // 004D GETMET R12 R12 K16 - 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 - 0xB8360000, // 0054 GETNGBL R13 K0 - 0x8C341B01, // 0055 GETMET R13 R13 K1 - 0x603C0018, // 0056 GETGBL R15 G24 - 0x58400011, // 0057 LDCONST R16 K17 - 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 - 0x58280012, // 0061 LDCONST R10 K18 - 0xAC280200, // 0062 CATCH R10 1 0 - 0xB0080000, // 0063 RAISE 2 R0 R0 - 0x8C280F13, // 0064 GETMET R10 R7 K19 - 0x5C301200, // 0065 MOVE R12 R9 - 0x7C280400, // 0066 CALL R10 2 - 0x8C280F14, // 0067 GETMET R10 R7 K20 - 0x7C280200, // 0068 CALL R10 1 - 0x782A000A, // 0069 JMPF R10 #0075 - 0x602C0018, // 006A GETGBL R11 G24 - 0x58300015, // 006B LDCONST R12 K21 - 0x5C340200, // 006C MOVE R13 R1 - 0x5C381400, // 006D MOVE R14 R10 - 0x7C2C0600, // 006E CALL R11 3 - 0xB8320000, // 006F GETNGBL R12 K0 - 0x8C301916, // 0070 GETMET R12 R12 K22 - 0x5C381600, // 0071 MOVE R14 R11 - 0x7C300400, // 0072 CALL R12 2 - 0x80041800, // 0073 RET 1 R12 - 0x70020003, // 0074 JMP #0079 - 0xB82E0000, // 0075 GETNGBL R11 K0 - 0x8C2C1717, // 0076 GETMET R11 R11 K23 - 0x7C2C0200, // 0077 CALL R11 1 - 0x80041600, // 0078 RET 1 R11 - 0xB81E0000, // 0079 GETNGBL R7 K0 - 0x8C1C0F01, // 007A GETMET R7 R7 K1 - 0x58240018, // 007B LDCONST R9 K24 - 0x7C1C0400, // 007C CALL R7 2 - 0x80000000, // 007D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start_operational_discovery_deferred -********************************************************************/ -be_local_closure(class_Matter_Device_start_operational_discovery_deferred, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* 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 */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_weak(tasmota), - /* K1 */ be_nested_str_weak(set_timer), - /* K2 */ be_const_int(0), - }), - be_str_weak(start_operational_discovery_deferred), - &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x58100002, // 0002 LDCONST R4 K2 - 0x84140000, // 0003 CLOSURE R5 P0 - 0x7C080600, // 0004 CALL R2 3 - 0xA0000000, // 0005 CLOSE R0 - 0x80000000, // 0006 RET 0 - }) - ) -); -/*******************************************************************/ - - /******************************************************************** ** Solidified function: save_param ********************************************************************/ @@ -4261,108 +3075,76 @@ be_local_closure(class_Matter_Device_save_param, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ - 2, /* varg */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[31]) { /* constants */ - /* K0 */ be_nested_str_weak(json), - /* K1 */ be_nested_str_weak(update_remotes_info), - /* K2 */ 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), - /* K3 */ be_nested_str_weak(root_discriminator), - /* K4 */ be_nested_str_weak(root_passcode), - /* K5 */ be_nested_str_weak(ipv4only), - /* K6 */ be_nested_str_weak(true), - /* K7 */ be_nested_str_weak(false), - /* K8 */ be_nested_str_weak(disable_bridge_mode), - /* K9 */ be_nested_str_weak(next_ep), - /* K10 */ be_nested_str_weak(debug), - /* K11 */ be_nested_str_weak(_X2C_X22debug_X22_X3Atrue), - /* K12 */ be_nested_str_weak(plugins_persist), - /* K13 */ be_nested_str_weak(_X2C_X0A_X22config_X22_X3A), - /* K14 */ be_nested_str_weak(dump), - /* K15 */ be_nested_str_weak(plugins_config), - /* K16 */ be_nested_str_weak(plugins_config_remotes), - /* K17 */ be_const_int(0), - /* K18 */ be_nested_str_weak(_X2C_X0A_X22remotes_X22_X3A), - /* K19 */ be_nested_str_weak(_X7D), - /* K20 */ be_nested_str_weak(FILENAME), - /* K21 */ be_nested_str_weak(w), - /* K22 */ be_nested_str_weak(write), - /* K23 */ be_nested_str_weak(close), - /* K24 */ be_nested_str_weak(log), - /* K25 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20parameters_X25s), - /* K26 */ be_nested_str_weak(_X20and_X20configuration), - /* K27 */ be_nested_str_weak(), - /* K28 */ be_const_int(2), - /* K29 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A), - /* K30 */ be_nested_str_weak(_X7C), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(save_param), &be_const_str_solidified, ( &(const binstruction[83]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080101, // 0001 GETMET R2 R0 K1 + 0xA406AA00, // 0000 IMPORT R1 K85 + 0x8C0801D7, // 0001 GETMET R2 R0 K215 0x7C080200, // 0002 CALL R2 1 0x60080018, // 0003 GETGBL R2 G24 - 0x580C0002, // 0004 LDCONST R3 K2 - 0x88100103, // 0005 GETMBR R4 R0 K3 - 0x88140104, // 0006 GETMBR R5 R0 K4 - 0x88180105, // 0007 GETMBR R6 R0 K5 + 0x580C00D8, // 0004 LDCONST R3 K216 + 0x881001B3, // 0005 GETMBR R4 R0 K179 + 0x881401B5, // 0006 GETMBR R5 R0 K181 + 0x88180122, // 0007 GETMBR R6 R0 K34 0x781A0001, // 0008 JMPF R6 #000B - 0x58180006, // 0009 LDCONST R6 K6 + 0x581800D9, // 0009 LDCONST R6 K217 0x70020000, // 000A JMP #000C - 0x58180007, // 000B LDCONST R6 K7 - 0x881C0108, // 000C GETMBR R7 R0 K8 + 0x581800DA, // 000B LDCONST R6 K218 + 0x881C0123, // 000C GETMBR R7 R0 K35 0x781E0001, // 000D JMPF R7 #0010 - 0x581C0006, // 000E LDCONST R7 K6 + 0x581C00D9, // 000E LDCONST R7 K217 0x70020000, // 000F JMP #0011 - 0x581C0007, // 0010 LDCONST R7 K7 - 0x88200109, // 0011 GETMBR R8 R0 K9 + 0x581C00DA, // 0010 LDCONST R7 K218 + 0x88200120, // 0011 GETMBR R8 R0 K32 0x7C080C00, // 0012 CALL R2 6 - 0x880C010A, // 0013 GETMBR R3 R0 K10 + 0x880C01B9, // 0013 GETMBR R3 R0 K185 0x780E0000, // 0014 JMPF R3 #0016 - 0x0008050B, // 0015 ADD R2 R2 K11 - 0x880C010C, // 0016 GETMBR R3 R0 K12 + 0x000805DB, // 0015 ADD R2 R2 K219 + 0x880C010B, // 0016 GETMBR R3 R0 K11 0x780E000E, // 0017 JMPF R3 #0027 - 0x0008050D, // 0018 ADD R2 R2 K13 - 0x8C0C030E, // 0019 GETMET R3 R1 K14 - 0x8814010F, // 001A GETMBR R5 R0 K15 + 0x000805DC, // 0018 ADD R2 R2 K220 + 0x8C0C03DD, // 0019 GETMET R3 R1 K221 + 0x88140156, // 001A GETMBR R5 R0 K86 0x7C0C0400, // 001B CALL R3 2 0x00080403, // 001C ADD R2 R2 R3 0x600C000C, // 001D GETGBL R3 G12 - 0x88100110, // 001E GETMBR R4 R0 K16 + 0x8810011F, // 001E GETMBR R4 R0 K31 0x7C0C0200, // 001F CALL R3 1 - 0x240C0711, // 0020 GT R3 R3 K17 + 0x240C070A, // 0020 GT R3 R3 K10 0x780E0004, // 0021 JMPF R3 #0027 - 0x00080512, // 0022 ADD R2 R2 K18 - 0x8C0C030E, // 0023 GETMET R3 R1 K14 - 0x88140110, // 0024 GETMBR R5 R0 K16 + 0x000805DE, // 0022 ADD R2 R2 K222 + 0x8C0C03DD, // 0023 GETMET R3 R1 K221 + 0x8814011F, // 0024 GETMBR R5 R0 K31 0x7C0C0400, // 0025 CALL R3 2 0x00080403, // 0026 ADD R2 R2 R3 - 0x00080513, // 0027 ADD R2 R2 K19 + 0x000805DF, // 0027 ADD R2 R2 K223 0xA8020017, // 0028 EXBLK 0 #0041 0x600C0011, // 0029 GETGBL R3 G17 - 0x88100114, // 002A GETMBR R4 R0 K20 - 0x58140015, // 002B LDCONST R5 K21 + 0x881001B1, // 002A GETMBR R4 R0 K177 + 0x581400E0, // 002B LDCONST R5 K224 0x7C0C0400, // 002C CALL R3 2 - 0x8C100716, // 002D GETMET R4 R3 K22 + 0x8C1007E1, // 002D GETMET R4 R3 K225 0x5C180400, // 002E MOVE R6 R2 0x7C100400, // 002F CALL R4 2 - 0x8C100717, // 0030 GETMET R4 R3 K23 + 0x8C10078A, // 0030 GETMET R4 R3 K138 0x7C100200, // 0031 CALL R4 1 - 0xB8123000, // 0032 GETNGBL R4 K24 + 0xB8127400, // 0032 GETNGBL R4 K58 0x60140018, // 0033 GETGBL R5 G24 - 0x58180019, // 0034 LDCONST R6 K25 - 0x881C010C, // 0035 GETMBR R7 R0 K12 + 0x581800E2, // 0034 LDCONST R6 K226 + 0x881C010B, // 0035 GETMBR R7 R0 K11 0x781E0001, // 0036 JMPF R7 #0039 - 0x581C001A, // 0037 LDCONST R7 K26 + 0x581C00E3, // 0037 LDCONST R7 K227 0x70020000, // 0038 JMP #003A - 0x581C001B, // 0039 LDCONST R7 K27 + 0x581C0010, // 0039 LDCONST R7 K16 0x7C140400, // 003A CALL R5 2 - 0x5818001C, // 003B LDCONST R6 K28 + 0x58180021, // 003B LDCONST R6 K33 0x7C100400, // 003C CALL R4 2 0xA8040001, // 003D EXBLK 1 1 0x80040400, // 003E RET 1 R2 @@ -4370,17 +3152,17 @@ be_local_closure(class_Matter_Device_save_param, /* name */ 0x70020010, // 0040 JMP #0052 0xAC0C0002, // 0041 CATCH R3 0 2 0x7002000D, // 0042 JMP #0051 - 0xB8163000, // 0043 GETNGBL R5 K24 + 0xB8167400, // 0043 GETNGBL R5 K58 0x60180008, // 0044 GETGBL R6 G8 0x5C1C0600, // 0045 MOVE R7 R3 0x7C180200, // 0046 CALL R6 1 - 0x001A3A06, // 0047 ADD R6 K29 R6 - 0x00180D1E, // 0048 ADD R6 R6 K30 + 0x001BC806, // 0047 ADD R6 K228 R6 + 0x00180D7F, // 0048 ADD R6 R6 K127 0x601C0008, // 0049 GETGBL R7 G8 0x5C200800, // 004A MOVE R8 R4 0x7C1C0200, // 004B CALL R7 1 0x00180C07, // 004C ADD R6 R6 R7 - 0x581C001C, // 004D LDCONST R7 K28 + 0x581C0021, // 004D LDCONST R7 K33 0x7C140400, // 004E CALL R5 2 0x80040400, // 004F RET 1 R2 0x70020000, // 0050 JMP #0052 @@ -4393,192 +3175,78 @@ be_local_closure(class_Matter_Device_save_param, /* name */ /******************************************************************** -** Solidified function: load_param +** Solidified function: bridge_remove_endpoint ********************************************************************/ -be_local_closure(class_Matter_Device_load_param, /* name */ +be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* name */ be_nested_proto( - 12, /* nstack */ - 1, /* argc */ - 2, /* varg */ + 10, /* nstack */ + 2, /* argc */ + 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[36]) { /* constants */ - /* K0 */ be_nested_str_weak(crypto), - /* K1 */ be_nested_str_weak(FILENAME), - /* K2 */ be_nested_str_weak(read), - /* K3 */ be_nested_str_weak(close), - /* K4 */ be_nested_str_weak(json), - /* K5 */ be_nested_str_weak(load), - /* K6 */ be_nested_str_weak(root_discriminator), - /* K7 */ be_nested_str_weak(find), - /* K8 */ be_nested_str_weak(distinguish), - /* K9 */ be_nested_str_weak(root_passcode), - /* K10 */ be_nested_str_weak(passcode), - /* K11 */ be_nested_str_weak(ipv4only), - /* K12 */ be_nested_str_weak(disable_bridge_mode), - /* K13 */ be_nested_str_weak(next_ep), - /* K14 */ be_nested_str_weak(nextep), - /* K15 */ be_nested_str_weak(plugins_config), - /* K16 */ be_nested_str_weak(config), - /* K17 */ be_nested_str_weak(debug), - /* K18 */ be_nested_str_weak(log), - /* K19 */ be_nested_str_weak(MTR_X3A_X20Load_config_X20_X3D_X20_X25s), - /* K20 */ be_const_int(3), - /* K21 */ be_nested_str_weak(adjust_next_ep), - /* K22 */ be_nested_str_weak(check_config_ep), - /* K23 */ be_nested_str_weak(plugins_persist), - /* K24 */ be_nested_str_weak(plugins_config_remotes), - /* K25 */ be_nested_str_weak(remotes), - /* K26 */ be_nested_str_weak(MTR_X3A_X20load_remotes_X20_X3D_X20), - /* K27 */ be_nested_str_weak(io_error), - /* K28 */ be_nested_str_weak(MTR_X3A_X20load_param_X20Exception_X3A), - /* K29 */ be_nested_str_weak(_X7C), - /* K30 */ be_const_int(2), - /* K31 */ be_nested_str_weak(random), - /* K32 */ be_nested_str_weak(get), - /* K33 */ be_const_int(0), - /* K34 */ be_nested_str_weak(generate_random_passcode), - /* K35 */ be_nested_str_weak(save_param), - }), - be_str_weak(load_param), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(bridge_remove_endpoint), &be_const_str_solidified, - ( &(const binstruction[133]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x50080000, // 0001 LDBOOL R2 0 0 - 0xA8020054, // 0002 EXBLK 0 #0058 - 0x600C0011, // 0003 GETGBL R3 G17 - 0x88100101, // 0004 GETMBR R4 R0 K1 - 0x7C0C0200, // 0005 CALL R3 1 - 0x8C100702, // 0006 GETMET R4 R3 K2 - 0x7C100200, // 0007 CALL R4 1 - 0x8C140703, // 0008 GETMET R5 R3 K3 - 0x7C140200, // 0009 CALL R5 1 - 0xA4160800, // 000A IMPORT R5 K4 - 0x8C180B05, // 000B GETMET R6 R5 K5 - 0x5C200800, // 000C MOVE R8 R4 - 0x7C180400, // 000D CALL R6 2 - 0x8C1C0D07, // 000E GETMET R7 R6 K7 - 0x58240008, // 000F LDCONST R9 K8 - 0x88280106, // 0010 GETMBR R10 R0 K6 - 0x7C1C0600, // 0011 CALL R7 3 - 0x90020C07, // 0012 SETMBR R0 K6 R7 - 0x8C1C0D07, // 0013 GETMET R7 R6 K7 - 0x5824000A, // 0014 LDCONST R9 K10 - 0x88280109, // 0015 GETMBR R10 R0 K9 - 0x7C1C0600, // 0016 CALL R7 3 - 0x90021207, // 0017 SETMBR R0 K9 R7 - 0x601C0017, // 0018 GETGBL R7 G23 - 0x8C200D07, // 0019 GETMET R8 R6 K7 - 0x5828000B, // 001A LDCONST R10 K11 - 0x502C0000, // 001B LDBOOL R11 0 0 - 0x7C200600, // 001C CALL R8 3 - 0x7C1C0200, // 001D CALL R7 1 - 0x90021607, // 001E SETMBR R0 K11 R7 - 0x601C0017, // 001F GETGBL R7 G23 - 0x8C200D07, // 0020 GETMET R8 R6 K7 - 0x5828000C, // 0021 LDCONST R10 K12 - 0x502C0000, // 0022 LDBOOL R11 0 0 - 0x7C200600, // 0023 CALL R8 3 - 0x7C1C0200, // 0024 CALL R7 1 - 0x90021807, // 0025 SETMBR R0 K12 R7 - 0x8C1C0D07, // 0026 GETMET R7 R6 K7 - 0x5824000E, // 0027 LDCONST R9 K14 - 0x8828010D, // 0028 GETMBR R10 R0 K13 - 0x7C1C0600, // 0029 CALL R7 3 - 0x90021A07, // 002A SETMBR R0 K13 R7 - 0x8C1C0D07, // 002B GETMET R7 R6 K7 - 0x58240010, // 002C LDCONST R9 K16 - 0x7C1C0400, // 002D CALL R7 2 - 0x90021E07, // 002E SETMBR R0 K15 R7 - 0x601C0017, // 002F GETGBL R7 G23 - 0x8C200D07, // 0030 GETMET R8 R6 K7 - 0x58280011, // 0031 LDCONST R10 K17 - 0x7C200400, // 0032 CALL R8 2 - 0x7C1C0200, // 0033 CALL R7 1 - 0x90022207, // 0034 SETMBR R0 K17 R7 - 0x881C010F, // 0035 GETMBR R7 R0 K15 - 0x4C200000, // 0036 LDNIL R8 - 0x201C0E08, // 0037 NE R7 R7 R8 - 0x781E000D, // 0038 JMPF R7 #0047 - 0xB81E2400, // 0039 GETNGBL R7 K18 - 0x60200018, // 003A GETGBL R8 G24 - 0x58240013, // 003B LDCONST R9 K19 - 0x8828010F, // 003C GETMBR R10 R0 K15 - 0x7C200400, // 003D CALL R8 2 - 0x58240014, // 003E LDCONST R9 K20 - 0x7C1C0400, // 003F CALL R7 2 - 0x8C1C0115, // 0040 GETMET R7 R0 K21 - 0x7C1C0200, // 0041 CALL R7 1 - 0x8C1C0116, // 0042 GETMET R7 R0 K22 - 0x7C1C0200, // 0043 CALL R7 1 - 0x5C080E00, // 0044 MOVE R2 R7 - 0x501C0200, // 0045 LDBOOL R7 1 0 - 0x90022E07, // 0046 SETMBR R0 K23 R7 - 0x8C1C0D07, // 0047 GETMET R7 R6 K7 - 0x58240019, // 0048 LDCONST R9 K25 - 0x60280013, // 0049 GETGBL R10 G19 - 0x7C280000, // 004A CALL R10 0 - 0x7C1C0600, // 004B CALL R7 3 - 0x90023007, // 004C SETMBR R0 K24 R7 - 0x881C0118, // 004D GETMBR R7 R0 K24 - 0x781E0006, // 004E JMPF R7 #0056 - 0xB81E2400, // 004F GETNGBL R7 K18 - 0x60200008, // 0050 GETGBL R8 G8 - 0x88240118, // 0051 GETMBR R9 R0 K24 - 0x7C200200, // 0052 CALL R8 1 - 0x00223408, // 0053 ADD R8 K26 R8 - 0x58240014, // 0054 LDCONST R9 K20 - 0x7C1C0400, // 0055 CALL R7 2 - 0xA8040001, // 0056 EXBLK 1 1 - 0x70020011, // 0057 JMP #006A - 0xAC0C0002, // 0058 CATCH R3 0 2 - 0x7002000E, // 0059 JMP #0069 - 0x2014071B, // 005A NE R5 R3 K27 - 0x7816000B, // 005B JMPF R5 #0068 - 0xB8162400, // 005C GETNGBL R5 K18 - 0x60180008, // 005D GETGBL R6 G8 - 0x5C1C0600, // 005E MOVE R7 R3 - 0x7C180200, // 005F CALL R6 1 - 0x001A3806, // 0060 ADD R6 K28 R6 - 0x00180D1D, // 0061 ADD R6 R6 K29 - 0x601C0008, // 0062 GETGBL R7 G8 - 0x5C200800, // 0063 MOVE R8 R4 - 0x7C1C0200, // 0064 CALL R7 1 - 0x00180C07, // 0065 ADD R6 R6 R7 - 0x581C001E, // 0066 LDCONST R7 K30 - 0x7C140400, // 0067 CALL R5 2 - 0x70020000, // 0068 JMP #006A - 0xB0080000, // 0069 RAISE 2 R0 R0 - 0x880C0106, // 006A GETMBR R3 R0 K6 - 0x4C100000, // 006B LDNIL R4 - 0x1C0C0604, // 006C EQ R3 R3 R4 - 0x780E000A, // 006D JMPF R3 #0079 - 0x8C0C031F, // 006E GETMET R3 R1 K31 - 0x5814001E, // 006F LDCONST R5 K30 - 0x7C0C0400, // 0070 CALL R3 2 - 0x8C0C0720, // 0071 GETMET R3 R3 K32 - 0x58140021, // 0072 LDCONST R5 K33 - 0x5818001E, // 0073 LDCONST R6 K30 - 0x7C0C0600, // 0074 CALL R3 3 - 0x54120FFE, // 0075 LDINT R4 4095 - 0x2C0C0604, // 0076 AND R3 R3 R4 - 0x90020C03, // 0077 SETMBR R0 K6 R3 - 0x50080200, // 0078 LDBOOL R2 1 0 - 0x880C0109, // 0079 GETMBR R3 R0 K9 - 0x4C100000, // 007A LDNIL R4 - 0x1C0C0604, // 007B EQ R3 R3 R4 - 0x780E0003, // 007C JMPF R3 #0081 - 0x8C0C0122, // 007D GETMET R3 R0 K34 - 0x7C0C0200, // 007E CALL R3 1 - 0x90021203, // 007F SETMBR R0 K9 R3 - 0x50080200, // 0080 LDBOOL R2 1 0 - 0x780A0001, // 0081 JMPF R2 #0084 - 0x8C0C0123, // 0082 GETMET R3 R0 K35 - 0x7C0C0200, // 0083 CALL R3 1 - 0x80000000, // 0084 RET 0 + ( &(const binstruction[56]) { /* code */ + 0xA40AAA00, // 0000 IMPORT R2 K85 + 0x600C0008, // 0001 GETGBL R3 G8 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C0C0200, // 0003 CALL R3 1 + 0x4C100000, // 0004 LDNIL R4 + 0x4C140000, // 0005 LDNIL R5 + 0x88180156, // 0006 GETMBR R6 R0 K86 + 0x8C180D6C, // 0007 GETMET R6 R6 K108 + 0x5C200600, // 0008 MOVE R8 R3 + 0x7C180400, // 0009 CALL R6 2 + 0x741A0004, // 000A JMPT R6 #0010 + 0xB81A7400, // 000B GETNGBL R6 K58 + 0x001FCA03, // 000C ADD R7 K229 R3 + 0x58200053, // 000D LDCONST R8 K83 + 0x7C180400, // 000E CALL R6 2 + 0x80000C00, // 000F RET 0 + 0xB81A7400, // 0010 GETNGBL R6 K58 + 0x601C0018, // 0011 GETGBL R7 G24 + 0x582000E6, // 0012 LDCONST R8 K230 + 0x5C240200, // 0013 MOVE R9 R1 + 0x7C1C0400, // 0014 CALL R7 2 + 0x58200021, // 0015 LDCONST R8 K33 + 0x7C180400, // 0016 CALL R6 2 + 0x88180156, // 0017 GETMBR R6 R0 K86 + 0x8C180D83, // 0018 GETMET R6 R6 K131 + 0x5C200600, // 0019 MOVE R8 R3 + 0x7C180400, // 001A CALL R6 2 + 0x50180200, // 001B LDBOOL R6 1 0 + 0x90021606, // 001C SETMBR R0 K11 R6 + 0x5818000A, // 001D LDCONST R6 K10 + 0x601C000C, // 001E GETGBL R7 G12 + 0x8820011E, // 001F GETMBR R8 R0 K30 + 0x7C1C0200, // 0020 CALL R7 1 + 0x141C0C07, // 0021 LT R7 R6 R7 + 0x781E000D, // 0022 JMPF R7 #0031 + 0x881C011E, // 0023 GETMBR R7 R0 K30 + 0x941C0E06, // 0024 GETIDX R7 R7 R6 + 0x8C1C0F61, // 0025 GETMET R7 R7 K97 + 0x7C1C0200, // 0026 CALL R7 1 + 0x1C1C0207, // 0027 EQ R7 R1 R7 + 0x781E0005, // 0028 JMPF R7 #002F + 0x881C011E, // 0029 GETMBR R7 R0 K30 + 0x8C1C0F83, // 002A GETMET R7 R7 K131 + 0x5C240C00, // 002B MOVE R9 R6 + 0x7C1C0400, // 002C CALL R7 2 + 0x70020002, // 002D JMP #0031 + 0x70020000, // 002E JMP #0030 + 0x00180D38, // 002F ADD R6 R6 K56 + 0x7001FFEC, // 0030 JMP #001E + 0x8C1C01E7, // 0031 GETMET R7 R0 K231 + 0x7C1C0200, // 0032 CALL R7 1 + 0x8C1C010C, // 0033 GETMET R7 R0 K12 + 0x7C1C0200, // 0034 CALL R7 1 + 0x8C1C01AC, // 0035 GETMET R7 R0 K172 + 0x7C1C0200, // 0036 CALL R7 1 + 0x80000000, // 0037 RET 0 }) ) ); @@ -4586,59 +3254,29 @@ be_local_closure(class_Matter_Device_load_param, /* name */ /******************************************************************** -** Solidified function: compute_manual_pairing_code +** Solidified function: msg_received ********************************************************************/ -be_local_closure(class_Matter_Device_compute_manual_pairing_code, /* name */ +be_local_closure(class_Matter_Device_msg_received, /* name */ be_nested_proto( 9, /* nstack */ - 1, /* argc */ - 2, /* varg */ + 4, /* argc */ + 10, /* 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(root_discriminator), - /* K1 */ be_nested_str_weak(root_passcode), - /* K2 */ be_nested_str_weak(_X251i_X2505i_X2504i), - /* K3 */ be_nested_str_weak(matter), - /* K4 */ be_nested_str_weak(Verhoeff), - /* K5 */ be_nested_str_weak(checksum), - }), - be_str_weak(compute_manual_pairing_code), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(msg_received), &be_const_str_solidified, - ( &(const binstruction[30]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x540A0FFE, // 0001 LDINT R2 4095 - 0x2C040202, // 0002 AND R1 R1 R2 - 0x540A0009, // 0003 LDINT R2 10 - 0x3C040202, // 0004 SHR R1 R1 R2 - 0x88080100, // 0005 GETMBR R2 R0 K0 - 0x540E02FF, // 0006 LDINT R3 768 - 0x2C080403, // 0007 AND R2 R2 R3 - 0x540E0005, // 0008 LDINT R3 6 - 0x38080403, // 0009 SHL R2 R2 R3 - 0x880C0101, // 000A GETMBR R3 R0 K1 - 0x54123FFE, // 000B LDINT R4 16383 - 0x2C0C0604, // 000C AND R3 R3 R4 - 0x30080403, // 000D OR R2 R2 R3 - 0x880C0101, // 000E GETMBR R3 R0 K1 - 0x5412000D, // 000F LDINT R4 14 - 0x3C0C0604, // 0010 SHR R3 R3 R4 - 0x60100018, // 0011 GETGBL R4 G24 - 0x58140002, // 0012 LDCONST R5 K2 - 0x5C180200, // 0013 MOVE R6 R1 - 0x5C1C0400, // 0014 MOVE R7 R2 - 0x5C200600, // 0015 MOVE R8 R3 - 0x7C100800, // 0016 CALL R4 4 - 0xB8160600, // 0017 GETNGBL R5 K3 - 0x88140B04, // 0018 GETMBR R5 R5 K4 - 0x8C140B05, // 0019 GETMET R5 R5 K5 - 0x5C1C0800, // 001A MOVE R7 R4 - 0x7C140400, // 001B CALL R5 2 - 0x00100805, // 001C ADD R4 R4 R5 - 0x80040800, // 001D RET 1 R4 + ( &(const binstruction[ 7]) { /* code */ + 0x88100127, // 0000 GETMBR R4 R0 K39 + 0x8C1009E8, // 0001 GETMET R4 R4 K232 + 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 }) ) ); @@ -4646,30 +3284,46 @@ be_local_closure(class_Matter_Device_compute_manual_pairing_code, /* name */ /******************************************************************** -** Solidified function: msg_send +** Solidified function: invoke_request ********************************************************************/ -be_local_closure(class_Matter_Device_msg_send, /* name */ +be_local_closure(class_Matter_Device_invoke_request, /* name */ be_nested_proto( - 5, /* nstack */ - 2, /* argc */ - 2, /* varg */ + 12, /* nstack */ + 4, /* argc */ + 10, /* 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(udp_server), - /* K1 */ be_nested_str_weak(send_UDP), - }), - be_str_weak(msg_send), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(invoke_request), &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 + ( &(const binstruction[24]) { /* code */ + 0x5810000A, // 0000 LDCONST R4 K10 + 0x88140748, // 0001 GETMBR R5 R3 K72 + 0x6018000C, // 0002 GETGBL R6 G12 + 0x881C011E, // 0003 GETMBR R7 R0 K30 + 0x7C180200, // 0004 CALL R6 1 + 0x14180806, // 0005 LT R6 R4 R6 + 0x781A000C, // 0006 JMPF R6 #0014 + 0x8818011E, // 0007 GETMBR R6 R0 K30 + 0x94180C04, // 0008 GETIDX R6 R6 R4 + 0x881C0D48, // 0009 GETMBR R7 R6 K72 + 0x1C1C0E05, // 000A EQ R7 R7 R5 + 0x781E0005, // 000B JMPF R7 #0012 + 0x8C1C0DE9, // 000C GETMET R7 R6 K233 + 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 + 0x00100938, // 0012 ADD R4 R4 K56 + 0x7001FFED, // 0013 JMP #0002 + 0xB81A3000, // 0014 GETNGBL R6 K24 + 0x88180D4D, // 0015 GETMBR R6 R6 K77 + 0x900E9806, // 0016 SETMBR R3 K76 R6 + 0x80000000, // 0017 RET 0 }) ) ); @@ -4677,1406 +3331,43 @@ be_local_closure(class_Matter_Device_msg_send, /* name */ /******************************************************************** -** Solidified function: button_pressed +** Solidified function: read_sensors_scheduler ********************************************************************/ -be_local_closure(class_Matter_Device_button_pressed, /* name */ - be_nested_proto( - 13, /* nstack */ - 3, /* 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(button_handler), - /* K1 */ be_const_int(1), - /* K2 */ be_const_int(0), - }), - 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 - 0x8C1C0100, // 000E GETMET R7 R0 K0 - 0x00240B01, // 000F ADD R9 R5 K1 - 0x20280604, // 0010 NE R10 R3 R4 - 0x782A0001, // 0011 JMPF R10 #0014 - 0x58280001, // 0012 LDCONST R10 K1 - 0x70020000, // 0013 JMP #0015 - 0x58280002, // 0014 LDCONST R10 K2 - 0x780E0001, // 0015 JMPF R3 #0018 - 0x582C0002, // 0016 LDCONST R11 K2 - 0x70020000, // 0017 JMP #0019 - 0x582C0001, // 0018 LDCONST R11 K1 - 0x5C300C00, // 0019 MOVE R12 R6 - 0x7C1C0A00, // 001A CALL R7 5 - 0x80000000, // 001B RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start -********************************************************************/ -be_local_closure(class_Matter_Device_start, /* name */ +be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ - 2, /* varg */ + 10, /* 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(started), - /* K1 */ be_nested_str_weak(autoconf_device), - /* K2 */ be_nested_str_weak(_start_udp), - /* K3 */ be_nested_str_weak(UDP_PORT), - /* K4 */ be_nested_str_weak(start_mdns_announce_hostnames), - }), - be_str_weak(start), + &be_ktab_class_Matter_Device, /* shared constants */ + be_str_weak(read_sensors_scheduler), &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x78060000, // 0001 JMPF R1 #0003 - 0x80000200, // 0002 RET 0 - 0x8C040101, // 0003 GETMET R1 R0 K1 - 0x7C040200, // 0004 CALL R1 1 - 0x8C040102, // 0005 GETMET R1 R0 K2 - 0x880C0103, // 0006 GETMBR R3 R0 K3 - 0x7C040400, // 0007 CALL R1 2 - 0x8C040104, // 0008 GETMET R1 R0 K4 - 0x7C040200, // 0009 CALL R1 1 - 0x50040200, // 000A LDBOOL R1 1 0 - 0x90020001, // 000B SETMBR R0 K0 R1 - 0x80000000, // 000C RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: register_http_remote -********************************************************************/ -be_local_closure(class_Matter_Device_register_http_remote, /* 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(http_remotes), - /* K1 */ be_nested_str_weak(contains), - /* K2 */ be_nested_str_weak(get_timeout), - /* K3 */ be_nested_str_weak(set_timeout), - /* K4 */ be_nested_str_weak(matter), - /* K5 */ be_nested_str_weak(HTTP_remote), - /* K6 */ be_nested_str_weak(plugins_config_remotes), - /* K7 */ be_nested_str_weak(set_info), - }), - be_str_weak(register_http_remote), - &be_const_str_solidified, - ( &(const binstruction[42]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 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 - 0x90020003, // 0006 SETMBR R0 K0 R3 - 0x4C0C0000, // 0007 LDNIL R3 - 0x88100100, // 0008 GETMBR R4 R0 K0 - 0x8C100901, // 0009 GETMET R4 R4 K1 - 0x5C180200, // 000A MOVE R6 R1 - 0x7C100400, // 000B CALL R4 2 - 0x78120009, // 000C JMPF R4 #0017 - 0x88100100, // 000D GETMBR R4 R0 K0 - 0x940C0801, // 000E GETIDX R3 R4 R1 - 0x8C140702, // 000F GETMET R5 R3 K2 - 0x7C140200, // 0010 CALL R5 1 - 0x14140405, // 0011 LT R5 R2 R5 - 0x78160002, // 0012 JMPF R5 #0016 - 0x8C140703, // 0013 GETMET R5 R3 K3 - 0x5C1C0400, // 0014 MOVE R7 R2 - 0x7C140400, // 0015 CALL R5 2 - 0x70020011, // 0016 JMP #0029 - 0xB8120800, // 0017 GETNGBL R4 K4 - 0x8C100905, // 0018 GETMET R4 R4 K5 - 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 - 0x88100106, // 001E GETMBR R4 R0 K6 - 0x8C100901, // 001F GETMET R4 R4 K1 - 0x5C180200, // 0020 MOVE R6 R1 - 0x7C100400, // 0021 CALL R4 2 - 0x78120003, // 0022 JMPF R4 #0027 - 0x8C100707, // 0023 GETMET R4 R3 K7 - 0x88180106, // 0024 GETMBR R6 R0 K6 - 0x94180C01, // 0025 GETIDX R6 R6 R1 - 0x7C100400, // 0026 CALL R4 2 - 0x88100100, // 0027 GETMBR R4 R0 K0 - 0x98100203, // 0028 SETIDX R4 R1 R3 - 0x80040600, // 0029 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: check_config_ep -********************************************************************/ -be_local_closure(class_Matter_Device_check_config_ep, /* 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[14]) { /* constants */ - /* K0 */ be_nested_str_weak(plugins_config), - /* K1 */ be_nested_str_weak(keys), - /* K2 */ be_nested_str_weak(push), - /* K3 */ be_nested_str_weak(stop_iteration), - /* K4 */ be_const_int(0), - /* K5 */ be_nested_str_weak(log), - /* K6 */ be_nested_str_weak(MTR_X3A_X20invalid_X20entry_X20with_X20ep_X20_X270_X27), - /* K7 */ be_const_int(2), - /* K8 */ be_nested_str_weak(remove), - /* K9 */ be_nested_str_weak(matter), - /* K10 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), - /* K11 */ be_nested_str_weak(MTR_X3A_X20endpoint_X20_X25s_X20collides_X20wit_X20aggregator_X2C_X20relocating_X20to_X20_X25s), - /* K12 */ be_nested_str_weak(next_ep), - /* K13 */ be_const_int(1), - }), - 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 - 0x88100100, // 0004 GETMBR R4 R0 K0 - 0x8C100901, // 0005 GETMET R4 R4 K1 - 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 - 0x8C140502, // 000B GETMET R5 R2 K2 - 0x601C0009, // 000C GETGBL R7 G9 - 0x5C200800, // 000D MOVE R8 R4 - 0x7C1C0200, // 000E CALL R7 1 - 0x7C140400, // 000F CALL R5 2 - 0x7001FFF7, // 0010 JMP #0009 - 0x580C0003, // 0011 LDCONST R3 K3 - 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 - 0x1C140904, // 001A EQ R5 R4 K4 - 0x7816000B, // 001B JMPF R5 #0028 - 0xB8160A00, // 001C GETNGBL R5 K5 - 0x58180006, // 001D LDCONST R6 K6 - 0x581C0007, // 001E LDCONST R7 K7 - 0x7C140400, // 001F CALL R5 2 - 0x88140100, // 0020 GETMBR R5 R0 K0 - 0x8C140B08, // 0021 GETMET R5 R5 K8 - 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 - 0xB8161200, // 0028 GETNGBL R5 K9 - 0x88140B0A, // 0029 GETMBR R5 R5 K10 - 0x1C140805, // 002A EQ R5 R4 R5 - 0x7816001B, // 002B JMPF R5 #0048 - 0x50040200, // 002C LDBOOL R1 1 0 - 0xB8160A00, // 002D GETNGBL R5 K5 - 0x60180018, // 002E GETGBL R6 G24 - 0x581C000B, // 002F LDCONST R7 K11 - 0x5C200800, // 0030 MOVE R8 R4 - 0x8824010C, // 0031 GETMBR R9 R0 K12 - 0x7C180600, // 0032 CALL R6 3 - 0x581C0007, // 0033 LDCONST R7 K7 - 0x7C140400, // 0034 CALL R5 2 - 0x60140008, // 0035 GETGBL R5 G8 - 0x8818010C, // 0036 GETMBR R6 R0 K12 - 0x7C140200, // 0037 CALL R5 1 - 0x88180100, // 0038 GETMBR R6 R0 K0 - 0x601C0008, // 0039 GETGBL R7 G8 - 0x5C200800, // 003A MOVE R8 R4 - 0x7C1C0200, // 003B CALL R7 1 - 0x88200100, // 003C GETMBR R8 R0 K0 - 0x941C1007, // 003D GETIDX R7 R8 R7 - 0x98180A07, // 003E SETIDX R6 R5 R7 - 0x88140100, // 003F GETMBR R5 R0 K0 - 0x8C140B08, // 0040 GETMET R5 R5 K8 - 0x601C0008, // 0041 GETGBL R7 G8 - 0x5C200800, // 0042 MOVE R8 R4 - 0x7C1C0200, // 0043 CALL R7 1 - 0x7C140400, // 0044 CALL R5 2 - 0x8814010C, // 0045 GETMBR R5 R0 K12 - 0x00140B0D, // 0046 ADD R5 R5 K13 - 0x90021805, // 0047 SETMBR R0 K12 R5 - 0x7001FFCE, // 0048 JMP #0018 - 0x580C0003, // 0049 LDCONST R3 K3 - 0xAC0C0200, // 004A CATCH R3 1 0 - 0xB0080000, // 004B RAISE 2 R0 R0 - 0x80040200, // 004C RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_remove_op_discovery_all_fabrics -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name */ - be_nested_proto( - 6, /* nstack */ - 1, /* 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(sessions), - /* K1 */ be_nested_str_weak(active_fabrics), - /* K2 */ be_nested_str_weak(get_device_id), - /* K3 */ be_nested_str_weak(get_fabric_id), - /* K4 */ be_nested_str_weak(mdns_remove_op_discovery), - /* K5 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(mdns_remove_op_discovery_all_fabrics), - &be_const_str_solidified, - ( &(const binstruction[22]) { /* code */ - 0x60040010, // 0000 GETGBL R1 G16 - 0x88080100, // 0001 GETMBR R2 R0 K0 - 0x8C080501, // 0002 GETMET R2 R2 K1 - 0x7C080200, // 0003 CALL R2 1 - 0x7C040200, // 0004 CALL R1 1 - 0xA802000B, // 0005 EXBLK 0 #0012 - 0x5C080200, // 0006 MOVE R2 R1 - 0x7C080000, // 0007 CALL R2 0 - 0x8C0C0502, // 0008 GETMET R3 R2 K2 - 0x7C0C0200, // 0009 CALL R3 1 - 0x780E0005, // 000A JMPF R3 #0011 - 0x8C0C0503, // 000B GETMET R3 R2 K3 - 0x7C0C0200, // 000C CALL R3 1 - 0x780E0002, // 000D JMPF R3 #0011 - 0x8C0C0104, // 000E GETMET R3 R0 K4 - 0x5C140400, // 000F MOVE R5 R2 - 0x7C0C0400, // 0010 CALL R3 2 - 0x7001FFF3, // 0011 JMP #0006 - 0x58040005, // 0012 LDCONST R1 K5 - 0xAC040200, // 0013 CATCH R1 1 0 - 0xB0080000, // 0014 RAISE 2 R0 R0 - 0x80000000, // 0015 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: mdns_announce_op_discovery_all_fabrics -********************************************************************/ -be_local_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name */ - be_nested_proto( - 6, /* nstack */ - 1, /* 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(sessions), - /* K1 */ be_nested_str_weak(active_fabrics), - /* K2 */ be_nested_str_weak(get_device_id), - /* K3 */ be_nested_str_weak(get_fabric_id), - /* K4 */ be_nested_str_weak(mdns_announce_op_discovery), - /* K5 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(mdns_announce_op_discovery_all_fabrics), - &be_const_str_solidified, - ( &(const binstruction[22]) { /* code */ - 0x60040010, // 0000 GETGBL R1 G16 - 0x88080100, // 0001 GETMBR R2 R0 K0 - 0x8C080501, // 0002 GETMET R2 R2 K1 - 0x7C080200, // 0003 CALL R2 1 - 0x7C040200, // 0004 CALL R1 1 - 0xA802000B, // 0005 EXBLK 0 #0012 - 0x5C080200, // 0006 MOVE R2 R1 - 0x7C080000, // 0007 CALL R2 0 - 0x8C0C0502, // 0008 GETMET R3 R2 K2 - 0x7C0C0200, // 0009 CALL R3 1 - 0x780E0005, // 000A JMPF R3 #0011 - 0x8C0C0503, // 000B GETMET R3 R2 K3 - 0x7C0C0200, // 000C CALL R3 1 - 0x780E0002, // 000D JMPF R3 #0011 - 0x8C0C0104, // 000E GETMET R3 R0 K4 - 0x5C140400, // 000F MOVE R5 R2 - 0x7C0C0400, // 0010 CALL R3 2 - 0x7001FFF3, // 0011 JMP #0006 - 0x58040005, // 0012 LDCONST R1 K5 - 0xAC040200, // 0013 CATCH R1 1 0 - 0xB0080000, // 0014 RAISE 2 R0 R0 - 0x80000000, // 0015 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: generate_random_passcode -********************************************************************/ -be_local_closure(class_Matter_Device_generate_random_passcode, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* 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(crypto), - /* K1 */ be_nested_str_weak(random), - /* K2 */ be_nested_str_weak(get), - /* K3 */ be_const_int(0), - /* K4 */ be_const_int(134217727), - /* K5 */ be_const_int(99999998), - /* K6 */ be_nested_str_weak(PASSCODE_INVALID), - /* K7 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(generate_random_passcode), - &be_const_str_solidified, - ( &(const binstruction[35]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 + ( &(const binstruction[21]) { /* code */ + 0x88040167, // 0000 GETMBR R1 R0 K103 0x4C080000, // 0001 LDNIL R2 - 0x500C0200, // 0002 LDBOOL R3 1 0 - 0x780E001D, // 0003 JMPF R3 #0022 - 0x8C0C0301, // 0004 GETMET R3 R1 K1 - 0x54160003, // 0005 LDINT R5 4 - 0x7C0C0400, // 0006 CALL R3 2 - 0x8C0C0702, // 0007 GETMET R3 R3 K2 - 0x58140003, // 0008 LDCONST R5 K3 - 0x541A0003, // 0009 LDINT R6 4 - 0x7C0C0600, // 000A CALL R3 3 - 0x2C0C0704, // 000B AND R3 R3 K4 - 0x5C080600, // 000C MOVE R2 R3 - 0x240C0505, // 000D GT R3 R2 K5 - 0x780E0000, // 000E JMPF R3 #0010 - 0x7001FFF1, // 000F JMP #0002 - 0x600C0010, // 0010 GETGBL R3 G16 - 0x88100106, // 0011 GETMBR R4 R0 K6 - 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 - 0x580C0007, // 001A LDCONST R3 K7 - 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: is_commissioning_open -********************************************************************/ -be_local_closure(class_Matter_Device_is_commissioning_open, /* 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(commissioning_open), - }), - be_str_weak(is_commissioning_open), - &be_const_str_solidified, - ( &(const binstruction[ 4]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x4C080000, // 0001 LDNIL R2 - 0x20040202, // 0002 NE R1 R1 R2 - 0x80040200, // 0003 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: find_plugin_by_endpoint -********************************************************************/ -be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* 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[ 4]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_weak(plugins), - /* K2 */ be_nested_str_weak(get_endpoint), - /* K3 */ be_const_int(1), - }), - be_str_weak(find_plugin_by_endpoint), - &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 - 0x780E0008, // 0005 JMPF R3 #000F - 0x880C0101, // 0006 GETMBR R3 R0 K1 - 0x940C0602, // 0007 GETIDX R3 R3 R2 - 0x8C100702, // 0008 GETMET R4 R3 K2 - 0x7C100200, // 0009 CALL R4 1 - 0x1C100801, // 000A EQ R4 R4 R1 - 0x78120000, // 000B JMPF R4 #000D - 0x80040600, // 000C RET 1 R3 - 0x00080503, // 000D ADD R2 R2 K3 - 0x7001FFF1, // 000E JMP #0001 - 0x4C0C0000, // 000F LDNIL R3 - 0x80040600, // 0010 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: conf_to_log -********************************************************************/ -be_local_closure(class_Matter_Device_conf_to_log, /* name */ - be_nested_proto( - 9, /* nstack */ - 1, /* argc */ - 4, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_Device), - /* K1 */ be_nested_str_weak(), - /* K2 */ be_nested_str_weak(k2l), - /* K3 */ be_nested_str_weak(type), - /* K4 */ be_nested_str_weak(_X20_X25s_X3A_X25s), - /* K5 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(conf_to_log), - &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 0x58080001, // 0001 LDCONST R2 K1 - 0x600C0010, // 0002 GETGBL R3 G16 - 0x8C100302, // 0003 GETMET R4 R1 K2 - 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 - 0x1C140903, // 000A EQ R5 R4 K3 - 0x78160000, // 000B JMPF R5 #000D - 0x7001FFFA, // 000C JMP #0008 - 0x60140018, // 000D GETGBL R5 G24 - 0x58180004, // 000E LDCONST R6 K4 - 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 - 0x580C0005, // 0014 LDCONST R3 K5 - 0xAC0C0200, // 0015 CATCH R3 1 0 - 0xB0080000, // 0016 RAISE 2 R0 R0 - 0x80040400, // 0017 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: received_ack -********************************************************************/ -be_local_closure(class_Matter_Device_received_ack, /* 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(udp_server), - /* K1 */ be_nested_str_weak(received_ack), - }), - be_str_weak(received_ack), - &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: MtrInfo_one -********************************************************************/ -be_local_closure(class_Matter_Device_MtrInfo_one, /* 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[ 6]) { /* constants */ - /* K0 */ be_nested_str_weak(find_plugin_by_endpoint), - /* K1 */ be_nested_str_weak(state_json), - /* K2 */ be_nested_str_weak(_X7B_X22MtrInfo_X22_X3A_X25s_X7D), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(publish_result), - /* K5 */ be_nested_str_weak(), - }), - be_str_weak(MtrInfo_one), - &be_const_str_solidified, - ( &(const binstruction[20]) { /* 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 - 0x80000600, // 0006 RET 0 - 0x8C0C0501, // 0007 GETMET R3 R2 K1 - 0x7C0C0200, // 0008 CALL R3 1 - 0x780E0008, // 0009 JMPF R3 #0013 - 0x60100018, // 000A GETGBL R4 G24 - 0x58140002, // 000B LDCONST R5 K2 - 0x5C180600, // 000C MOVE R6 R3 - 0x7C100400, // 000D CALL R4 2 - 0xB8160600, // 000E GETNGBL R5 K3 - 0x8C140B04, // 000F GETMET R5 R5 K4 - 0x5C1C0800, // 0010 MOVE R7 R4 - 0x58200005, // 0011 LDCONST R8 K5 - 0x7C140600, // 0012 CALL R5 3 - 0x80000000, // 0013 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_plugin_class_arg -********************************************************************/ -be_local_closure(class_Matter_Device_get_plugin_class_arg, /* 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[ 4]) { /* constants */ - /* K0 */ be_nested_str_weak(plugins_classes), - /* K1 */ be_nested_str_weak(find), - /* K2 */ be_nested_str_weak(ARG), - /* K3 */ be_nested_str_weak(), - }), - be_str_weak(get_plugin_class_arg), - &be_const_str_solidified, - ( &(const binstruction[ 9]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x5C100200, // 0002 MOVE R4 R1 - 0x7C080400, // 0003 CALL R2 2 - 0x780A0001, // 0004 JMPF R2 #0007 - 0x880C0502, // 0005 GETMBR R3 R2 K2 - 0x70020000, // 0006 JMP #0008 - 0x580C0003, // 0007 LDCONST R3 K3 - 0x80040600, // 0008 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: k2l -********************************************************************/ -be_local_closure(class_Matter_Device_k2l, /* name */ - be_nested_proto( - 8, /* nstack */ - 1, /* argc */ - 4, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_Device), - /* K1 */ be_nested_str_weak(keys), - /* K2 */ be_nested_str_weak(push), - /* K3 */ be_nested_str_weak(stop_iteration), - /* K4 */ be_const_int(1), - /* K5 */ be_const_int(0), - }), - be_str_weak(k2l), - &be_const_str_solidified, - ( &(const binstruction[50]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 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 - 0x8C100101, // 0008 GETMET R4 R0 K1 - 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 - 0x8C140502, // 000E GETMET R5 R2 K2 - 0x5C1C0800, // 000F MOVE R7 R4 - 0x7C140400, // 0010 CALL R5 2 - 0x7001FFF9, // 0011 JMP #000C - 0x580C0003, // 0012 LDCONST R3 K3 - 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 - 0x04100904, // 0019 SUB R4 R4 K4 - 0x40120804, // 001A CONNECT R4 K4 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 - 0x241C0D05, // 0021 GT R7 R6 K5 - 0x781E0008, // 0022 JMPF R7 #002C - 0x041C0D04, // 0023 SUB R7 R6 K4 - 0x941C0407, // 0024 GETIDX R7 R2 R7 - 0x241C0E05, // 0025 GT R7 R7 R5 - 0x781E0004, // 0026 JMPF R7 #002C - 0x041C0D04, // 0027 SUB R7 R6 K4 - 0x941C0407, // 0028 GETIDX R7 R2 R7 - 0x98080C07, // 0029 SETIDX R2 R6 R7 - 0x04180D04, // 002A SUB R6 R6 K4 - 0x7001FFF4, // 002B JMP #0021 - 0x98080C05, // 002C SETIDX R2 R6 R5 - 0x7001FFEE, // 002D JMP #001D - 0x580C0003, // 002E LDCONST R3 K3 - 0xAC0C0200, // 002F CATCH R3 1 0 - 0xB0080000, // 0030 RAISE 2 R0 R0 - 0x80040400, // 0031 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start_basic_commissioning -********************************************************************/ -be_local_closure(class_Matter_Device_start_basic_commissioning, /* name */ - be_nested_proto( - 13, /* nstack */ - 8, /* argc */ - 2, /* 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 */ - ( &(const bvalue[16]) { /* constants */ - /* K0 */ be_nested_str_weak(commissioning_open), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(millis), - /* K3 */ be_nested_str_weak(commissioning_iterations), - /* K4 */ be_nested_str_weak(commissioning_discriminator), - /* K5 */ be_nested_str_weak(commissioning_salt), - /* K6 */ be_nested_str_weak(commissioning_w0), - /* K7 */ be_nested_str_weak(commissioning_L), - /* K8 */ be_nested_str_weak(commissioning_admin_fabric), - /* K9 */ be_nested_str_weak(wifi), - /* K10 */ be_nested_str_weak(up), - /* K11 */ be_nested_str_weak(eth), - /* K12 */ be_nested_str_weak(mdns_announce_PASE), - /* K13 */ be_nested_str_weak(add_rule), - /* K14 */ be_nested_str_weak(Wifi_X23Connected), - /* K15 */ be_nested_str_weak(Eth_X23Connected), - }), - be_str_weak(start_basic_commissioning), - &be_const_str_solidified, - ( &(const binstruction[40]) { /* code */ - 0xB8220200, // 0000 GETNGBL R8 K1 - 0x8C201102, // 0001 GETMET R8 R8 K2 - 0x7C200200, // 0002 CALL R8 1 - 0x542603E7, // 0003 LDINT R9 1000 - 0x08240209, // 0004 MUL R9 R1 R9 - 0x00201009, // 0005 ADD R8 R8 R9 - 0x90020008, // 0006 SETMBR R0 K0 R8 - 0x90020602, // 0007 SETMBR R0 K3 R2 - 0x90020803, // 0008 SETMBR R0 K4 R3 - 0x90020A04, // 0009 SETMBR R0 K5 R4 - 0x90020C05, // 000A SETMBR R0 K6 R5 - 0x90020E06, // 000B SETMBR R0 K7 R6 - 0x90021007, // 000C SETMBR R0 K8 R7 - 0xB8220200, // 000D GETNGBL R8 K1 - 0x8C201109, // 000E GETMET R8 R8 K9 - 0x7C200200, // 000F CALL R8 1 - 0x9420110A, // 0010 GETIDX R8 R8 K10 - 0x74220004, // 0011 JMPT R8 #0017 - 0xB8220200, // 0012 GETNGBL R8 K1 - 0x8C20110B, // 0013 GETMET R8 R8 K11 - 0x7C200200, // 0014 CALL R8 1 - 0x9420110A, // 0015 GETIDX R8 R8 K10 - 0x78220002, // 0016 JMPF R8 #001A - 0x8C20010C, // 0017 GETMET R8 R0 K12 - 0x7C200200, // 0018 CALL R8 1 - 0x7002000B, // 0019 JMP #0026 - 0xB8220200, // 001A GETNGBL R8 K1 - 0x8C20110D, // 001B GETMET R8 R8 K13 - 0x5828000E, // 001C LDCONST R10 K14 - 0x842C0000, // 001D CLOSURE R11 P0 - 0x5830000C, // 001E LDCONST R12 K12 - 0x7C200800, // 001F CALL R8 4 - 0xB8220200, // 0020 GETNGBL R8 K1 - 0x8C20110D, // 0021 GETMET R8 R8 K13 - 0x5828000F, // 0022 LDCONST R10 K15 - 0x842C0001, // 0023 CLOSURE R11 P1 - 0x5830000C, // 0024 LDCONST R12 K12 - 0x7C200800, // 0025 CALL R8 4 - 0xA0000000, // 0026 CLOSE R0 - 0x80000000, // 0027 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: _init_basic_commissioning -********************************************************************/ -be_local_closure(class_Matter_Device__init_basic_commissioning, /* 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[ 4]) { /* constants */ - /* K0 */ be_nested_str_weak(sessions), - /* K1 */ be_nested_str_weak(count_active_fabrics), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(start_root_basic_commissioning), - }), - be_str_weak(_init_basic_commissioning), - &be_const_str_solidified, - ( &(const binstruction[ 8]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x1C040302, // 0003 EQ R1 R1 K2 - 0x78060001, // 0004 JMPF R1 #0007 - 0x8C040103, // 0005 GETMET R1 R0 K3 - 0x7C040200, // 0006 CALL R1 1 - 0x80000000, // 0007 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 */ - 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_const_int(0), - /* K1 */ be_nested_str_weak(plugins), - /* K2 */ be_nested_str_weak(get_name), - /* K3 */ be_const_int(1), - }), - 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 - 0x1C080500, // 0006 EQ R2 R2 K0 - 0x780A0001, // 0007 JMPF R2 #000A - 0x4C080000, // 0008 LDNIL R2 - 0x80040400, // 0009 RET 1 R2 - 0x58080000, // 000A LDCONST R2 K0 - 0x600C000C, // 000B GETGBL R3 G12 - 0x88100101, // 000C GETMBR R4 R0 K1 - 0x7C0C0200, // 000D CALL R3 1 - 0x140C0403, // 000E LT R3 R2 R3 - 0x780E0010, // 000F JMPF R3 #0021 - 0x880C0101, // 0010 GETMBR R3 R0 K1 - 0x940C0602, // 0011 GETIDX R3 R3 R2 - 0x8C100702, // 0012 GETMET R4 R3 K2 - 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 - 0x24140B00, // 001A GT R5 R5 K0 - 0x78160002, // 001B JMPF R5 #001F - 0x1C140801, // 001C EQ R5 R4 R1 - 0x78160000, // 001D JMPF R5 #001F - 0x80040600, // 001E RET 1 R3 - 0x00080503, // 001F ADD R2 R2 K3 - 0x7001FFE9, // 0020 JMP #000B - 0x4C0C0000, // 0021 LDNIL R3 - 0x80040600, // 0022 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: autoconf_device_map -********************************************************************/ -be_local_closure(class_Matter_Device_autoconf_device_map, /* name */ - be_nested_proto( - 19, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[38]) { /* constants */ - /* K0 */ be_nested_str_weak(json), - /* K1 */ be_nested_str_weak(matter), - /* K2 */ be_nested_str_weak(START_ENDPOINT), - /* K3 */ be_const_int(0), - /* K4 */ be_nested_str_weak(light), - /* K5 */ be_nested_str_weak(get), - /* K6 */ be_nested_str_weak(find), - /* K7 */ be_nested_str_weak(channels), - /* K8 */ be_nested_str_weak(), - /* K9 */ be_const_int(1), - /* K10 */ be_nested_str_weak(type), - /* K11 */ be_nested_str_weak(light1), - /* K12 */ be_const_int(2), - /* K13 */ be_nested_str_weak(light2), - /* K14 */ be_const_int(3), - /* K15 */ be_nested_str_weak(light3), - /* K16 */ be_nested_str_weak(tasmota), - /* K17 */ be_nested_str_weak(cmd), - /* K18 */ be_nested_str_weak(Status_X2013), - /* K19 */ be_nested_str_weak(log), - /* K20 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20), - /* K21 */ be_nested_str_weak(contains), - /* K22 */ be_nested_str_weak(StatusSHT), - /* K23 */ be_nested_str_weak(SHT), - /* K24 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s), - /* K25 */ be_nested_str_weak(Relay1), - /* K26 */ be_nested_str_weak(Relay2), - /* K27 */ be_nested_str_weak(push), - /* K28 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s), - /* K29 */ be_nested_str_weak(TiltConfig), - /* K30 */ be_nested_str_weak(shutter_X2Btilt), - /* K31 */ be_nested_str_weak(shutter), - /* K32 */ be_nested_str_weak(get_power), - /* K33 */ be_nested_str_weak(relay), - /* K34 */ be_nested_str_weak(load), - /* K35 */ be_nested_str_weak(read_sensors), - /* K36 */ be_nested_str_weak(autoconf_sensors_list), - /* K37 */ be_nested_str_weak(stop_iteration), - }), - be_str_weak(autoconf_device_map), - &be_const_str_solidified, - ( &(const binstruction[262]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x60080013, // 0001 GETGBL R2 G19 - 0x7C080000, // 0002 CALL R2 0 - 0xB80E0200, // 0003 GETNGBL R3 K1 - 0x880C0702, // 0004 GETMBR R3 R3 K2 - 0x58100003, // 0005 LDCONST R4 K3 - 0xA4160800, // 0006 IMPORT R5 K4 - 0x8C180B05, // 0007 GETMET R6 R5 K5 - 0x58200003, // 0008 LDCONST R8 K3 - 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 - 0x8C200D06, // 000E GETMET R8 R6 K6 - 0x58280007, // 000F LDCONST R10 K7 - 0x582C0008, // 0010 LDCONST R11 K8 - 0x7C200600, // 0011 CALL R8 3 - 0x7C1C0200, // 0012 CALL R7 1 - 0x58100009, // 0013 LDCONST R4 K9 - 0x24200F03, // 0014 GT R8 R7 K3 - 0x7822005D, // 0015 JMPF R8 #0074 - 0x1C200F09, // 0016 EQ R8 R7 K9 - 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 - 0x9826150B, // 001D SETIDX R9 K10 K11 - 0x98081009, // 001E SETIDX R2 R8 R9 - 0x000C0709, // 001F ADD R3 R3 K9 - 0x58200009, // 0020 LDCONST R8 K9 - 0x4C240000, // 0021 LDNIL R9 - 0x8C280B05, // 0022 GETMET R10 R5 K5 - 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 - 0x982E150B, // 002E SETIDX R11 K10 K11 - 0x00301109, // 002F ADD R12 R8 K9 - 0x982E080C, // 0030 SETIDX R11 K4 R12 - 0x9808140B, // 0031 SETIDX R2 R10 R11 - 0x000C0709, // 0032 ADD R3 R3 K9 - 0x00100909, // 0033 ADD R4 R4 K9 - 0x00201109, // 0034 ADD R8 R8 K9 - 0x7001FFEB, // 0035 JMP #0022 - 0x7002003C, // 0036 JMP #0074 - 0x1C200F0C, // 0037 EQ R8 R7 K12 - 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 - 0x9826150D, // 003E SETIDX R9 K10 K13 - 0x98081009, // 003F SETIDX R2 R8 R9 - 0x000C0709, // 0040 ADD R3 R3 K9 - 0x70020031, // 0041 JMP #0074 - 0x1C200F0E, // 0042 EQ R8 R7 K14 - 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 - 0x9826150F, // 0049 SETIDX R9 K10 K15 - 0x98081009, // 004A SETIDX R2 R8 R9 - 0x000C0709, // 004B ADD R3 R3 K9 - 0x8C200B05, // 004C GETMET R8 R5 K5 - 0x58280009, // 004D LDCONST R10 K9 - 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 - 0x8C281106, // 0053 GETMET R10 R8 K6 - 0x58300007, // 0054 LDCONST R12 K7 - 0x58340008, // 0055 LDCONST R13 K8 - 0x7C280600, // 0056 CALL R10 3 - 0x7C240200, // 0057 CALL R9 1 - 0x1C281309, // 0058 EQ R10 R9 K9 - 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 - 0x982E150B, // 005F SETIDX R11 K10 K11 - 0x9808140B, // 0060 SETIDX R2 R10 R11 - 0x000C0709, // 0061 ADD R3 R3 K9 - 0x00100909, // 0062 ADD R4 R4 K9 - 0x7002000A, // 0063 JMP #006F - 0x1C28130C, // 0064 EQ R10 R9 K12 - 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 - 0x982E150D, // 006B SETIDX R11 K10 K13 - 0x9808140B, // 006C SETIDX R2 R10 R11 - 0x000C0709, // 006D ADD R3 R3 K9 - 0x00100909, // 006E ADD R4 R4 K9 - 0x70020003, // 006F JMP #0074 - 0x54220003, // 0070 LDINT R8 4 - 0x1C200E08, // 0071 EQ R8 R7 R8 - 0x78220000, // 0072 JMPF R8 #0074 - 0x7001FFFF, // 0073 JMP #0074 - 0xB81E2000, // 0074 GETNGBL R7 K16 - 0x8C1C0F11, // 0075 GETMET R7 R7 K17 - 0x58240012, // 0076 LDCONST R9 K18 - 0x50280200, // 0077 LDBOOL R10 1 0 - 0x7C1C0600, // 0078 CALL R7 3 - 0x60200012, // 0079 GETGBL R8 G18 - 0x7C200000, // 007A CALL R8 0 - 0xB8262600, // 007B GETNGBL R9 K19 - 0x60280008, // 007C GETGBL R10 G8 - 0x5C2C0E00, // 007D MOVE R11 R7 - 0x7C280200, // 007E CALL R10 1 - 0x002A280A, // 007F ADD R10 K20 R10 - 0x582C000E, // 0080 LDCONST R11 K14 - 0x7C240400, // 0081 CALL R9 2 - 0x4C240000, // 0082 LDNIL R9 - 0x20240E09, // 0083 NE R9 R7 R9 - 0x7826004D, // 0084 JMPF R9 #00D3 - 0x8C240F15, // 0085 GETMET R9 R7 K21 - 0x582C0016, // 0086 LDCONST R11 K22 - 0x7C240400, // 0087 CALL R9 2 - 0x78260049, // 0088 JMPF R9 #00D3 - 0x941C0F16, // 0089 GETIDX R7 R7 K22 - 0x58240003, // 008A LDCONST R9 K3 - 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 - 0x002A2E0A, // 0090 ADD R10 K23 R10 - 0x8C2C0F15, // 0091 GETMET R11 R7 K21 - 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 - 0xB8322600, // 0097 GETNGBL R12 K19 - 0x60340018, // 0098 GETGBL R13 G24 - 0x58380018, // 0099 LDCONST R14 K24 - 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 - 0x5838000E, // 009F LDCONST R14 K14 - 0x7C300400, // 00A0 CALL R12 2 - 0x8C301706, // 00A1 GETMET R12 R11 K6 - 0x58380019, // 00A2 LDCONST R14 K25 - 0x543DFFFE, // 00A3 LDINT R15 -1 - 0x7C300600, // 00A4 CALL R12 3 - 0x8C341706, // 00A5 GETMET R13 R11 K6 - 0x583C001A, // 00A6 LDCONST R15 K26 - 0x5441FFFE, // 00A7 LDINT R16 -1 - 0x7C340600, // 00A8 CALL R13 3 - 0x24381903, // 00A9 GT R14 R12 K3 - 0x783A0002, // 00AA JMPF R14 #00AE - 0x8C38111B, // 00AB GETMET R14 R8 K27 - 0x04401909, // 00AC SUB R16 R12 K9 - 0x7C380400, // 00AD CALL R14 2 - 0x24381B03, // 00AE GT R14 R13 K3 - 0x783A0002, // 00AF JMPF R14 #00B3 - 0x8C38111B, // 00B0 GETMET R14 R8 K27 - 0x04401B09, // 00B1 SUB R16 R13 K9 - 0x7C380400, // 00B2 CALL R14 2 - 0xB83A2600, // 00B3 GETNGBL R14 K19 - 0x603C0018, // 00B4 GETGBL R15 G24 - 0x5840001C, // 00B5 LDCONST R16 K28 - 0x5C441800, // 00B6 MOVE R17 R12 - 0x5C481A00, // 00B7 MOVE R18 R13 - 0x7C3C0600, // 00B8 CALL R15 3 - 0x5840000E, // 00B9 LDCONST R16 K14 - 0x7C380400, // 00BA CALL R14 2 - 0x8C381706, // 00BB GETMET R14 R11 K6 - 0x5840001D, // 00BC LDCONST R16 K29 - 0x7C380400, // 00BD CALL R14 2 - 0x783A0002, // 00BE JMPF R14 #00C2 - 0x943C1D0C, // 00BF GETIDX R15 R14 K12 - 0x243C1F03, // 00C0 GT R15 R15 K3 - 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 - 0x5848001E, // 00CA LDCONST R18 K30 - 0x70020000, // 00CB JMP #00CD - 0x5848001F, // 00CC LDCONST R18 K31 - 0x98461412, // 00CD SETIDX R17 K10 R18 - 0x98463E09, // 00CE SETIDX R17 K31 R9 - 0x98082011, // 00CF SETIDX R2 R16 R17 - 0x000C0709, // 00D0 ADD R3 R3 K9 - 0x00241309, // 00D1 ADD R9 R9 K9 - 0x7001FFB7, // 00D2 JMP #008B - 0x6024000C, // 00D3 GETGBL R9 G12 - 0xB82A2000, // 00D4 GETNGBL R10 K16 - 0x8C281520, // 00D5 GETMET R10 R10 K32 - 0x7C280200, // 00D6 CALL R10 1 - 0x7C240200, // 00D7 CALL R9 1 - 0x58280003, // 00D8 LDCONST R10 K3 - 0x04241204, // 00D9 SUB R9 R9 R4 - 0x142C1409, // 00DA LT R11 R10 R9 - 0x782E0011, // 00DB JMPF R11 #00EE - 0x8C2C1106, // 00DC GETMET R11 R8 K6 - 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 - 0x98321521, // 00E7 SETIDX R12 K10 K33 - 0x00341509, // 00E8 ADD R13 R10 K9 - 0x9832420D, // 00E9 SETIDX R12 K33 R13 - 0x9808160C, // 00EA SETIDX R2 R11 R12 - 0x000C0709, // 00EB ADD R3 R3 K9 - 0x00281509, // 00EC ADD R10 R10 K9 - 0x7001FFEB, // 00ED JMP #00DA - 0x8C2C0322, // 00EE GETMET R11 R1 K34 - 0xB8362000, // 00EF GETNGBL R13 K16 - 0x8C341B23, // 00F0 GETMET R13 R13 K35 - 0x7C340200, // 00F1 CALL R13 1 - 0x7C2C0400, // 00F2 CALL R11 2 - 0x8C300124, // 00F3 GETMET R12 R0 K36 - 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 - 0x000C0709, // 0100 ADD R3 R3 K9 - 0x7001FFF7, // 0101 JMP #00FA - 0x58340025, // 0102 LDCONST R13 K37 - 0xAC340200, // 0103 CATCH R13 1 0 - 0xB0080000, // 0104 RAISE 2 R0 R0 - 0x80040400, // 0105 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_active_endpoints -********************************************************************/ -be_local_closure(class_Matter_Device_get_active_endpoints, /* 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[ 6]) { /* constants */ - /* K0 */ be_nested_str_weak(plugins), - /* K1 */ be_nested_str_weak(get_endpoint), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(find), - /* K4 */ be_nested_str_weak(push), - /* K5 */ be_nested_str_weak(stop_iteration), - }), - 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 - 0x88100100, // 0003 GETMBR R4 R0 K0 - 0x7C0C0200, // 0004 CALL R3 1 - 0xA8020011, // 0005 EXBLK 0 #0018 - 0x5C100600, // 0006 MOVE R4 R3 - 0x7C100000, // 0007 CALL R4 0 - 0x8C140901, // 0008 GETMET R5 R4 K1 - 0x7C140200, // 0009 CALL R5 1 - 0x78060002, // 000A JMPF R1 #000E - 0x1C180B02, // 000B EQ R6 R5 K2 - 0x781A0000, // 000C JMPF R6 #000E - 0x7001FFF7, // 000D JMP #0006 - 0x8C180503, // 000E GETMET R6 R2 K3 - 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 - 0x8C180504, // 0014 GETMET R6 R2 K4 - 0x5C200A00, // 0015 MOVE R8 R5 - 0x7C180400, // 0016 CALL R6 2 - 0x7001FFED, // 0017 JMP #0006 - 0x580C0005, // 0018 LDCONST R3 K5 - 0xAC0C0200, // 0019 CATCH R3 1 0 - 0xB0080000, // 001A RAISE 2 R0 R0 - 0x80040400, // 001B RET 1 R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060000, // 0003 JMPF R1 #0005 + 0x80000200, // 0004 RET 0 + 0x88040168, // 0005 GETMBR R1 R0 K104 + 0x1C04030A, // 0006 EQ R1 R1 K10 + 0x74060004, // 0007 JMPT R1 #000D + 0xB8062C00, // 0008 GETNGBL R1 K22 + 0x8C0403EA, // 0009 GETMET R1 R1 K234 + 0x880C0168, // 000A GETMBR R3 R0 K104 + 0x7C040400, // 000B CALL R1 2 + 0x78060006, // 000C JMPF R1 #0014 + 0x8C0401EB, // 000D GETMET R1 R0 K235 + 0x7C040200, // 000E CALL R1 1 + 0xB8062C00, // 000F GETNGBL R1 K22 + 0x8C0403EC, // 0010 GETMET R1 R1 K236 + 0x880C0167, // 0011 GETMBR R3 R0 K103 + 0x7C040400, // 0012 CALL R1 2 + 0x9002D001, // 0013 SETMBR R0 K104 R1 + 0x80000000, // 0014 RET 0 }) ) ); @@ -6090,34 +3381,454 @@ be_local_closure(class_Matter_Device_MtrJoin, /* name */ be_nested_proto( 8, /* nstack */ 5, /* argc */ - 2, /* varg */ + 10, /* 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(start_root_basic_commissioning), - /* K1 */ be_nested_str_weak(stop_basic_commissioning), - /* K2 */ be_nested_str_weak(tasmota), - /* K3 */ be_nested_str_weak(resp_cmnd_done), - }), + &be_ktab_class_Matter_Device, /* shared constants */ be_str_weak(MtrJoin), &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ + ( &(const binstruction[14]) { /* code */ 0x60140009, // 0000 GETGBL R5 G9 0x5C180600, // 0001 MOVE R6 R3 0x7C140200, // 0002 CALL R5 1 - 0x78160002, // 0003 JMPF R5 #0007 - 0x8C180100, // 0004 GETMET R6 R0 K0 - 0x7C180200, // 0005 CALL R6 1 - 0x70020001, // 0006 JMP #0009 - 0x8C180101, // 0007 GETMET R6 R0 K1 - 0x7C180200, // 0008 CALL R6 1 - 0xB81A0400, // 0009 GETNGBL R6 K2 - 0x8C180D03, // 000A GETMET R6 R6 K3 - 0x7C180200, // 000B CALL R6 1 - 0x80000000, // 000C RET 0 + 0x78160003, // 0003 JMPF R5 #0008 + 0x88180106, // 0004 GETMBR R6 R0 K6 + 0x8C180DED, // 0005 GETMET R6 R6 K237 + 0x7C180200, // 0006 CALL R6 1 + 0x70020001, // 0007 JMP #000A + 0x8C18010D, // 0008 GETMET R6 R0 K13 + 0x7C180200, // 0009 CALL R6 1 + 0xB81A2C00, // 000A GETNGBL R6 K22 + 0x8C180DB0, // 000B GETMET R6 R6 K176 + 0x7C180200, // 000C CALL R6 1 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: autoconf_sensors_list +********************************************************************/ +be_local_closure(class_Matter_Device_autoconf_sensors_list, /* 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(autoconf_sensors_list), + &be_const_str_solidified, + ( &(const binstruction[119]) { /* code */ + 0x60080012, // 0000 GETGBL R2 G18 + 0x7C080000, // 0001 CALL R2 0 + 0x600C0010, // 0002 GETGBL R3 G16 + 0x8C100111, // 0003 GETMET R4 R0 K17 + 0x5C180200, // 0004 MOVE R6 R1 + 0x7C100400, // 0005 CALL R4 2 + 0x7C0C0200, // 0006 CALL R3 1 + 0xA8020013, // 0007 EXBLK 0 #001C + 0x5C100600, // 0008 MOVE R4 R3 + 0x7C100000, // 0009 CALL R4 0 + 0x94140204, // 000A GETIDX R5 R1 R4 + 0x6018000F, // 000B GETGBL R6 G15 + 0x5C1C0A00, // 000C MOVE R7 R5 + 0x60200013, // 000D GETGBL R8 G19 + 0x7C180400, // 000E CALL R6 2 + 0x781A000A, // 000F JMPF R6 #001B + 0x8C180B6C, // 0010 GETMET R6 R5 K108 + 0x582000EE, // 0011 LDCONST R8 K238 + 0x7C180400, // 0012 CALL R6 2 + 0x781A0006, // 0013 JMPF R6 #001B + 0x001809EF, // 0014 ADD R6 R4 K239 + 0x8C1C0562, // 0015 GETMET R7 R2 K98 + 0x60240013, // 0016 GETGBL R9 G19 + 0x7C240000, // 0017 CALL R9 0 + 0x982625F0, // 0018 SETIDX R9 K18 K240 + 0x9827E206, // 0019 SETIDX R9 K241 R6 + 0x7C1C0400, // 001A CALL R7 2 + 0x7001FFEB, // 001B JMP #0008 + 0x580C0014, // 001C LDCONST R3 K20 + 0xAC0C0200, // 001D CATCH R3 1 0 + 0xB0080000, // 001E RAISE 2 R0 R0 + 0x600C0010, // 001F GETGBL R3 G16 + 0x8C100111, // 0020 GETMET R4 R0 K17 + 0x5C180200, // 0021 MOVE R6 R1 + 0x7C100400, // 0022 CALL R4 2 + 0x7C0C0200, // 0023 CALL R3 1 + 0xA8020013, // 0024 EXBLK 0 #0039 + 0x5C100600, // 0025 MOVE R4 R3 + 0x7C100000, // 0026 CALL R4 0 + 0x94140204, // 0027 GETIDX R5 R1 R4 + 0x6018000F, // 0028 GETGBL R6 G15 + 0x5C1C0A00, // 0029 MOVE R7 R5 + 0x60200013, // 002A GETGBL R8 G19 + 0x7C180400, // 002B CALL R6 2 + 0x781A000A, // 002C JMPF R6 #0038 + 0x8C180B6C, // 002D GETMET R6 R5 K108 + 0x582000F2, // 002E LDCONST R8 K242 + 0x7C180400, // 002F CALL R6 2 + 0x781A0006, // 0030 JMPF R6 #0038 + 0x001809F3, // 0031 ADD R6 R4 K243 + 0x8C1C0562, // 0032 GETMET R7 R2 K98 + 0x60240013, // 0033 GETGBL R9 G19 + 0x7C240000, // 0034 CALL R9 0 + 0x982625F4, // 0035 SETIDX R9 K18 K244 + 0x9827E206, // 0036 SETIDX R9 K241 R6 + 0x7C1C0400, // 0037 CALL R7 2 + 0x7001FFEB, // 0038 JMP #0025 + 0x580C0014, // 0039 LDCONST R3 K20 + 0xAC0C0200, // 003A CATCH R3 1 0 + 0xB0080000, // 003B RAISE 2 R0 R0 + 0x600C0010, // 003C GETGBL R3 G16 + 0x8C100111, // 003D GETMET R4 R0 K17 + 0x5C180200, // 003E MOVE R6 R1 + 0x7C100400, // 003F CALL R4 2 + 0x7C0C0200, // 0040 CALL R3 1 + 0xA8020013, // 0041 EXBLK 0 #0056 + 0x5C100600, // 0042 MOVE R4 R3 + 0x7C100000, // 0043 CALL R4 0 + 0x94140204, // 0044 GETIDX R5 R1 R4 + 0x6018000F, // 0045 GETGBL R6 G15 + 0x5C1C0A00, // 0046 MOVE R7 R5 + 0x60200013, // 0047 GETGBL R8 G19 + 0x7C180400, // 0048 CALL R6 2 + 0x781A000A, // 0049 JMPF R6 #0055 + 0x8C180B6C, // 004A GETMET R6 R5 K108 + 0x582000F5, // 004B LDCONST R8 K245 + 0x7C180400, // 004C CALL R6 2 + 0x781A0006, // 004D JMPF R6 #0055 + 0x001809F6, // 004E ADD R6 R4 K246 + 0x8C1C0562, // 004F GETMET R7 R2 K98 + 0x60240013, // 0050 GETGBL R9 G19 + 0x7C240000, // 0051 CALL R9 0 + 0x982625F7, // 0052 SETIDX R9 K18 K247 + 0x9827E206, // 0053 SETIDX R9 K241 R6 + 0x7C1C0400, // 0054 CALL R7 2 + 0x7001FFEB, // 0055 JMP #0042 + 0x580C0014, // 0056 LDCONST R3 K20 + 0xAC0C0200, // 0057 CATCH R3 1 0 + 0xB0080000, // 0058 RAISE 2 R0 R0 + 0x600C0010, // 0059 GETGBL R3 G16 + 0x8C100111, // 005A GETMET R4 R0 K17 + 0x5C180200, // 005B MOVE R6 R1 + 0x7C100400, // 005C CALL R4 2 + 0x7C0C0200, // 005D CALL R3 1 + 0xA8020013, // 005E EXBLK 0 #0073 + 0x5C100600, // 005F MOVE R4 R3 + 0x7C100000, // 0060 CALL R4 0 + 0x94140204, // 0061 GETIDX R5 R1 R4 + 0x6018000F, // 0062 GETGBL R6 G15 + 0x5C1C0A00, // 0063 MOVE R7 R5 + 0x60200013, // 0064 GETGBL R8 G19 + 0x7C180400, // 0065 CALL R6 2 + 0x781A000A, // 0066 JMPF R6 #0072 + 0x8C180B6C, // 0067 GETMET R6 R5 K108 + 0x582000F8, // 0068 LDCONST R8 K248 + 0x7C180400, // 0069 CALL R6 2 + 0x781A0006, // 006A JMPF R6 #0072 + 0x001809F9, // 006B ADD R6 R4 K249 + 0x8C1C0562, // 006C GETMET R7 R2 K98 + 0x60240013, // 006D GETGBL R9 G19 + 0x7C240000, // 006E CALL R9 0 + 0x982625FA, // 006F SETIDX R9 K18 K250 + 0x9827E206, // 0070 SETIDX R9 K241 R6 + 0x7C1C0400, // 0071 CALL R7 2 + 0x7001FFEB, // 0072 JMP #005F + 0x580C0014, // 0073 LDCONST R3 K20 + 0xAC0C0200, // 0074 CATCH R3 1 0 + 0xB0080000, // 0075 RAISE 2 R0 R0 + 0x80040400, // 0076 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 */ + 0x8C08014B, // 0000 GETMET R2 R0 K75 + 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 + 0x8C0C05CF, // 0007 GETMET R3 R2 K207 + 0x7C0C0200, // 0008 CALL R3 1 + 0x780E0008, // 0009 JMPF R3 #0013 + 0x60100018, // 000A GETGBL R4 G24 + 0x581400FB, // 000B LDCONST R5 K251 + 0x5C180600, // 000C MOVE R6 R3 + 0x7C100400, // 000D CALL R4 2 + 0xB8162C00, // 000E GETNGBL R5 K22 + 0x8C140B80, // 000F GETMET R5 R5 K128 + 0x5C1C0800, // 0010 MOVE R7 R4 + 0x58200010, // 0011 LDCONST R8 K16 + 0x7C140600, // 0012 CALL R5 3 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x5814000A, // 0000 LDCONST R5 K10 + 0xA41B0A00, // 0001 IMPORT R6 K133 + 0x601C000C, // 0002 GETGBL R7 G12 + 0x8820011E, // 0003 GETMBR R8 R0 K30 + 0x7C1C0200, // 0004 CALL R7 1 + 0x141C0A07, // 0005 LT R7 R5 R7 + 0x781E0010, // 0006 JMPF R7 #0018 + 0x881C011E, // 0007 GETMBR R7 R0 K30 + 0x941C0E05, // 0008 GETIDX R7 R7 R5 + 0x8C200D6C, // 0009 GETMET R8 R6 K108 + 0x5C280E00, // 000A MOVE R10 R7 + 0x582C006A, // 000B LDCONST R11 K106 + 0x7C200600, // 000C CALL R8 3 + 0x78220007, // 000D JMPF R8 #0016 + 0x8820011E, // 000E GETMBR R8 R0 K30 + 0x94201005, // 000F GETIDX R8 R8 R5 + 0x8C20116A, // 0010 GETMET R8 R8 K106 + 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 + 0x00140B38, // 0016 ADD R5 R5 K56 + 0x7001FFE9, // 0017 JMP #0002 + 0x80000000, // 0018 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[ 7]) { /* code */ + 0x8804011D, // 0000 GETMBR R1 R0 K29 + 0x00040338, // 0001 ADD R1 R1 K56 + 0x90023A01, // 0002 SETMBR R0 K29 R1 + 0x88040127, // 0003 GETMBR R1 R0 K39 + 0x8C0403FC, // 0004 GETMET R1 R1 K252 + 0x7C040200, // 0005 CALL R1 1 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x8808017A, // 0000 GETMBR R2 R0 K122 + 0x8C080539, // 0001 GETMET R2 R2 K57 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x780A0001, // 0004 JMPF R2 #0007 + 0x880C05FD, // 0005 GETMBR R3 R2 K253 + 0x70020000, // 0006 JMP #0008 + 0x580C0010, // 0007 LDCONST R3 K16 + 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 + 0x8808016B, // 0002 GETMBR R2 R0 K107 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0018, // 0005 JMPF R2 #001F + 0x60080010, // 0006 GETGBL R2 G16 + 0x880C016B, // 0007 GETMBR R3 R0 K107 + 0x8C0C0766, // 0008 GETMET R3 R3 K102 + 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 + 0x8810016B, // 000E GETMBR R4 R0 K107 + 0x94100803, // 000F GETIDX R4 R4 R3 + 0x8C1009FE, // 0010 GETMET R4 R4 K254 + 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 + 0x24140B0A, // 0018 GT R5 R5 K10 + 0x78160000, // 0019 JMPF R5 #001B + 0x98040604, // 001A SETIDX R1 R3 R4 + 0x7001FFEF, // 001B JMP #000C + 0x58080014, // 001C LDCONST R2 K20 + 0xAC080200, // 001D CATCH R2 1 0 + 0xB0080000, // 001E RAISE 2 R0 R0 + 0x90023E01, // 001F SETMBR R0 K31 R1 + 0x80040200, // 0020 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** 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 */ + 0x5804000F, // 0000 LDCONST R1 K15 + 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 + 0x8C100166, // 0008 GETMET R4 R0 K102 + 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 + 0x8C140562, // 000E GETMET R5 R2 K98 + 0x5C1C0800, // 000F MOVE R7 R4 + 0x7C140400, // 0010 CALL R5 2 + 0x7001FFF9, // 0011 JMP #000C + 0x580C0014, // 0012 LDCONST R3 K20 + 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 + 0x04100938, // 0019 SUB R4 R4 K56 + 0x40127004, // 001A CONNECT R4 K56 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 + 0x241C0D0A, // 0021 GT R7 R6 K10 + 0x781E0008, // 0022 JMPF R7 #002C + 0x041C0D38, // 0023 SUB R7 R6 K56 + 0x941C0407, // 0024 GETIDX R7 R2 R7 + 0x241C0E05, // 0025 GT R7 R7 R5 + 0x781E0004, // 0026 JMPF R7 #002C + 0x041C0D38, // 0027 SUB R7 R6 K56 + 0x941C0407, // 0028 GETIDX R7 R2 R7 + 0x98080C07, // 0029 SETIDX R2 R6 R7 + 0x04180D38, // 002A SUB R6 R6 K56 + 0x7001FFF4, // 002B JMP #0021 + 0x98080C05, // 002C SETIDX R2 R6 R5 + 0x7001FFEE, // 002D JMP #001D + 0x580C0014, // 002E LDCONST R3 K20 + 0xAC0C0200, // 002F CATCH R3 1 0 + 0xB0080000, // 0030 RAISE 2 R0 R0 + 0x80040400, // 0031 RET 1 R2 }) ) ); @@ -6128,126 +3839,51 @@ be_local_closure(class_Matter_Device_MtrJoin, /* name */ ** Solidified class: Matter_Device ********************************************************************/ be_local_class(Matter_Device, - 34, + 22, NULL, - be_nested_map(115, + be_nested_map(79, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(start_commissioning_complete, 110), be_const_closure(class_Matter_Device_start_commissioning_complete_closure) }, - { be_const_key_weak(k2l_num, -1), be_const_static_closure(class_Matter_Device_k2l_num_closure) }, - { be_const_key_weak(remove_fabric, 17), be_const_closure(class_Matter_Device_remove_fabric_closure) }, - { be_const_key_weak(_mdns_announce_hostname, 36), be_const_closure(class_Matter_Device__mdns_announce_hostname_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(every_second, 109), be_const_closure(class_Matter_Device_every_second_closure) }, - { be_const_key_weak(compute_qrcode_content, -1), be_const_closure(class_Matter_Device_compute_qrcode_content_closure) }, - { be_const_key_weak(commissioning_w0, -1), be_const_var(16) }, - { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_Device_msg_received_closure) }, - { be_const_key_weak(get_plugin_remote_info, -1), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) }, - { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Device_attribute_updated_closure) }, - { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(33) }, - { be_const_key_weak(get_active_endpoints, 81), be_const_closure(class_Matter_Device_get_active_endpoints_closure) }, - { be_const_key_weak(commissioning_salt, -1), be_const_var(15) }, - { be_const_key_weak(autoconf_device, 84), be_const_closure(class_Matter_Device_autoconf_device_closure) }, - { be_const_key_weak(ipv4only, -1), be_const_var(28) }, - { be_const_key_weak(PASE_TIMEOUT, 37), be_const_int(600) }, - { be_const_key_weak(ui, 6), be_const_var(9) }, - { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_Device_every_50ms_closure) }, - { be_const_key_weak(button_handler, -1), be_const_closure(class_Matter_Device_button_handler_closure) }, - { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Device_autoconf_device_map_closure) }, - { be_const_key_weak(find_plugin_by_friendly_name, 86), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) }, - { be_const_key_weak(debug, 95), be_const_var(31) }, - { be_const_key_weak(events, 52), be_const_var(11) }, - { be_const_key_weak(resolve_attribute_read_solo, -1), be_const_closure(class_Matter_Device_resolve_attribute_read_solo_closure) }, - { be_const_key_weak(update_remotes_info, -1), be_const_closure(class_Matter_Device_update_remotes_info_closure) }, - { be_const_key_weak(plugins_persist, -1), be_const_var(2) }, - { be_const_key_weak(button_multi_pressed, 98), be_const_closure(class_Matter_Device_button_multi_pressed_closure) }, - { be_const_key_weak(udp_server, 76), be_const_var(5) }, - { be_const_key_weak(message_handler, -1), be_const_var(7) }, - { be_const_key_weak(mdns_remove_PASE, -1), be_const_closure(class_Matter_Device_mdns_remove_PASE_closure) }, - { be_const_key_weak(plugins, -1), be_const_var(1) }, - { be_const_key_weak(invoke_request, 9), be_const_closure(class_Matter_Device_invoke_request_closure) }, - { be_const_key_weak(_init_basic_commissioning, -1), be_const_closure(class_Matter_Device__init_basic_commissioning_closure) }, - { be_const_key_weak(disable_bridge_mode, 11), be_const_var(29) }, - { be_const_key_weak(start_basic_commissioning, 77), be_const_closure(class_Matter_Device_start_basic_commissioning_closure) }, - { be_const_key_weak(sessions, -1), be_const_var(8) }, - { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(class_Matter_Device_get_plugin_class_arg_closure) }, - { be_const_key_weak(MtrInfo_one, 79), be_const_closure(class_Matter_Device_MtrInfo_one_closure) }, - { be_const_key_weak(start_mdns_announce_hostnames, -1), be_const_closure(class_Matter_Device_start_mdns_announce_hostnames_closure) }, - { be_const_key_weak(mdns_pase_wifi, -1), be_const_var(24) }, - { be_const_key_weak(commissioning_instance_wifi, -1), be_const_var(19) }, - { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Device_mdns_announce_PASE_closure) }, - { be_const_key_weak(save_before_restart, 103), be_const_closure(class_Matter_Device_save_before_restart_closure) }, - { be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(class_Matter_Device_autoconf_sensors_list_closure) }, - { be_const_key_weak(start_commissioning_complete_deferred, -1), be_const_closure(class_Matter_Device_start_commissioning_complete_deferred_closure) }, - { be_const_key_weak(next_ep, -1), be_const_var(30) }, - { be_const_key_weak(conf_to_log, -1), be_const_static_closure(class_Matter_Device_conf_to_log_closure) }, - { be_const_key_weak(process_attribute_expansion, -1), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) }, - { be_const_key_weak(stop_basic_commissioning, -1), be_const_closure(class_Matter_Device_stop_basic_commissioning_closure) }, - { be_const_key_weak(clean_remotes, -1), be_const_closure(class_Matter_Device_clean_remotes_closure) }, - { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) }, - { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) }, - { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) }, - { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) }, - { be_const_key_weak(find_plugin_by_endpoint, 64), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) }, - { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(class_Matter_Device__instantiate_plugins_from_config_closure) }, - { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_closure) }, - { be_const_key_weak(is_commissioning_open, 74), be_const_closure(class_Matter_Device_is_commissioning_open_closure) }, - { be_const_key_weak(PRODUCT_ID, -1), be_const_int(32768) }, - { be_const_key_weak(init, 45), be_const_closure(class_Matter_Device_init_closure) }, - { be_const_key_weak(read_sensors_scheduler, 87), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) }, - { be_const_key_weak(bridge_remove_endpoint, 12), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) }, - { be_const_key_weak(http_remotes, -1), be_const_var(25) }, - { be_const_key_weak(tick, -1), be_const_var(10) }, - { be_const_key_weak(bridge_add_endpoint, -1), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) }, - { be_const_key_weak(is_root_commissioning_open, -1), be_const_closure(class_Matter_Device_is_root_commissioning_open_closure) }, - { be_const_key_weak(_trigger_read_sensors, 96), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) }, - { be_const_key_weak(MtrUpdate, -1), be_const_closure(class_Matter_Device_MtrUpdate_closure) }, - { be_const_key_weak(commissioning_open, -1), be_const_var(12) }, - { be_const_key_weak(generate_random_passcode, -1), be_const_closure(class_Matter_Device_generate_random_passcode_closure) }, - { be_const_key_weak(hostname_wifi, 78), be_const_var(21) }, - { be_const_key_weak(start_operational_discovery_deferred, -1), be_const_closure(class_Matter_Device_start_operational_discovery_deferred_closure) }, - { be_const_key_weak(save_param, -1), be_const_closure(class_Matter_Device_save_param_closure) }, - { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) }, - { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(18) }, - { be_const_key_weak(compute_manual_pairing_code, 93), be_const_closure(class_Matter_Device_compute_manual_pairing_code_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(VENDOR_ID, 68), be_const_int(65521) }, - { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, 101), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics_closure) }, - { be_const_key_weak(register_http_remote, -1), be_const_closure(class_Matter_Device_register_http_remote_closure) }, - { be_const_key_weak(commissioning_iterations, -1), be_const_var(13) }, - { be_const_key_weak(profiler, -1), be_const_var(6) }, - { be_const_key_weak(check_config_ep, -1), be_const_closure(class_Matter_Device_check_config_ep_closure) }, - { be_const_key_weak(commissioning_L, -1), be_const_var(17) }, - { be_const_key_weak(commissioning_discriminator, -1), be_const_var(14) }, - { be_const_key_weak(start, -1), be_const_closure(class_Matter_Device_start_closure) }, - { be_const_key_weak(button_pressed, -1), be_const_closure(class_Matter_Device_button_pressed_closure) }, - { be_const_key_weak(msg_send, 35), be_const_closure(class_Matter_Device_msg_send_closure) }, - { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 55), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics_closure) }, - { be_const_key_weak(probe_sensor_time, 47), be_const_var(32) }, - { be_const_key_weak(get_plugin_class_displayname, 70), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) }, - { be_const_key_weak(root_discriminator, -1), be_const_var(26) }, - { be_const_key_weak(signal_endpoints_changed, 4), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) }, - { be_const_key_weak(PBKDF_ITERATIONS, 58), be_const_int(1000) }, - { be_const_key_weak(event_fabrics_saved, -1), be_const_closure(class_Matter_Device_event_fabrics_saved_closure) }, - { be_const_key_weak(start_operational_discovery, -1), be_const_closure(class_Matter_Device_start_operational_discovery_closure) }, - { be_const_key_weak(stop, 51), be_const_closure(class_Matter_Device_stop_closure) }, - { be_const_key_weak(sort_distinct, -1), be_const_static_closure(class_Matter_Device_sort_distinct_closure) }, { be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_Device_received_ack_closure) }, - { be_const_key_weak(plugins_classes, 38), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) }, + { be_const_key_weak(plugins, -1), be_const_var(1) }, + { be_const_key_weak(msg_send, -1), be_const_closure(class_Matter_Device_msg_send_closure) }, + { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(class_Matter_Device__instantiate_plugins_from_config_closure) }, + { be_const_key_weak(message_handler, -1), be_const_var(7) }, + { be_const_key_weak(event_fabrics_saved, -1), be_const_closure(class_Matter_Device_event_fabrics_saved_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_time, 1), be_const_var(20) }, + { be_const_key_weak(conf_to_log, 50), be_const_static_closure(class_Matter_Device_conf_to_log_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Device_init_closure) }, + { be_const_key_weak(ui, -1), be_const_var(10) }, + { be_const_key_weak(root_passcode, -1), be_const_var(15) }, + { be_const_key_weak(every_50ms, 22), be_const_closure(class_Matter_Device_every_50ms_closure) }, + { be_const_key_weak(profiler, -1), be_const_var(6) }, + { be_const_key_weak(disable_bridge_mode, -1), be_const_var(17) }, + { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Device_remove_fabric_closure) }, + { be_const_key_weak(resolve_attribute_read_solo, 66), be_const_closure(class_Matter_Device_resolve_attribute_read_solo_closure) }, + { be_const_key_weak(signal_endpoints_changed, -1), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) }, + { be_const_key_weak(autoconf_device, 69), be_const_closure(class_Matter_Device_autoconf_device_closure) }, + { be_const_key_weak(_trigger_read_sensors, -1), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) }, + { be_const_key_weak(get_active_endpoints, -1), be_const_closure(class_Matter_Device_get_active_endpoints_closure) }, + { be_const_key_weak(button_handler, 37), be_const_closure(class_Matter_Device_button_handler_closure) }, + { be_const_key_weak(debug, 3), be_const_var(19) }, + { be_const_key_weak(stop, 43), be_const_closure(class_Matter_Device_stop_closure) }, + { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) }, + { be_const_key_weak(add_read_sensors_schedule, 49), be_const_closure(class_Matter_Device_add_read_sensors_schedule_closure) }, + { be_const_key_weak(button_pressed, -1), be_const_closure(class_Matter_Device_button_pressed_closure) }, + { be_const_key_weak(register_http_remote, 53), be_const_closure(class_Matter_Device_register_http_remote_closure) }, + { be_const_key_weak(root_discriminator, -1), be_const_var(14) }, + { be_const_key_weak(start, 4), be_const_closure(class_Matter_Device_start_closure) }, + { be_const_key_weak(MtrInfo_one, -1), be_const_closure(class_Matter_Device_MtrInfo_one_closure) }, + { be_const_key_weak(autoconf_sensors_list, 40), be_const_closure(class_Matter_Device_autoconf_sensors_list_closure) }, + { be_const_key_weak(get_plugin_class_displayname, -1), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) }, + { be_const_key_weak(plugins_config, -1), be_const_var(3) }, + { be_const_key_weak(http_remotes, 11), be_const_var(13) }, + { be_const_key_weak(get_plugin_remote_info, 58), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) }, + { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) }, + { be_const_key_weak(tick, 46), be_const_var(11) }, + { be_const_key_weak(clean_remotes, 72), be_const_closure(class_Matter_Device_clean_remotes_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(53, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(occupancy, -1), be_const_class(be_class_Matter_Plugin_Sensor_Occupancy) }, @@ -6304,20 +3940,44 @@ be_local_class(Matter_Device, { be_const_key_weak(rain, -1), be_const_class(be_class_Matter_Plugin_Sensor_Rain) }, { be_const_key_weak(light0, -1), be_const_class(be_class_Matter_Plugin_Light0) }, })) ) } )) }, - { be_const_key_weak(mdns_remove_op_discovery, -1), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_closure) }, - { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) }, - { be_const_key_weak(plugins_config, -1), be_const_var(3) }, - { be_const_key_weak(hostname_eth, 33), be_const_var(22) }, - { be_const_key_weak(every_250ms, 28), be_const_closure(class_Matter_Device_every_250ms_closure) }, - { be_const_key_weak(register_commands, 21), be_const_closure(class_Matter_Device_register_commands_closure) }, - { be_const_key_weak(MtrInfo, 20), be_const_closure(class_Matter_Device_MtrInfo_closure) }, - { be_const_key_weak(root_passcode, -1), be_const_var(27) }, - { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(class_Matter_Device_start_root_basic_commissioning_closure) }, - { be_const_key_weak(mdns_pase_eth, -1), be_const_var(23) }, - { be_const_key_weak(started, -1), be_const_var(0) }, - { be_const_key_weak(commissioning_instance_eth, 7), be_const_var(20) }, - { be_const_key_weak(plugins_config_remotes, -1), be_const_var(4) }, + { be_const_key_weak(udp_server, -1), be_const_var(5) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Device_every_second_closure) }, { be_const_key_weak(MtrJoin, -1), be_const_closure(class_Matter_Device_MtrJoin_closure) }, + { be_const_key_weak(button_multi_pressed, -1), be_const_closure(class_Matter_Device_button_multi_pressed_closure) }, + { be_const_key_weak(k2l_num, -1), be_const_static_closure(class_Matter_Device_k2l_num_closure) }, + { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(21) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Device_every_250ms_closure) }, + { be_const_key_weak(process_attribute_expansion, -1), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) }, + { be_const_key_weak(msg_received, 44), be_const_closure(class_Matter_Device_msg_received_closure) }, + { be_const_key_weak(events, -1), be_const_var(12) }, + { be_const_key_weak(VENDOR_ID, 63), be_const_int(65521) }, + { be_const_key_weak(MtrInfo, -1), be_const_closure(class_Matter_Device_MtrInfo_closure) }, + { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) }, + { be_const_key_weak(ipv4only, -1), be_const_var(16) }, + { be_const_key_weak(commissioning, -1), be_const_var(8) }, + { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) }, + { be_const_key_weak(sessions, 55), be_const_var(9) }, + { be_const_key_weak(find_plugin_by_endpoint, -1), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) }, + { be_const_key_weak(register_commands, -1), be_const_closure(class_Matter_Device_register_commands_closure) }, + { be_const_key_weak(next_ep, -1), be_const_var(18) }, + { be_const_key_weak(save_param, -1), be_const_closure(class_Matter_Device_save_param_closure) }, + { be_const_key_weak(bridge_remove_endpoint, -1), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) }, + { be_const_key_weak(bridge_add_endpoint, 64), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) }, + { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Device_autoconf_device_map_closure) }, + { be_const_key_weak(read_sensors_scheduler, -1), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) }, + { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Device_attribute_updated_closure) }, + { be_const_key_weak(find_plugin_by_friendly_name, 41), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) }, + { be_const_key_weak(plugins_config_remotes, -1), be_const_var(4) }, + { be_const_key_weak(plugins_persist, -1), be_const_var(2) }, + { be_const_key_weak(sort_distinct, 32), be_const_static_closure(class_Matter_Device_sort_distinct_closure) }, + { be_const_key_weak(started, 31), be_const_var(0) }, + { be_const_key_weak(check_config_ep, -1), be_const_closure(class_Matter_Device_check_config_ep_closure) }, + { be_const_key_weak(invoke_request, 14), be_const_closure(class_Matter_Device_invoke_request_closure) }, + { be_const_key_weak(MtrUpdate, 13), be_const_closure(class_Matter_Device_MtrUpdate_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(PRODUCT_ID, -1), be_const_int(32768) }, + { be_const_key_weak(update_remotes_info, -1), be_const_closure(class_Matter_Device_update_remotes_info_closure) }, + { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) }, })), be_str_weak(Matter_Device) );