diff --git a/AndroidBinding1/AndroidBinding1.csproj b/AndroidBinding1/AndroidBinding1.csproj
index aaa7bdb..18ab92f 100644
--- a/AndroidBinding1/AndroidBinding1.csproj
+++ b/AndroidBinding1/AndroidBinding1.csproj
@@ -1,9 +1,10 @@
- net9.0-android
+ net10.0-android
21
enable
enable
+ True
-
+
NFCLockDemoV2
@@ -41,38 +42,38 @@
6.5
-
+
apk
False
com.elitesys.nfclockdemov2
-
+
False
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
-
+
com.elitesys.nfclockdemov2
@@ -108,6 +109,7 @@
+
diff --git a/NfcLock.Ios.Binding/ApiDefinition.cs b/NfcLock.Ios.Binding/ApiDefinition.cs
new file mode 100644
index 0000000..19307c4
--- /dev/null
+++ b/NfcLock.Ios.Binding/ApiDefinition.cs
@@ -0,0 +1,46 @@
+using System;
+using Foundation;
+
+namespace NfcLock.Ios.Binding
+{
+ // @interface NFCManager
+ [DisableDefaultCtor]
+ interface NFCManager
+ {
+ // -(void)startScan;
+ [Export ("startScan")]
+ void StartScan ();
+
+ // -(void)endScan;
+ [Export ("endScan")]
+ void EndScan ();
+
+ // -(void)endScanWithErrorMessage:(NSString * _Nonnull)errorMessage;
+ [Export ("endScanWithErrorMessage:")]
+ void EndScanWithErrorMessage (string errorMessage);
+
+ // -(void)setLoopCbWithCb:(id)cb;
+ [Export ("setLoopCbWithCb:")]
+ void SetLoopCbWithCb (NSObject cb);
+
+ // -(void)setFinishedCbWithCb:(void (^ _Nonnull)(void))cb;
+ [Export ("setFinishedCbWithCb:")]
+ void SetFinishedCbWithCb (Action cb);
+
+ // -(void)setChargingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb;
+ [Export ("setChargingCbWithCb:")]
+ void SetChargingCbWithCb (Action cb);
+
+ // -(void)setControllingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb;
+ [Export ("setControllingCbWithCb:")]
+ void SetControllingCbWithCb (Action cb);
+
+ // -(void)lockWithPassword:(NSString * _Nonnull)password;
+ [Export ("lockWithPassword:")]
+ void LockWithPassword (string password);
+
+ // -(void)unlockWithPassword:(NSString * _Nonnull)password;
+ [Export ("unlockWithPassword:")]
+ void UnlockWithPassword (string password);
+ }
+}
diff --git a/NfcLock.Ios.Binding/NfcLock.Ios.Binding.csproj b/NfcLock.Ios.Binding/NfcLock.Ios.Binding.csproj
new file mode 100644
index 0000000..dbbda01
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLock.Ios.Binding.csproj
@@ -0,0 +1,29 @@
+
+
+ net10.0-ios
+ enable
+ true
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+
+ NfcLockFramework
+
+
+
+
diff --git a/NfcLock.Ios.Binding/NfcLock.Ios.Binding.sln b/NfcLock.Ios.Binding/NfcLock.Ios.Binding.sln
new file mode 100644
index 0000000..fba25cb
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLock.Ios.Binding.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NfcLock.Ios.Binding", "NfcLock.Ios.Binding.csproj", "{F5D3C5A7-7AA0-56B1-0E41-FCA4183F1B44}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F5D3C5A7-7AA0-56B1-0E41-FCA4183F1B44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F5D3C5A7-7AA0-56B1-0E41-FCA4183F1B44}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F5D3C5A7-7AA0-56B1-0E41-FCA4183F1B44}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F5D3C5A7-7AA0-56B1-0E41-FCA4183F1B44}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A24DCC11-1817-4518-8EB8-6E22C6D27CCF}
+ EndGlobalSection
+EndGlobal
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5938fd1
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj
@@ -0,0 +1,360 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 77;
+ objects = {
+
+/* Begin PBXFileReference section */
+ 185AC0572F22284600E22FA2 /* NfcLockFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NfcLockFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFileSystemSynchronizedRootGroup section */
+ 185AC0592F22284600E22FA2 /* NfcLockFramework */ = {
+ isa = PBXFileSystemSynchronizedRootGroup;
+ path = NfcLockFramework;
+ sourceTree = "";
+ };
+/* End PBXFileSystemSynchronizedRootGroup section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 185AC0542F22284600E22FA2 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 185AC04D2F22284600E22FA2 = {
+ isa = PBXGroup;
+ children = (
+ 185AC0592F22284600E22FA2 /* NfcLockFramework */,
+ 185AC0582F22284600E22FA2 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 185AC0582F22284600E22FA2 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 185AC0572F22284600E22FA2 /* NfcLockFramework.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 185AC0522F22284600E22FA2 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 185AC0562F22284600E22FA2 /* NfcLockFramework */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 185AC0602F22284600E22FA2 /* Build configuration list for PBXNativeTarget "NfcLockFramework" */;
+ buildPhases = (
+ 185AC0522F22284600E22FA2 /* Headers */,
+ 185AC0532F22284600E22FA2 /* Sources */,
+ 185AC0542F22284600E22FA2 /* Frameworks */,
+ 185AC0552F22284600E22FA2 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ fileSystemSynchronizedGroups = (
+ 185AC0592F22284600E22FA2 /* NfcLockFramework */,
+ );
+ name = NfcLockFramework;
+ packageProductDependencies = (
+ );
+ productName = NfcLockFramework;
+ productReference = 185AC0572F22284600E22FA2 /* NfcLockFramework.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 185AC04E2F22284600E22FA2 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = 1;
+ LastSwiftUpdateCheck = 2620;
+ LastUpgradeCheck = 2620;
+ TargetAttributes = {
+ 185AC0562F22284600E22FA2 = {
+ CreatedOnToolsVersion = 26.2;
+ };
+ };
+ };
+ buildConfigurationList = 185AC0512F22284600E22FA2 /* Build configuration list for PBXProject "NfcLockFramework" */;
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 185AC04D2F22284600E22FA2;
+ minimizedProjectReferenceProxies = 1;
+ preferredProjectObjectVersion = 77;
+ productRefGroup = 185AC0582F22284600E22FA2 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 185AC0562F22284600E22FA2 /* NfcLockFramework */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 185AC0552F22284600E22FA2 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 185AC0532F22284600E22FA2 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 185AC05E2F22284600E22FA2 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 26.2;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ 185AC05F2F22284600E22FA2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 26.2;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 185AC0612F22284600E22FA2 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 16.6;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
+ PRODUCT_BUNDLE_IDENTIFIER = com.elitesys.NfcLockFramework;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SKIP_INSTALL = YES;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_MODULE = YES;
+ SWIFT_INSTALL_OBJC_HEADER = NO;
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 185AC0622F22284600E22FA2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 16.6;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
+ PRODUCT_BUNDLE_IDENTIFIER = com.elitesys.NfcLockFramework;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SKIP_INSTALL = YES;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_MODULE = YES;
+ SWIFT_INSTALL_OBJC_HEADER = NO;
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 185AC0512F22284600E22FA2 /* Build configuration list for PBXProject "NfcLockFramework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 185AC05E2F22284600E22FA2 /* Debug */,
+ 185AC05F2F22284600E22FA2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 185AC0602F22284600E22FA2 /* Build configuration list for PBXNativeTarget "NfcLockFramework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 185AC0612F22284600E22FA2 /* Debug */,
+ 185AC0622F22284600E22FA2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 185AC04E2F22284600E22FA2 /* Project object */;
+}
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..88eb74d
Binary files /dev/null and b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcshareddata/xcschemes/NfcLockFramework.xcscheme b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcshareddata/xcschemes/NfcLockFramework.xcscheme
new file mode 100644
index 0000000..7254169
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcshareddata/xcschemes/NfcLockFramework.xcscheme
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..74f55db
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ SchemeUserState
+
+ NfcLockFramework.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 185AC0562F22284600E22FA2
+
+ primary
+
+
+
+
+
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.docc/NfcLockFramework.md b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.docc/NfcLockFramework.md
new file mode 100644
index 0000000..611bf6f
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.docc/NfcLockFramework.md
@@ -0,0 +1,13 @@
+# ``NfcLockFramework``
+
+Summary
+
+## Overview
+
+Text
+
+## Topics
+
+### Group
+
+- ``Symbol``
\ No newline at end of file
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.swift b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.swift
new file mode 100644
index 0000000..a22fd31
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/NfcLockFramework.swift
@@ -0,0 +1,174 @@
+import CoreNFC
+import NFCSDK
+
+@objc(NFCManager)
+public class NFCManager: NSObject, NFCTagReaderSessionDelegate {
+ static let instance = NFCManager()
+ private let helper = IOSNFCHelper()
+ private var session: NFCTagReaderSession?
+ private var readyToStart = true
+ private var controlName = ""
+
+ private override init() {
+
+ }
+
+ @objc
+ public func startScan() {
+ if (readyToStart) {
+ readyToStart = false
+ session = NFCTagReaderSession(
+ pollingOption: [.iso14443],
+ delegate: self,
+ queue: nil,
+ )
+ session?.alertMessage = "请将 iPhone 靠近设备"
+ session?.begin()
+ }
+ }
+
+ @objc
+ public func endScan() {
+ session?.invalidate()
+ Task {
+ try? await Task.sleep(nanoseconds: 2_000_000_000)
+ readyToStart = true
+ }
+ }
+
+ @objc
+ public func endScan(errorMessage: String) {
+ session?.invalidate(errorMessage: errorMessage)
+ Task {
+ try? await Task.sleep(nanoseconds: 2_000_000_000)
+ readyToStart = true
+ }
+ }
+
+ public func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
+ print("NFC Session Active")
+ }
+
+ public func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
+ endScan()
+ }
+
+ public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) {
+
+ guard let tag = tags.first else { return }
+
+ session.connect(to: tag) { error in
+ if error != nil {
+ self.endScan(errorMessage: "NFC 连接失败")
+ return
+ }
+
+ switch tag {
+
+ case .miFare(let miFareTag):
+
+ self.helper.setTransceiver { data, resolve in
+ let length = Int(data.size)
+ var buffer = [UInt8](repeating: 0, count: length)
+ for i in 0.. Bool) {
+ helper.setLoopCb { id, isNew, rssi in
+ let isNew0 = isNew.boolValue
+ let rssi0 = rssi?.intValue ?? 0
+ self.session?.alertMessage = "检测到设备"
+ return KotlinBoolean(bool: cb(id, isNew0, rssi0))
+ }
+ }
+
+ @objc
+ public func setFinishedCb(cb: @escaping () -> Void) {
+ helper.setFinishedCb(cb: {
+ self.endScan()
+ cb()
+ })
+ }
+
+ @objc
+ public func setChargingCb(cb: @escaping (String, Int) -> Void) {
+ helper.setChargingCb { res, level in
+ let level0 = level?.intValue ?? 0
+ switch (res) {
+ case "OK":
+ self.session?.alertMessage = "充电中(\(level0)%)"
+ break
+ case "UNAUTHORIZED":
+ self.endScan(errorMessage: "验证失败")
+ break
+ default:
+ self.endScan(errorMessage: "NFC 标签丢失")
+ }
+ cb(res, level0)
+ }
+ }
+
+ @objc
+ public func setControllingCb(cb: @escaping (String, Int) -> Void) {
+ helper.setControllingCb { res, progress in
+ let progress0 = progress?.intValue ?? 0
+ switch (res) {
+ case "OK":
+ if (progress0 < 100) {
+ self.session?.alertMessage = "\(self.controlName)中(\(progress0)%)"
+ } else {
+ self.session?.alertMessage = "\(self.controlName)成功"
+ }
+ break
+ default:
+ self.endScan(errorMessage: "\(self.controlName)失败")
+ }
+ cb(res, progress0)
+ }
+ }
+
+ @objc
+ public func lock(password: String) {
+ controlName = "关锁"
+ helper.lock(password: password)
+ }
+
+ @objc
+ public func unlock(password: String) {
+ controlName = "开锁"
+ helper.unlock(password: password)
+ }
+}
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/Info.plist b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/Info.plist
new file mode 100644
index 0000000..d9a4b3f
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/Info.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ NFCSDK.framework/NFCSDK
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ NFCSDK.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ NFCSDK.framework/NFCSDK
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ NFCSDK.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
new file mode 100644
index 0000000..d56f6de
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
@@ -0,0 +1,707 @@
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+
+@class NFCSDKCV, NFCSDKCVCompanion, NFCSDKCallFunctionTask, NFCSDKChargeLevel, NFCSDKCommonTask, NFCSDKControlProgress, NFCSDKControlTask, NFCSDKCtrl, NFCSDKCtrlCompanion, NFCSDKDevice, NFCSDKDeviceInfo, NFCSDKDeviceLog, NFCSDKDeviceManager, NFCSDKGetLogTask, NFCSDKKotlinArray, NFCSDKKotlinByteArray, NFCSDKKotlinByteIterator, NFCSDKKotlinEnum, NFCSDKKotlinEnumCompanion, NFCSDKKotlinException, NFCSDKKotlinIllegalStateException, NFCSDKKotlinPair<__covariant A, __covariant B>, NFCSDKKotlinRuntimeException, NFCSDKKotlinThrowable, NFCSDKKotlinUnit, NFCSDKMet, NFCSDKMetCompanion, NFCSDKParameters, NFCSDKResult, NFCSDKSetKeyTask, NFCSDKSetParametersTask, NFCSDKUserType, NFCSDKUserTypeCompanion;
+
+@protocol NFCSDKKotlinComparable, NFCSDKKotlinIterator, NFCSDKNFCCallbacks, NFCSDKNFCTag;
+
+NS_ASSUME_NONNULL_BEGIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-warning-option"
+#pragma clang diagnostic ignored "-Wincompatible-property-type"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#pragma push_macro("_Nullable_result")
+#if !__has_feature(nullability_nullable_result)
+#undef _Nullable_result
+#define _Nullable_result _Nullable
+#endif
+
+__attribute__((swift_name("KotlinBase")))
+@interface NFCSDKBase : NSObject
+- (instancetype)init __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
++ (void)initialize __attribute__((objc_requires_super));
+@end
+
+@interface NFCSDKBase (NFCSDKBaseCopying)
+@end
+
+__attribute__((swift_name("KotlinMutableSet")))
+@interface NFCSDKMutableSet : NSMutableSet
+@end
+
+__attribute__((swift_name("KotlinMutableDictionary")))
+@interface NFCSDKMutableDictionary : NSMutableDictionary
+@end
+
+@interface NSError (NSErrorNFCSDKKotlinException)
+@property (readonly) id _Nullable kotlinException;
+@end
+
+__attribute__((swift_name("KotlinNumber")))
+@interface NFCSDKNumber : NSNumber
+- (instancetype)initWithChar:(char)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
+- (instancetype)initWithShort:(short)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
+- (instancetype)initWithInt:(int)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
+- (instancetype)initWithLong:(long)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
+- (instancetype)initWithLongLong:(long long)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
+- (instancetype)initWithFloat:(float)value __attribute__((unavailable));
+- (instancetype)initWithDouble:(double)value __attribute__((unavailable));
+- (instancetype)initWithBool:(BOOL)value __attribute__((unavailable));
+- (instancetype)initWithInteger:(NSInteger)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
++ (instancetype)numberWithChar:(char)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
++ (instancetype)numberWithShort:(short)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
++ (instancetype)numberWithInt:(int)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
++ (instancetype)numberWithLong:(long)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
++ (instancetype)numberWithLongLong:(long long)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
++ (instancetype)numberWithFloat:(float)value __attribute__((unavailable));
++ (instancetype)numberWithDouble:(double)value __attribute__((unavailable));
++ (instancetype)numberWithBool:(BOOL)value __attribute__((unavailable));
++ (instancetype)numberWithInteger:(NSInteger)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
+@end
+
+__attribute__((swift_name("KotlinByte")))
+@interface NFCSDKByte : NFCSDKNumber
+- (instancetype)initWithChar:(char)value;
++ (instancetype)numberWithChar:(char)value;
+@end
+
+__attribute__((swift_name("KotlinUByte")))
+@interface NFCSDKUByte : NFCSDKNumber
+- (instancetype)initWithUnsignedChar:(unsigned char)value;
++ (instancetype)numberWithUnsignedChar:(unsigned char)value;
+@end
+
+__attribute__((swift_name("KotlinShort")))
+@interface NFCSDKShort : NFCSDKNumber
+- (instancetype)initWithShort:(short)value;
++ (instancetype)numberWithShort:(short)value;
+@end
+
+__attribute__((swift_name("KotlinUShort")))
+@interface NFCSDKUShort : NFCSDKNumber
+- (instancetype)initWithUnsignedShort:(unsigned short)value;
++ (instancetype)numberWithUnsignedShort:(unsigned short)value;
+@end
+
+__attribute__((swift_name("KotlinInt")))
+@interface NFCSDKInt : NFCSDKNumber
+- (instancetype)initWithInt:(int)value;
++ (instancetype)numberWithInt:(int)value;
+@end
+
+__attribute__((swift_name("KotlinUInt")))
+@interface NFCSDKUInt : NFCSDKNumber
+- (instancetype)initWithUnsignedInt:(unsigned int)value;
++ (instancetype)numberWithUnsignedInt:(unsigned int)value;
+@end
+
+__attribute__((swift_name("KotlinLong")))
+@interface NFCSDKLong : NFCSDKNumber
+- (instancetype)initWithLongLong:(long long)value;
++ (instancetype)numberWithLongLong:(long long)value;
+@end
+
+__attribute__((swift_name("KotlinULong")))
+@interface NFCSDKULong : NFCSDKNumber
+- (instancetype)initWithUnsignedLongLong:(unsigned long long)value;
++ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value;
+@end
+
+__attribute__((swift_name("KotlinFloat")))
+@interface NFCSDKFloat : NFCSDKNumber
+- (instancetype)initWithFloat:(float)value;
++ (instancetype)numberWithFloat:(float)value;
+@end
+
+__attribute__((swift_name("KotlinDouble")))
+@interface NFCSDKDouble : NFCSDKNumber
+- (instancetype)initWithDouble:(double)value;
++ (instancetype)numberWithDouble:(double)value;
+@end
+
+__attribute__((swift_name("KotlinBoolean")))
+@interface NFCSDKBoolean : NFCSDKNumber
+- (instancetype)initWithBool:(BOOL)value;
++ (instancetype)numberWithBool:(BOOL)value;
+@end
+
+__attribute__((swift_name("KotlinComparable")))
+@protocol NFCSDKKotlinComparable
+@required
+- (int32_t)compareToOther:(id _Nullable)other __attribute__((swift_name("compareTo(other:)")));
+@end
+
+__attribute__((swift_name("KotlinEnum")))
+@interface NFCSDKKotlinEnum : NFCSDKBase
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) NFCSDKKotlinEnumCompanion *companion __attribute__((swift_name("companion")));
+- (int32_t)compareToOther:(E)other __attribute__((swift_name("compareTo(other:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) int32_t ordinal __attribute__((swift_name("ordinal")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CV")))
+@interface NFCSDKCV : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly, getter=companion) NFCSDKCVCompanion *companion __attribute__((swift_name("companion")));
+@property (class, readonly) NFCSDKCV *low __attribute__((swift_name("low")));
+@property (class, readonly) NFCSDKCV *medium __attribute__((swift_name("medium")));
+@property (class, readonly) NFCSDKCV *high __attribute__((swift_name("high")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@property (readonly) uint16_t value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CV.Companion")))
+@interface NFCSDKCVCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKCVCompanion *shared __attribute__((swift_name("shared")));
+- (NFCSDKCV * _Nullable)fromValueValue:(uint16_t)value __attribute__((swift_name("fromValue(value:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ChargeLevel")))
+@interface NFCSDKChargeLevel : NFCSDKBase
+- (instancetype)initWithLevel:(uint16_t)level complete:(BOOL)complete __attribute__((swift_name("init(level:complete:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKChargeLevel *)doCopyLevel:(uint16_t)level complete:(BOOL)complete __attribute__((swift_name("doCopy(level:complete:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) BOOL complete __attribute__((swift_name("complete")));
+@property (readonly) uint16_t level __attribute__((swift_name("level")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ControlProgress")))
+@interface NFCSDKControlProgress : NFCSDKBase
+- (instancetype)initWithProgress:(uint16_t)progress complete:(BOOL)complete __attribute__((swift_name("init(progress:complete:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKControlProgress *)doCopyProgress:(uint16_t)progress complete:(BOOL)complete __attribute__((swift_name("doCopy(progress:complete:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) BOOL complete __attribute__((swift_name("complete")));
+@property (readonly) uint16_t progress __attribute__((swift_name("progress")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Ctrl")))
+@interface NFCSDKCtrl : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly, getter=companion) NFCSDKCtrlCompanion *companion __attribute__((swift_name("companion")));
+@property (class, readonly) NFCSDKCtrl *lock __attribute__((swift_name("lock")));
+@property (class, readonly) NFCSDKCtrl *unlock __attribute__((swift_name("unlock")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@property (readonly) uint8_t value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Ctrl.Companion")))
+@interface NFCSDKCtrlCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKCtrlCompanion *shared __attribute__((swift_name("shared")));
+- (NFCSDKCtrl * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Device")))
+@interface NFCSDKDevice : NFCSDKBase
+- (instancetype)initWithS:(uint32_t)s __attribute__((swift_name("init(s:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKDevice *)doCopyS:(uint32_t)s __attribute__((swift_name("doCopy(s:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (uint32_t)shiftC:(uint16_t)c __attribute__((swift_name("shift(c:)")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) uint32_t s __attribute__((swift_name("s")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("DeviceInfo")))
+@interface NFCSDKDeviceInfo : NFCSDKBase
+- (instancetype)initWithId:(uint64_t)id isNew:(BOOL)isNew __attribute__((swift_name("init(id:isNew:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKDeviceInfo *)doCopyId:(uint64_t)id isNew:(BOOL)isNew __attribute__((swift_name("doCopy(id:isNew:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) uint64_t id __attribute__((swift_name("id")));
+@property (readonly) BOOL isNew __attribute__((swift_name("isNew")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("DeviceLog")))
+@interface NFCSDKDeviceLog : NFCSDKBase
+- (instancetype)initWithTimestamp:(uint64_t)timestamp username:(NSString *)username ctrl:(NFCSDKCtrl * _Nullable)ctrl __attribute__((swift_name("init(timestamp:username:ctrl:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKDeviceLog *)doCopyTimestamp:(uint64_t)timestamp username:(NSString *)username ctrl:(NFCSDKCtrl * _Nullable)ctrl __attribute__((swift_name("doCopy(timestamp:username:ctrl:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NFCSDKCtrl * _Nullable ctrl __attribute__((swift_name("ctrl")));
+@property (readonly) uint64_t timestamp __attribute__((swift_name("timestamp")));
+@property (readonly) NSString *username __attribute__((swift_name("username")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("DeviceManager")))
+@interface NFCSDKDeviceManager : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)deviceManager __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKDeviceManager *shared __attribute__((swift_name("shared")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)controlT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key ctrl:(NFCSDKCtrl *)ctrl completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("control(t:d:key:ctrl:completionHandler:)")));
+- (NFCSDKKotlinByteArray *)encKey:(NFCSDKKotlinByteArray *)key info:(NFCSDKDeviceInfo *)info __attribute__((swift_name("enc(key:info:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getChargeLevelT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getChargeLevel(t:d:key:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getControlProgressT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getControlProgress(t:d:key:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getInfoT:(id)t d:(NFCSDKDevice *)d completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getInfo(t:d:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getLogT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair *> * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getLog(t:d:key:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getRssiT:(id)t d:(NFCSDKDevice *)d completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getRssi(t:d:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getVersionT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair *> * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getVersion(t:d:key:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)doInitT:(id)t completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("doInit(t:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)selectT:(id)t d:(NFCSDKDevice *)d type:(NFCSDKUserType *)type completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("select(t:d:type:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)setKeyT:(id)t d:(NFCSDKDevice *)d info:(NFCSDKDeviceInfo *)info key:(NFCSDKKotlinByteArray *)key sKey:(NFCSDKKotlinByteArray *)sKey completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("setKey(t:d:info:key:sKey:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)setParametersT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key p:(NFCSDKParameters *)p completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("setParameters(t:d:key:p:completionHandler:)")));
+- (NFCSDKKotlinByteArray *)toFixed16Input:(NSString *)input __attribute__((swift_name("toFixed16(input:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOSNFCHelper")))
+@interface NFCSDKIOSNFCHelper : NFCSDKBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (void)controlPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl __attribute__((swift_name("control(password:ctrl:)")));
+- (void)lockPassword:(NSString *)password __attribute__((swift_name("lock(password:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)processWithCompletionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("process(completionHandler:)")));
+- (void)setChargingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setChargingCb(cb:)")));
+- (void)setControllingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setControllingCb(cb:)")));
+- (void)setFinishedCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setFinishedCb(cb:)")));
+- (void)setLoopCbCb:(NFCSDKBoolean *(^)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setLoopCb(cb:)")));
+- (void)setLostCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setLostCb(cb:)")));
+- (void)setTransceiverT:(void (^ _Nullable)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)))t __attribute__((swift_name("setTransceiver(t:)")));
+- (void)unlockPassword:(NSString *)password __attribute__((swift_name("unlock(password:)")));
+@property void (^ _Nullable charging)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("charging")));
+@property void (^ _Nullable controlling)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("controlling")));
+@property void (^ _Nullable finished)(void) __attribute__((swift_name("finished")));
+@property NFCSDKBoolean *(^ _Nullable loop)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable) __attribute__((swift_name("loop")));
+@property void (^ _Nullable lost)(void) __attribute__((swift_name("lost")));
+@property void (^ _Nullable transceiver)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)) __attribute__((swift_name("transceiver")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Met")))
+@interface NFCSDKMet : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly, getter=companion) NFCSDKMetCompanion *companion __attribute__((swift_name("companion")));
+@property (class, readonly) NFCSDKMet *single __attribute__((swift_name("single")));
+@property (class, readonly) NFCSDKMet *voltage __attribute__((swift_name("voltage")));
+@property (class, readonly) NFCSDKMet *timer __attribute__((swift_name("timer")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@property (readonly) uint8_t value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Met.Companion")))
+@interface NFCSDKMetCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKMetCompanion *shared __attribute__((swift_name("shared")));
+- (NFCSDKMet * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
+@end
+
+__attribute__((swift_name("NFCTag")))
+@protocol NFCSDKNFCTag
+@required
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)transceiveData:(NFCSDKKotlinByteArray *)data completionHandler:(void (^)(NFCSDKKotlinByteArray * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("transceive(data:completionHandler:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Parameters")))
+@interface NFCSDKParameters : NFCSDKBase
+- (instancetype)initWithMethod:(NFCSDKMet *)method clampingVoltage:(NFCSDKCV *)clampingVoltage totalMotorRuntime:(uint16_t)totalMotorRuntime p1:(uint16_t)p1 p2:(uint16_t)p2 __attribute__((swift_name("init(method:clampingVoltage:totalMotorRuntime:p1:p2:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKParameters *)doCopyMethod:(NFCSDKMet *)method clampingVoltage:(NFCSDKCV *)clampingVoltage totalMotorRuntime:(uint16_t)totalMotorRuntime p1:(uint16_t)p1 p2:(uint16_t)p2 __attribute__((swift_name("doCopy(method:clampingVoltage:totalMotorRuntime:p1:p2:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NFCSDKCV *clampingVoltage __attribute__((swift_name("clampingVoltage")));
+@property (readonly) NFCSDKMet *method __attribute__((swift_name("method")));
+@property (readonly) uint16_t p1 __attribute__((swift_name("p1")));
+@property (readonly) uint16_t p2 __attribute__((swift_name("p2")));
+@property (readonly) uint16_t totalMotorRuntime __attribute__((swift_name("totalMotorRuntime")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Result")))
+@interface NFCSDKResult : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly) NFCSDKResult *ok __attribute__((swift_name("ok")));
+@property (class, readonly) NFCSDKResult *error __attribute__((swift_name("error")));
+@property (class, readonly) NFCSDKResult *unauthorized __attribute__((swift_name("unauthorized")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserType")))
+@interface NFCSDKUserType : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly, getter=companion) NFCSDKUserTypeCompanion *companion __attribute__((swift_name("companion")));
+@property (class, readonly) NFCSDKUserType *normal __attribute__((swift_name("normal")));
+@property (class, readonly) NFCSDKUserType *supervisor __attribute__((swift_name("supervisor")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@property (readonly) uint8_t value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserType.Companion")))
+@interface NFCSDKUserTypeCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKUserTypeCompanion *shared __attribute__((swift_name("shared")));
+- (NFCSDKUserType * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
+@end
+
+__attribute__((swift_name("CommonTask")))
+@interface NFCSDKCommonTask : NFCSDKBase
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CallFunctionTask")))
+@interface NFCSDKCallFunctionTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:data:index:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKCallFunctionTask *)doCopyPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:data:index:callback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
+@property (readonly) NSArray *data __attribute__((swift_name("data")));
+@property (readonly) uint8_t index __attribute__((swift_name("index")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ControlTask")))
+@interface NFCSDKControlTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("init(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKControlTask *)doCopyPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("doCopy(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^chargeCallback)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable) __attribute__((swift_name("chargeCallback")));
+@property (readonly) void (^controlCallback)(NFCSDKResult *, NFCSDKControlProgress * _Nullable) __attribute__((swift_name("controlCallback")));
+@property (readonly) NFCSDKCtrl *ctrl __attribute__((swift_name("ctrl")));
+@property (readonly) BOOL ignoreProgress __attribute__((swift_name("ignoreProgress")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("GetLogTask")))
+@interface NFCSDKGetLogTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKGetLogTask *)doCopyPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:callback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@end
+
+__attribute__((swift_name("NFCCallbacks")))
+@protocol NFCSDKNFCCallbacks
+@required
+- (void)onFinished __attribute__((swift_name("onFinished()")));
+- (BOOL)onLoopInfo:(NFCSDKDeviceInfo *)info rssi:(NFCSDKUInt * _Nullable)rssi __attribute__((swift_name("onLoop(info:rssi:)")));
+- (void)onLost __attribute__((swift_name("onLost()")));
+@end
+
+__attribute__((swift_name("NFCHelper")))
+@interface NFCSDKNFCHelper : NFCSDKBase
+- (instancetype)initWithCallback:(id)callback __attribute__((swift_name("init(callback:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getNFCTagParameter:(id _Nullable)parameter completionHandler:(void (^)(id _Nullable_result, NSError * _Nullable))completionHandler __attribute__((swift_name("getNFCTag(parameter:completionHandler:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)processParameter:(id _Nullable)parameter completionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("process(parameter:completionHandler:)")));
+- (void)setTaskTask:(NFCSDKCommonTask * _Nullable)task __attribute__((swift_name("setTask(task:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SetKeyTask")))
+@interface NFCSDKSetKeyTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:sKey:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKSetKeyTask *)doCopyPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:sKey:callback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NSString *sKey __attribute__((swift_name("sKey")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SetParametersTask")))
+@interface NFCSDKSetParametersTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:parameters:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKSetParametersTask *)doCopyPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:parameters:callback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
+@property (readonly) NFCSDKParameters *parameters __attribute__((swift_name("parameters")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Platform_iosKt")))
+@interface NFCSDKPlatform_iosKt : NFCSDKBase
++ (int64_t)platformGetCurrentTimestamp __attribute__((swift_name("platformGetCurrentTimestamp()")));
++ (NSString *)platformGetName __attribute__((swift_name("platformGetName()")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KotlinEnumCompanion")))
+@interface NFCSDKKotlinEnumCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKKotlinEnumCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KotlinArray")))
+@interface NFCSDKKotlinArray : NFCSDKBase
++ (instancetype)arrayWithSize:(int32_t)size init:(T _Nullable (^)(NFCSDKInt *))init __attribute__((swift_name("init(size:init:)")));
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (T _Nullable)getIndex:(int32_t)index __attribute__((swift_name("get(index:)")));
+- (id)iterator __attribute__((swift_name("iterator()")));
+- (void)setIndex:(int32_t)index value:(T _Nullable)value __attribute__((swift_name("set(index:value:)")));
+@property (readonly) int32_t size __attribute__((swift_name("size")));
+@end
+
+__attribute__((swift_name("KotlinThrowable")))
+@interface NFCSDKKotlinThrowable : NFCSDKBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * @note annotations
+ * kotlin.experimental.ExperimentalNativeApi
+*/
+- (NFCSDKKotlinArray *)getStackTrace __attribute__((swift_name("getStackTrace()")));
+- (void)printStackTrace __attribute__((swift_name("printStackTrace()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NFCSDKKotlinThrowable * _Nullable cause __attribute__((swift_name("cause")));
+@property (readonly) NSString * _Nullable message __attribute__((swift_name("message")));
+- (NSError *)asError __attribute__((swift_name("asError()")));
+@end
+
+__attribute__((swift_name("KotlinException")))
+@interface NFCSDKKotlinException : NFCSDKKotlinThrowable
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+@end
+
+__attribute__((swift_name("KotlinRuntimeException")))
+@interface NFCSDKKotlinRuntimeException : NFCSDKKotlinException
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+@end
+
+__attribute__((swift_name("KotlinIllegalStateException")))
+@interface NFCSDKKotlinIllegalStateException : NFCSDKKotlinRuntimeException
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.SinceKotlin(version="1.4")
+*/
+__attribute__((swift_name("KotlinCancellationException")))
+@interface NFCSDKKotlinCancellationException : NFCSDKKotlinIllegalStateException
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KotlinByteArray")))
+@interface NFCSDKKotlinByteArray : NFCSDKBase
++ (instancetype)arrayWithSize:(int32_t)size __attribute__((swift_name("init(size:)")));
++ (instancetype)arrayWithSize:(int32_t)size init:(NFCSDKByte *(^)(NFCSDKInt *))init __attribute__((swift_name("init(size:init:)")));
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (int8_t)getIndex:(int32_t)index __attribute__((swift_name("get(index:)")));
+- (NFCSDKKotlinByteIterator *)iterator __attribute__((swift_name("iterator()")));
+- (void)setIndex:(int32_t)index value:(int8_t)value __attribute__((swift_name("set(index:value:)")));
+@property (readonly) int32_t size __attribute__((swift_name("size")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KotlinPair")))
+@interface NFCSDKKotlinPair<__covariant A, __covariant B> : NFCSDKBase
+- (instancetype)initWithFirst:(A _Nullable)first second:(B _Nullable)second __attribute__((swift_name("init(first:second:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKKotlinPair *)doCopyFirst:(A _Nullable)first second:(B _Nullable)second __attribute__((swift_name("doCopy(first:second:)")));
+- (BOOL)equalsOther:(id _Nullable)other __attribute__((swift_name("equals(other:)")));
+- (int32_t)hashCode __attribute__((swift_name("hashCode()")));
+- (NSString *)toString __attribute__((swift_name("toString()")));
+@property (readonly) A _Nullable first __attribute__((swift_name("first")));
+@property (readonly) B _Nullable second __attribute__((swift_name("second")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KotlinUnit")))
+@interface NFCSDKKotlinUnit : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)unit __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKKotlinUnit *shared __attribute__((swift_name("shared")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@end
+
+__attribute__((swift_name("KotlinIterator")))
+@protocol NFCSDKKotlinIterator
+@required
+- (BOOL)hasNext __attribute__((swift_name("hasNext()")));
+- (id _Nullable)next __attribute__((swift_name("next()")));
+@end
+
+__attribute__((swift_name("KotlinByteIterator")))
+@interface NFCSDKKotlinByteIterator : NFCSDKBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (NFCSDKByte *)next __attribute__((swift_name("next()")));
+- (int8_t)nextByte __attribute__((swift_name("nextByte()")));
+@end
+
+#pragma pop_macro("_Nullable_result")
+#pragma clang diagnostic pop
+NS_ASSUME_NONNULL_END
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Info.plist b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Info.plist
new file mode 100644
index 0000000..fde4c1f
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Info.plist
@@ -0,0 +1,35 @@
+
+
+
+
+ CFBundleExecutable
+ NFCSDK
+ CFBundleIdentifier
+ com.lvcheng.lock.shared.nfc.kmp.NFCSDK
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ NFCSDK
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ iPhoneOS
+
+ CFBundleVersion
+ 1
+ MinimumOSVersion
+ 12.0
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+
+
\ No newline at end of file
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Modules/module.modulemap b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Modules/module.modulemap
new file mode 100644
index 0000000..4348bc5
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Modules/module.modulemap
@@ -0,0 +1,8 @@
+framework module "NFCSDK" {
+ umbrella header "NFCSDK.h"
+
+ export *
+ module * { export * }
+
+ use Foundation
+}
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/NFCSDK b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/NFCSDK
new file mode 100755
index 0000000..db0a37a
Binary files /dev/null and b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/NFCSDK differ
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist
new file mode 100644
index 0000000..f68adcc
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.apple.xcode.dsym.com.lvcheng.lock.shared.nfc.kmp.NFCSDK
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ dSYM
+ CFBundleSignature
+ ????
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+
+
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK
new file mode 100644
index 0000000..61680de
Binary files /dev/null and b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK differ
diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml
new file mode 100644
index 0000000..91cd1a2
--- /dev/null
+++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml
@@ -0,0 +1,2909 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/yuwan/Downloads/AndroidSDK/shared-nfc-kmp/build/bin/iosArm64/releaseFramework/NFCSDK.framework/NFCSDK'
+relocations:
+ - { offset: 0x29B, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#toString(){}kotlin.String', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x44 }
+ - { offset: 0x2A3, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x44, symBinAddr: 0x4044, symSize: 0x1C0 }
+ - { offset: 0x318, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x44, symBinAddr: 0x4044, symSize: 0x1C0 }
+ - { offset: 0x320, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x204, symBinAddr: 0x4204, symSize: 0x6C }
+ - { offset: 0x44C, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x204, symBinAddr: 0x4204, symSize: 0x6C }
+ - { offset: 0x454, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x270, symBinAddr: 0x4270, symSize: 0x64 }
+ - { offset: 0x520, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x270, symBinAddr: 0x4270, symSize: 0x64 }
+ - { offset: 0x528, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$getPointer(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>', symObjAddr: 0x2D4, symBinAddr: 0x42D4, symSize: 0x48 }
+ - { offset: 0x55B, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$getPointer(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>', symObjAddr: 0x2D4, symBinAddr: 0x42D4, symSize: 0x48 }
+ - { offset: 0x563, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#(kotlinx.cinterop.CPointer<-1:0>?){}kotlin.Any?', symObjAddr: 0x31C, symBinAddr: 0x431C, symSize: 0xEC }
+ - { offset: 0x58A, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#(kotlinx.cinterop.CPointer<-1:0>?){}kotlin.Any?', symObjAddr: 0x31C, symBinAddr: 0x431C, symSize: 0xEC }
+ - { offset: 0x592, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x408, symBinAddr: 0x4408, symSize: 0x188 }
+ - { offset: 0x607, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x408, symBinAddr: 0x4408, symSize: 0x188 }
+ - { offset: 0x60F, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#free(kotlin.native.internal.NativePtr){}', symObjAddr: 0x590, symBinAddr: 0x4590, symSize: 0x40 }
+ - { offset: 0x698, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#free(kotlin.native.internal.NativePtr){}', symObjAddr: 0x590, symBinAddr: 0x4590, symSize: 0x40 }
+ - { offset: 0x6A0, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.NativePlacement#alloc(kotlin.Int;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x5D0, symBinAddr: 0x45D0, symSize: 0x198 }
+ - { offset: 0x6E5, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.NativePlacement#alloc(kotlin.Int;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x5D0, symBinAddr: 0x45D0, symSize: 0x198 }
+ - { offset: 0x6ED, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#alloc__at__kotlinx.cinterop.NativePlacement(kotlinx.cinterop.CVariable.Type){}kotlinx.cinterop.NativePointed', symObjAddr: 0x768, symBinAddr: 0x4768, symSize: 0x178 }
+ - { offset: 0x714, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#alloc__at__kotlinx.cinterop.NativePlacement(kotlinx.cinterop.CVariable.Type){}kotlinx.cinterop.NativePointed', symObjAddr: 0x768, symBinAddr: 0x4768, symSize: 0x178 }
+ - { offset: 0x71C, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x8E0, symBinAddr: 0x48E0, symSize: 0x238 }
+ - { offset: 0x794, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x8E0, symBinAddr: 0x48E0, symSize: 0x238 }
+ - { offset: 0x79C, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#clearImpl(){}', symObjAddr: 0xB18, symBinAddr: 0x4B18, symSize: 0x368 }
+ - { offset: 0x8C8, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#clearImpl(){}', symObjAddr: 0xB18, symBinAddr: 0x4B18, symSize: 0x368 }
+ - { offset: 0x8D0, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#cPointerToString__at__kotlinx.cinterop.CPointer<*>(){}kotlin.String', symObjAddr: 0xE80, symBinAddr: 0x4E80, symSize: 0x2FC }
+ - { offset: 0xA01, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#cPointerToString__at__kotlinx.cinterop.CPointer<*>(){}kotlin.String', symObjAddr: 0xE80, symBinAddr: 0x4E80, symSize: 0x2FC }
+ - { offset: 0xA09, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#plus__at__kotlin.ByteArray(kotlin.ByteArray){}kotlin.ByteArray', symObjAddr: 0x117C, symBinAddr: 0x517C, symSize: 0xF4 }
+ - { offset: 0xC24, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#plus__at__kotlin.ByteArray(kotlin.ByteArray){}kotlin.ByteArray', symObjAddr: 0x117C, symBinAddr: 0x517C, symSize: 0xF4 }
+ - { offset: 0xC2C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.ByteArray(kotlin.Int;kotlin.Int){}kotlin.ByteArray', symObjAddr: 0x1270, symBinAddr: 0x5270, symSize: 0x200 }
+ - { offset: 0xCD9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.ByteArray(kotlin.Int;kotlin.Int){}kotlin.ByteArray', symObjAddr: 0x1270, symBinAddr: 0x5270, symSize: 0x200 }
+ - { offset: 0xCE1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.IntArray(kotlin.Int;kotlin.Int){}kotlin.IntArray', symObjAddr: 0x1470, symBinAddr: 0x5470, symSize: 0x1E8 }
+ - { offset: 0xD60, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.IntArray(kotlin.Int;kotlin.Int){}kotlin.IntArray', symObjAddr: 0x1470, symBinAddr: 0x5470, symSize: 0x1E8 }
+ - { offset: 0xD68, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyInto__at__kotlin.Array(kotlin.Array<0:0>;kotlin.Int;kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1658, symBinAddr: 0x5658, symSize: 0x80 }
+ - { offset: 0xDC4, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyInto__at__kotlin.Array(kotlin.Array<0:0>;kotlin.Int;kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1658, symBinAddr: 0x5658, symSize: 0x80 }
+ - { offset: 0xDCC, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.Array<0:0>(kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x16D8, symBinAddr: 0x56D8, symSize: 0x1F4 }
+ - { offset: 0xE0F, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.Array<0:0>(kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x16D8, symBinAddr: 0x56D8, symSize: 0x1F4 }
+ - { offset: 0xE17, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.#internal', symObjAddr: 0x18CC, symBinAddr: 0x58CC, symSize: 0x48 }
+ - { offset: 0xE97, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.#internal', symObjAddr: 0x18CC, symBinAddr: 0x58CC, symSize: 0x48 }
+ - { offset: 0xE9F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.isEmpty#internal', symObjAddr: 0x1914, symBinAddr: 0x5914, symSize: 0x40 }
+ - { offset: 0xED8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.isEmpty#internal', symObjAddr: 0x1914, symBinAddr: 0x5914, symSize: 0x40 }
+ - { offset: 0xEE0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$contains(kotlin.Byte){}kotlin.Boolean#internal', symObjAddr: 0x1954, symBinAddr: 0x5954, symSize: 0xD8 }
+ - { offset: 0xF62, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$contains(kotlin.Byte){}kotlin.Boolean#internal', symObjAddr: 0x1954, symBinAddr: 0x5954, symSize: 0xD8 }
+ - { offset: 0xF6A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$get(kotlin.Int){}kotlin.Byte#internal', symObjAddr: 0x1A2C, symBinAddr: 0x5A2C, symSize: 0xB4 }
+ - { offset: 0x100C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$get(kotlin.Int){}kotlin.Byte#internal', symObjAddr: 0x1A2C, symBinAddr: 0x5A2C, symSize: 0xB4 }
+ - { offset: 0x1014, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$indexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x1AE0, symBinAddr: 0x5AE0, symSize: 0xBC }
+ - { offset: 0x1064, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$indexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x1AE0, symBinAddr: 0x5AE0, symSize: 0xBC }
+ - { offset: 0x106C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$lastIndexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x1B9C, symBinAddr: 0x5B9C, symSize: 0xAC }
+ - { offset: 0x10F5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$lastIndexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x1B9C, symBinAddr: 0x5B9C, symSize: 0xAC }
+ - { offset: 0x10FD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.#internal', symObjAddr: 0x1C48, symBinAddr: 0x5C48, symSize: 0x48 }
+ - { offset: 0x1163, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.#internal', symObjAddr: 0x1C48, symBinAddr: 0x5C48, symSize: 0x48 }
+ - { offset: 0x116B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.isEmpty#internal', symObjAddr: 0x1C90, symBinAddr: 0x5C90, symSize: 0x40 }
+ - { offset: 0x11A4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.isEmpty#internal', symObjAddr: 0x1C90, symBinAddr: 0x5C90, symSize: 0x40 }
+ - { offset: 0x11AC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.contains#internal', symObjAddr: 0x1CD0, symBinAddr: 0x5CD0, symSize: 0x48 }
+ - { offset: 0x120B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.contains#internal', symObjAddr: 0x1CD0, symBinAddr: 0x5CD0, symSize: 0x48 }
+ - { offset: 0x1213, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.get#internal', symObjAddr: 0x1D18, symBinAddr: 0x5D18, symSize: 0x6C }
+ - { offset: 0x1246, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.get#internal', symObjAddr: 0x1D18, symBinAddr: 0x5D18, symSize: 0x6C }
+ - { offset: 0x124E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.indexOf#internal', symObjAddr: 0x1D84, symBinAddr: 0x5D84, symSize: 0x4C }
+ - { offset: 0x1268, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.indexOf#internal', symObjAddr: 0x1D84, symBinAddr: 0x5D84, symSize: 0x4C }
+ - { offset: 0x1270, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.lastIndexOf#internal', symObjAddr: 0x1DD0, symBinAddr: 0x5DD0, symSize: 0x134 }
+ - { offset: 0x12AD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.lastIndexOf#internal', symObjAddr: 0x1DD0, symBinAddr: 0x5DD0, symSize: 0x134 }
+ - { offset: 0x12B5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x1F04, symBinAddr: 0x5F04, symSize: 0x4C }
+ - { offset: 0x1302, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x1F04, symBinAddr: 0x5F04, symSize: 0x4C }
+ - { offset: 0x130A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#hashCode(){}kotlin.Int', symObjAddr: 0x1F50, symBinAddr: 0x5F50, symSize: 0x40 }
+ - { offset: 0x1319, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#hashCode(){}kotlin.Int', symObjAddr: 0x1F50, symBinAddr: 0x5F50, symSize: 0x40 }
+ - { offset: 0x1321, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#toString(){}kotlin.String', symObjAddr: 0x1F90, symBinAddr: 0x5F90, symSize: 0x464 }
+ - { offset: 0x1374, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#toString(){}kotlin.String', symObjAddr: 0x1F90, symBinAddr: 0x5F90, symSize: 0x464 }
+ - { offset: 0x137C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Array#(){}kotlin.Int', symObjAddr: 0x23F4, symBinAddr: 0x63F4, symSize: 0x40 }
+ - { offset: 0x1581, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Array#(){}kotlin.Int', symObjAddr: 0x23F4, symBinAddr: 0x63F4, symSize: 0x40 }
+ - { offset: 0x1589, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.hasNext#internal', symObjAddr: 0x2434, symBinAddr: 0x6434, symSize: 0x44 }
+ - { offset: 0x1598, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.hasNext#internal', symObjAddr: 0x2434, symBinAddr: 0x6434, symSize: 0x44 }
+ - { offset: 0x15A0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.next#internal', symObjAddr: 0x2478, symBinAddr: 0x6478, symSize: 0x10C }
+ - { offset: 0x15D3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.next#internal', symObjAddr: 0x2478, symBinAddr: 0x6478, symSize: 0x10C }
+ - { offset: 0x15DB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArray#(){}kotlin.Int', symObjAddr: 0x2584, symBinAddr: 0x6584, symSize: 0x40 }
+ - { offset: 0x1602, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArray#(){}kotlin.Int', symObjAddr: 0x2584, symBinAddr: 0x6584, symSize: 0x40 }
+ - { offset: 0x160A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.hasNext#internal', symObjAddr: 0x25C4, symBinAddr: 0x65C4, symSize: 0x44 }
+ - { offset: 0x1619, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.hasNext#internal', symObjAddr: 0x25C4, symBinAddr: 0x65C4, symSize: 0x44 }
+ - { offset: 0x1621, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.nextByte#internal', symObjAddr: 0x2608, symBinAddr: 0x6608, symSize: 0x104 }
+ - { offset: 0x1654, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.nextByte#internal', symObjAddr: 0x2608, symBinAddr: 0x6608, symSize: 0x104 }
+ - { offset: 0x165C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$compareTo(kotlin.Boolean){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x270C, symBinAddr: 0x670C, symSize: 0x58 }
+ - { offset: 0x1683, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$compareTo(kotlin.Boolean){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x270C, symBinAddr: 0x670C, symSize: 0x58 }
+ - { offset: 0x168B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x2764, symBinAddr: 0x6764, symSize: 0x54 }
+ - { offset: 0x16B6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x2764, symBinAddr: 0x6764, symSize: 0x54 }
+ - { offset: 0x16BE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x27B8, symBinAddr: 0x67B8, symSize: 0x78 }
+ - { offset: 0x1702, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x27B8, symBinAddr: 0x67B8, symSize: 0x78 }
+ - { offset: 0x170A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x2830, symBinAddr: 0x6830, symSize: 0x44 }
+ - { offset: 0x1742, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x2830, symBinAddr: 0x6830, symSize: 0x44 }
+ - { offset: 0x174A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#compareTo(1:0){}kotlin.Int', symObjAddr: 0x2874, symBinAddr: 0x6874, symSize: 0x54 }
+ - { offset: 0x177D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#compareTo(1:0){}kotlin.Int', symObjAddr: 0x2874, symBinAddr: 0x6874, symSize: 0x54 }
+ - { offset: 0x1785, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x28C8, symBinAddr: 0x68C8, symSize: 0x4C }
+ - { offset: 0x1794, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x28C8, symBinAddr: 0x68C8, symSize: 0x4C }
+ - { offset: 0x179C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#hashCode(){}kotlin.Int', symObjAddr: 0x2914, symBinAddr: 0x6914, symSize: 0x40 }
+ - { offset: 0x17AB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#hashCode(){}kotlin.Int', symObjAddr: 0x2914, symBinAddr: 0x6914, symSize: 0x40 }
+ - { offset: 0x17B3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#toString(){}kotlin.String', symObjAddr: 0x2954, symBinAddr: 0x6954, symSize: 0x4C }
+ - { offset: 0x17C2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#toString(){}kotlin.String', symObjAddr: 0x2954, symBinAddr: 0x6954, symSize: 0x4C }
+ - { offset: 0x17CA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?){}', symObjAddr: 0x29A0, symBinAddr: 0x69A0, symSize: 0x54 }
+ - { offset: 0x180C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?){}', symObjAddr: 0x29A0, symBinAddr: 0x69A0, symSize: 0x54 }
+ - { offset: 0x1814, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(){}', symObjAddr: 0x29F4, symBinAddr: 0x69F4, symSize: 0x50 }
+ - { offset: 0x187D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(){}', symObjAddr: 0x29F4, symBinAddr: 0x69F4, symSize: 0x50 }
+ - { offset: 0x1885, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(kotlin.String?){}', symObjAddr: 0x2A44, symBinAddr: 0x6A44, symSize: 0x54 }
+ - { offset: 0x18BB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(kotlin.String?){}', symObjAddr: 0x2A44, symBinAddr: 0x6A44, symSize: 0x54 }
+ - { offset: 0x18C3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(){}', symObjAddr: 0x2A98, symBinAddr: 0x6A98, symSize: 0x50 }
+ - { offset: 0x1904, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(){}', symObjAddr: 0x2A98, symBinAddr: 0x6A98, symSize: 0x50 }
+ - { offset: 0x190C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(kotlin.String?){}', symObjAddr: 0x2AE8, symBinAddr: 0x6AE8, symSize: 0x54 }
+ - { offset: 0x194D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(kotlin.String?){}', symObjAddr: 0x2AE8, symBinAddr: 0x6AE8, symSize: 0x54 }
+ - { offset: 0x1955, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(){}', symObjAddr: 0x2B3C, symBinAddr: 0x6B3C, symSize: 0x50 }
+ - { offset: 0x19A7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(){}', symObjAddr: 0x2B3C, symBinAddr: 0x6B3C, symSize: 0x50 }
+ - { offset: 0x19AF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(kotlin.String?){}', symObjAddr: 0x2B8C, symBinAddr: 0x6B8C, symSize: 0x54 }
+ - { offset: 0x19E9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(kotlin.String?){}', symObjAddr: 0x2B8C, symBinAddr: 0x6B8C, symSize: 0x54 }
+ - { offset: 0x19F1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(kotlin.String?){}', symObjAddr: 0x2BE0, symBinAddr: 0x6BE0, symSize: 0x54 }
+ - { offset: 0x1A25, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(kotlin.String?){}', symObjAddr: 0x2BE0, symBinAddr: 0x6BE0, symSize: 0x54 }
+ - { offset: 0x1A2D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IndexOutOfBoundsException#(kotlin.String?){}', symObjAddr: 0x2C34, symBinAddr: 0x6C34, symSize: 0x54 }
+ - { offset: 0x1A6E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IndexOutOfBoundsException#(kotlin.String?){}', symObjAddr: 0x2C34, symBinAddr: 0x6C34, symSize: 0x54 }
+ - { offset: 0x1A76, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ClassCastException#(kotlin.String?){}', symObjAddr: 0x2C88, symBinAddr: 0x6C88, symSize: 0x54 }
+ - { offset: 0x1AB7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ClassCastException#(kotlin.String?){}', symObjAddr: 0x2C88, symBinAddr: 0x6C88, symSize: 0x54 }
+ - { offset: 0x1ABF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArithmeticException#(kotlin.String?){}', symObjAddr: 0x2CDC, symBinAddr: 0x6CDC, symSize: 0x40 }
+ - { offset: 0x1B00, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArithmeticException#(kotlin.String?){}', symObjAddr: 0x2CDC, symBinAddr: 0x6CDC, symSize: 0x40 }
+ - { offset: 0x1B08, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(){}', symObjAddr: 0x2D1C, symBinAddr: 0x6D1C, symSize: 0x50 }
+ - { offset: 0x1BA0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(){}', symObjAddr: 0x2D1C, symBinAddr: 0x6D1C, symSize: 0x50 }
+ - { offset: 0x1BA8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(kotlin.String?){}', symObjAddr: 0x2D6C, symBinAddr: 0x6D6C, symSize: 0x40 }
+ - { offset: 0x1BE9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(kotlin.String?){}', symObjAddr: 0x2D6C, symBinAddr: 0x6D6C, symSize: 0x40 }
+ - { offset: 0x1BF1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.AssertionError#(kotlin.Any?){}', symObjAddr: 0x2DAC, symBinAddr: 0x6DAC, symSize: 0xE0 }
+ - { offset: 0x1C78, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.AssertionError#(kotlin.Any?){}', symObjAddr: 0x2DAC, symBinAddr: 0x6DAC, symSize: 0xE0 }
+ - { offset: 0x1C80, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoWhenBranchMatchedException#(){}', symObjAddr: 0x2E8C, symBinAddr: 0x6E8C, symSize: 0x50 }
+ - { offset: 0x1CCB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoWhenBranchMatchedException#(){}', symObjAddr: 0x2E8C, symBinAddr: 0x6E8C, symSize: 0x50 }
+ - { offset: 0x1CD3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UninitializedPropertyAccessException#(kotlin.String?){}', symObjAddr: 0x2EDC, symBinAddr: 0x6EDC, symSize: 0x54 }
+ - { offset: 0x1D14, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UninitializedPropertyAccessException#(kotlin.String?){}', symObjAddr: 0x2EDC, symBinAddr: 0x6EDC, symSize: 0x54 }
+ - { offset: 0x1D1C, size: 0x8, addend: 0x0, symName: "_kfun:kotlin#lazy(kotlin.Function0<0:0>){0§}kotlin.Lazy<0:0>", symObjAddr: 0x2F30, symBinAddr: 0x6F30, symSize: 0x324 }
+ - { offset: 0x1DA1, size: 0x8, addend: 0x0, symName: "_kfun:kotlin#lazy(kotlin.Function0<0:0>){0§}kotlin.Lazy<0:0>", symObjAddr: 0x2F30, symBinAddr: 0x6F30, symSize: 0x324 }
+ - { offset: 0x1DA9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$compareTo(kotlin.Int){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3254, symBinAddr: 0x7254, symSize: 0x4C }
+ - { offset: 0x1E56, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$compareTo(kotlin.Int){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3254, symBinAddr: 0x7254, symSize: 0x4C }
+ - { offset: 0x1E5E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x32A0, symBinAddr: 0x72A0, symSize: 0x40 }
+ - { offset: 0x1E79, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x32A0, symBinAddr: 0x72A0, symSize: 0x40 }
+ - { offset: 0x1E81, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x32E0, symBinAddr: 0x72E0, symSize: 0x40 }
+ - { offset: 0x1E9C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x32E0, symBinAddr: 0x72E0, symSize: 0x40 }
+ - { offset: 0x1EA4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3320, symBinAddr: 0x7320, symSize: 0x40 }
+ - { offset: 0x1EBF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3320, symBinAddr: 0x7320, symSize: 0x40 }
+ - { offset: 0x1EC7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3360, symBinAddr: 0x7360, symSize: 0x40 }
+ - { offset: 0x1EE2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3360, symBinAddr: 0x7360, symSize: 0x40 }
+ - { offset: 0x1EEA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x33A0, symBinAddr: 0x73A0, symSize: 0x40 }
+ - { offset: 0x1F05, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x33A0, symBinAddr: 0x73A0, symSize: 0x40 }
+ - { offset: 0x1F0D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x33E0, symBinAddr: 0x73E0, symSize: 0x48 }
+ - { offset: 0x1F28, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x33E0, symBinAddr: 0x73E0, symSize: 0x48 }
+ - { offset: 0x1F30, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3428, symBinAddr: 0x7428, symSize: 0x50 }
+ - { offset: 0x1F4B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3428, symBinAddr: 0x7428, symSize: 0x50 }
+ - { offset: 0x1F53, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3478, symBinAddr: 0x7478, symSize: 0x74 }
+ - { offset: 0x1F6E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3478, symBinAddr: 0x7478, symSize: 0x74 }
+ - { offset: 0x1F76, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x34EC, symBinAddr: 0x74EC, symSize: 0x70 }
+ - { offset: 0x1FA3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x34EC, symBinAddr: 0x74EC, symSize: 0x70 }
+ - { offset: 0x1FAB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x355C, symBinAddr: 0x755C, symSize: 0x40 }
+ - { offset: 0x1FD4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x355C, symBinAddr: 0x755C, symSize: 0x40 }
+ - { offset: 0x1FDC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$compareTo(kotlin.Byte){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x359C, symBinAddr: 0x759C, symSize: 0x54 }
+ - { offset: 0x1FF7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$compareTo(kotlin.Byte){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x359C, symBinAddr: 0x759C, symSize: 0x54 }
+ - { offset: 0x1FFF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x35F0, symBinAddr: 0x75F0, symSize: 0x40 }
+ - { offset: 0x2019, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x35F0, symBinAddr: 0x75F0, symSize: 0x40 }
+ - { offset: 0x2021, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3630, symBinAddr: 0x7630, symSize: 0x48 }
+ - { offset: 0x203C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3630, symBinAddr: 0x7630, symSize: 0x48 }
+ - { offset: 0x2044, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3678, symBinAddr: 0x7678, symSize: 0x40 }
+ - { offset: 0x205F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3678, symBinAddr: 0x7678, symSize: 0x40 }
+ - { offset: 0x2067, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x36B8, symBinAddr: 0x76B8, symSize: 0x40 }
+ - { offset: 0x2082, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x36B8, symBinAddr: 0x76B8, symSize: 0x40 }
+ - { offset: 0x208A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x36F8, symBinAddr: 0x76F8, symSize: 0x40 }
+ - { offset: 0x20A5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x36F8, symBinAddr: 0x76F8, symSize: 0x40 }
+ - { offset: 0x20AD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3738, symBinAddr: 0x7738, symSize: 0x40 }
+ - { offset: 0x20C8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3738, symBinAddr: 0x7738, symSize: 0x40 }
+ - { offset: 0x20D0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3778, symBinAddr: 0x7778, symSize: 0x48 }
+ - { offset: 0x20EB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3778, symBinAddr: 0x7778, symSize: 0x48 }
+ - { offset: 0x20F3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x37C0, symBinAddr: 0x77C0, symSize: 0x74 }
+ - { offset: 0x210E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x37C0, symBinAddr: 0x77C0, symSize: 0x74 }
+ - { offset: 0x2116, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3834, symBinAddr: 0x7834, symSize: 0x70 }
+ - { offset: 0x2143, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3834, symBinAddr: 0x7834, symSize: 0x70 }
+ - { offset: 0x214B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x38A4, symBinAddr: 0x78A4, symSize: 0x40 }
+ - { offset: 0x2173, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x38A4, symBinAddr: 0x78A4, symSize: 0x40 }
+ - { offset: 0x217B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$compareTo(kotlin.Long){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x38E4, symBinAddr: 0x78E4, symSize: 0x4C }
+ - { offset: 0x2196, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$compareTo(kotlin.Long){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x38E4, symBinAddr: 0x78E4, symSize: 0x4C }
+ - { offset: 0x219E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3930, symBinAddr: 0x7930, symSize: 0x40 }
+ - { offset: 0x21B9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3930, symBinAddr: 0x7930, symSize: 0x40 }
+ - { offset: 0x21C1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3970, symBinAddr: 0x7970, symSize: 0x40 }
+ - { offset: 0x21DC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3970, symBinAddr: 0x7970, symSize: 0x40 }
+ - { offset: 0x21E4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x39B0, symBinAddr: 0x79B0, symSize: 0x40 }
+ - { offset: 0x21FF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x39B0, symBinAddr: 0x79B0, symSize: 0x40 }
+ - { offset: 0x2207, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x39F0, symBinAddr: 0x79F0, symSize: 0x40 }
+ - { offset: 0x2222, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x39F0, symBinAddr: 0x79F0, symSize: 0x40 }
+ - { offset: 0x222A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3A30, symBinAddr: 0x7A30, symSize: 0x40 }
+ - { offset: 0x2245, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3A30, symBinAddr: 0x7A30, symSize: 0x40 }
+ - { offset: 0x224D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3A70, symBinAddr: 0x7A70, symSize: 0x48 }
+ - { offset: 0x2268, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3A70, symBinAddr: 0x7A70, symSize: 0x48 }
+ - { offset: 0x2270, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3AB8, symBinAddr: 0x7AB8, symSize: 0x48 }
+ - { offset: 0x228B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3AB8, symBinAddr: 0x7AB8, symSize: 0x48 }
+ - { offset: 0x2293, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3B00, symBinAddr: 0x7B00, symSize: 0x74 }
+ - { offset: 0x22AE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3B00, symBinAddr: 0x7B00, symSize: 0x74 }
+ - { offset: 0x22B6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3B74, symBinAddr: 0x7B74, symSize: 0x70 }
+ - { offset: 0x22E3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3B74, symBinAddr: 0x7B74, symSize: 0x70 }
+ - { offset: 0x22EB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3BE4, symBinAddr: 0x7BE4, symSize: 0x48 }
+ - { offset: 0x2314, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3BE4, symBinAddr: 0x7BE4, symSize: 0x48 }
+ - { offset: 0x231C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$compareTo(kotlin.Float){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3C2C, symBinAddr: 0x7C2C, symSize: 0x90 }
+ - { offset: 0x2368, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$compareTo(kotlin.Float){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3C2C, symBinAddr: 0x7C2C, symSize: 0x90 }
+ - { offset: 0x2370, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3CBC, symBinAddr: 0x7CBC, symSize: 0x8C }
+ - { offset: 0x23DE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3CBC, symBinAddr: 0x7CBC, symSize: 0x8C }
+ - { offset: 0x23E6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3D48, symBinAddr: 0x7D48, symSize: 0x8C }
+ - { offset: 0x2421, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3D48, symBinAddr: 0x7D48, symSize: 0x8C }
+ - { offset: 0x2429, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3DD4, symBinAddr: 0x7DD4, symSize: 0x8C }
+ - { offset: 0x2464, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3DD4, symBinAddr: 0x7DD4, symSize: 0x8C }
+ - { offset: 0x246C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3E60, symBinAddr: 0x7E60, symSize: 0x90 }
+ - { offset: 0x2495, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3E60, symBinAddr: 0x7E60, symSize: 0x90 }
+ - { offset: 0x249D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3EF0, symBinAddr: 0x7EF0, symSize: 0x90 }
+ - { offset: 0x24B8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3EF0, symBinAddr: 0x7EF0, symSize: 0x90 }
+ - { offset: 0x24C0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3F80, symBinAddr: 0x7F80, symSize: 0x40 }
+ - { offset: 0x24DB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3F80, symBinAddr: 0x7F80, symSize: 0x40 }
+ - { offset: 0x24E3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3FC0, symBinAddr: 0x7FC0, symSize: 0x48 }
+ - { offset: 0x24FE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3FC0, symBinAddr: 0x7FC0, symSize: 0x48 }
+ - { offset: 0x2506, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x4008, symBinAddr: 0x8008, symSize: 0x3C8 }
+ - { offset: 0x2595, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x4008, symBinAddr: 0x8008, symSize: 0x3C8 }
+ - { offset: 0x259D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x43D0, symBinAddr: 0x83D0, symSize: 0x8C }
+ - { offset: 0x2632, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x43D0, symBinAddr: 0x83D0, symSize: 0x8C }
+ - { offset: 0x263A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x445C, symBinAddr: 0x845C, symSize: 0x44 }
+ - { offset: 0x26A8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Float#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x445C, symBinAddr: 0x845C, symSize: 0x44 }
+ - { offset: 0x26B0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$compareTo(kotlin.Double){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x44A0, symBinAddr: 0x84A0, symSize: 0x90 }
+ - { offset: 0x2722, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$compareTo(kotlin.Double){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x44A0, symBinAddr: 0x84A0, symSize: 0x90 }
+ - { offset: 0x272A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x4530, symBinAddr: 0x8530, symSize: 0x98 }
+ - { offset: 0x2798, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x4530, symBinAddr: 0x8530, symSize: 0x98 }
+ - { offset: 0x27A0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x45C8, symBinAddr: 0x85C8, symSize: 0x98 }
+ - { offset: 0x27DB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x45C8, symBinAddr: 0x85C8, symSize: 0x98 }
+ - { offset: 0x27E3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x4660, symBinAddr: 0x8660, symSize: 0x98 }
+ - { offset: 0x281E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x4660, symBinAddr: 0x8660, symSize: 0x98 }
+ - { offset: 0x2826, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x46F8, symBinAddr: 0x86F8, symSize: 0x9C }
+ - { offset: 0x284F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x46F8, symBinAddr: 0x86F8, symSize: 0x9C }
+ - { offset: 0x2857, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x4794, symBinAddr: 0x8794, symSize: 0x98 }
+ - { offset: 0x2872, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x4794, symBinAddr: 0x8794, symSize: 0x98 }
+ - { offset: 0x287A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x482C, symBinAddr: 0x882C, symSize: 0x48 }
+ - { offset: 0x2895, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x482C, symBinAddr: 0x882C, symSize: 0x48 }
+ - { offset: 0x289D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x4874, symBinAddr: 0x8874, symSize: 0x40 }
+ - { offset: 0x28B8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x4874, symBinAddr: 0x8874, symSize: 0x40 }
+ - { offset: 0x28C0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x48B4, symBinAddr: 0x88B4, symSize: 0x380 }
+ - { offset: 0x293D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x48B4, symBinAddr: 0x88B4, symSize: 0x380 }
+ - { offset: 0x2945, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x4C34, symBinAddr: 0x8C34, symSize: 0x8C }
+ - { offset: 0x29DA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x4C34, symBinAddr: 0x8C34, symSize: 0x8C }
+ - { offset: 0x29E2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x4CC0, symBinAddr: 0x8CC0, symSize: 0x4C }
+ - { offset: 0x2A50, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Double#$