Machine Learning<\/a> provides functions for ml.<\/p>\n<h2 id=\"content-required-header\"><a href=https://samsungtizenos.com/"#content-required-header\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Required Header<\/h2>\n<p>#include <hal-ml.h><\/p>\n<h2 id=\"content-overview\"><a href=https://samsungtizenos.com/"#content-overview\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Overview<\/h2>\n<p>Tizen ML API may require a hardware device to accelerate its job. This HAL ML provides an interface for Tizen ML API (NNStreamer's tensor_filter subplugin) to use such hardware acceleration devices (NPU, ...) if available.<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Typedefs<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#struct__hal__backend__ml__funcs\">_hal_backend_ml_funcs<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#ga2f0cb5df3ed9be037ccf68dac472422a\">hal_backend_ml_funcs<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The HAL backend structure for ML. This should be implemented by each HAL backend.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#ga7ee72b1082fd0c5c6dc581ad96dd5172\">hal_ml_error<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#gadba39c6527a88baaab0c3c5f8dbf58cc\">hal_ml_error_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the error codes of hal-ml.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h2 id=\"content-data-structure-documentation\"><a href=https://samsungtizenos.com/"#content-data-structure-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Data Structure Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct _hal_backend_ml_funcs<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The HAL backend structure for ML. This should be implemented by each HAL backend.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_ML 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a012deb7f048e6a60a42dff5388edbc85\">init<\/a> )(void **backend_private)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#aa335b6b3ac01bf875393d401539c8bab\">deinit<\/a> )(void *backend_private)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#aec8792722d389180d8cdfa6f855c3552\">configure_instance<\/a> )(void *backend_private, const void *prop)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#acb0c0f615a0071e575165957be2ad6ba\">invoke<\/a> )(void *backend_private, const void *input, void *output)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a2c922252bcce42f941b5c28b1cda2623\">invoke_dynamic<\/a> )(void *backend_private, void *prop, const void *input, void *output)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a4b9ba3a0026f5004b67d64f70f699e7e\">get_framework_info<\/a> )(void *backend_private, void *framework_info)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a64cc5473ad5fd9befab27c19139b4226\">get_model_info<\/a> )(void *backend_private, int ops, void *in_info, void *out_info)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation\"><a href=https://samsungtizenos.com/"#content-field-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#aec8792722d389180d8cdfa6f855c3552\">_hal_backend_ml_funcs::configure_instance<\/a>)(void *backend_private, const void *prop)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Invoke<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#aa335b6b3ac01bf875393d401539c8bab\">_hal_backend_ml_funcs::deinit<\/a>)(void *backend_private)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Configure ml framework<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a4b9ba3a0026f5004b67d64f70f699e7e\">_hal_backend_ml_funcs::get_framework_info<\/a>)(void *backend_private, void *framework_info)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get model info<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a64cc5473ad5fd9befab27c19139b4226\">_hal_backend_ml_funcs::get_model_info<\/a>)(void *backend_private, int ops, void *in_info, void *out_info)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Handle event<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a012deb7f048e6a60a42dff5388edbc85\">_hal_backend_ml_funcs::init<\/a>)(void **backend_private)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>< Initialize HL backend handle Deinitialize HL backend handle<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#acb0c0f615a0071e575165957be2ad6ba\">_hal_backend_ml_funcs::invoke<\/a>)(void *backend_private, const void *input, void *output)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Invoke dynamic<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#a2c922252bcce42f941b5c28b1cda2623\">_hal_backend_ml_funcs::invoke_dynamic<\/a>)(void *backend_private, void *prop, const void *input, void *output)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get framework info<\/p>\n<hr \/>\n<h2 id=\"content-typedef-documentation\"><a href=https://samsungtizenos.com/"#content-typedef-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Typedef Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#struct__hal__backend__ml__funcs\">_hal_backend_ml_funcs<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#ga2f0cb5df3ed9be037ccf68dac472422a\">hal_backend_ml_funcs<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The HAL backend structure for ML. This should be implemented by each HAL backend.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_ML 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#ga7ee72b1082fd0c5c6dc581ad96dd5172\">hal_ml_error<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#gadba39c6527a88baaab0c3c5f8dbf58cc\">hal_ml_error_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the error codes of hal-ml.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_ML 1.0<\/p>\n<hr \/>\n<h2 id=\"content-enumeration-type-documentation\"><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Enumeration Type Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__ML__MODULE.md#ga7ee72b1082fd0c5c6dc581ad96dd5172\">hal_ml_error<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the error codes of hal-ml.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_ML 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>HAL_ML_ERROR_NONE<\/em> | Success! |\n| --- | --- |\n| <em>HAL_ML_ERROR_INVALID_PARAMETER<\/em> | Invalid parameter |\n| <em>HAL_ML_ERROR_NOT_SUPPORTED<\/em> | The feature is not supported |\n| <em>HAL_ML_ERROR_UNKNOWN<\/em> | Unknown error |\n| <em>HAL_ML_ERROR_OUT_OF_MEMORY<\/em> | Out of memory |\n| <em>HAL_ML_ERROR_PERMISSION_DENIED<\/em> | Permission denied |\n| <em>HAL_ML_ERROR_IO_ERROR<\/em> | I\/O error |\n| <em>HAL_ML_ERROR_RUNTIME_ERROR<\/em> | Runtime error |<\/p>\n<hr \/>\n<p>Except as noted, this content - excluding the Code Examples - is licensed under <a href=https://samsungtizenos.com/"http:////creativecommons.org//licenses//by//3.0//legalcode/">Creative Commons Attribution 3.0<\/a>\nand all of the Code Examples contained herein are licensed under <a href=https://samsungtizenos.com/"https:////www.tizen.org//bsd-3-clause-license/">BSD-3-Clause/a>.
Content License<\/a>.<\/p>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-required-header\">Required Header<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-overview\">Overview<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-data-structure-documentation\">Data Structure Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-typedef-documentation\">Typedef Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\">Enumeration Type Documentation<\/a><\/li>\n<\/ul>\n","title":"Tizen HAL API: Machine Learning","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"rvDVqXIMT90GoPmxP11u","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__ML__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"153fc8dc534651abd983daaa62cee38835f263b94a6adf4feb3f61770d6dde3f"}" wire:effects="[]" wire:id="rvDVqXIMT90GoPmxP11u" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1tYWNoaW5lLWxlYXJuaW5nXCI+PGEgaHJlZj1cIiNjb250ZW50LXRpemVuLWhhbC1hcGktbWFjaGluZS1sZWFybmluZ1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VGl6ZW4gSEFMIEFQSTogTWFjaGluZSBMZWFybmluZzxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZFwiPk1hY2hpbmUgTGVhcm5pbmc8XC9hPiBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIG1sLjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlcXVpcmVkIEhlYWRlcjxcL2gyPlxuPHA+I2luY2x1ZGUgJmx0O2hhbC1tbC5oJmd0OzxcL3A+XG48aDIgaWQ9XCJjb250ZW50LW92ZXJ2aWV3XCI+PGEgaHJlZj1cIiNjb250ZW50LW92ZXJ2aWV3XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5PdmVydmlldzxcL2gyPlxuPHA+VGl6ZW4gTUwgQVBJIG1heSByZXF1aXJlIGEgaGFyZHdhcmUgZGV2aWNlIHRvIGFjY2VsZXJhdGUgaXRzIGpvYi4gVGhpcyBIQUwgTUwgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBUaXplbiBNTCBBUEkgKE5OU3RyZWFtZXIncyB0ZW5zb3JfZmlsdGVyIHN1YnBsdWdpbikgdG8gdXNlIHN1Y2ggaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGRldmljZXMgKE5QVSwgLi4uKSBpZiBhdmFpbGFibGUuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlR5cGVkZWZzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWxfX2Z1bmNzXCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhMmYwY2I1ZGYzZWQ5YmUwMzdjY2Y2OGRhYzQ3MjQyMmFcIj5oYWxfYmFja2VuZF9tbF9mdW5jczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgSEFMIGJhY2tlbmQgc3RydWN0dXJlIGZvciBNTC4gVGhpcyBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgZWFjaCBIQUwgYmFja2VuZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhN2VlNzJiMTA4MmZkMGM1YzZkYzU4MWFkOTZkZDUxNzJcIj5oYWxfbWxfZXJyb3I8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjZ2FkYmEzOWM2NTI3YTg4YmFhYWIwYzNjNWY4ZGJmNThjY1wiPmhhbF9tbF9lcnJvcl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EYXRhIFN0cnVjdHVyZSBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgX2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEhBTCBiYWNrZW5kIHN0cnVjdHVyZSBmb3IgTUwuIFRoaXMgc2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGVhY2ggSEFMIGJhY2tlbmQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfTUwgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhMDEyZGViN2YwNDhlNmE2MGE0MmRmZjUzODhlZGJjODVcIj5pbml0PFwvYT4gKSh2b2lkICoqYmFja2VuZF9wcml2YXRlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FhMzM1YjZiM2FjMDFiZjg3NTM5M2Q0MDE1MzljOGJhYlwiPmRlaW5pdDxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FlYzg3OTI3MjJkMzg5MTgwZDhjZGZhNmY4NTVjMzU1MlwiPmNvbmZpZ3VyZV9pbnN0YW5jZTxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlLCBjb25zdCB2b2lkICpwcm9wKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FjYjBjMGY2MTVhMDA3MWU1NzUxNjU5NTdiZTJhZDZiYVwiPmludm9rZTxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlLCBjb25zdCB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2EyYzkyMjI1MmJjY2U0MmY5NDFiNWMyOGIxY2RhMjYyM1wiPmludm9rZV9keW5hbWljPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIHZvaWQgKnByb3AsIGNvbnN0IHZvaWQgKmlucHV0LCB2b2lkICpvdXRwdXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjYTRiOWJhM2EwMDI2ZjUwMDRiNjdkNjRmNzBmNjk5ZTdlXCI+Z2V0X2ZyYW1ld29ya19pbmZvPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIHZvaWQgKmZyYW1ld29ya19pbmZvKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2E2NGNjNTQ3M2FkNWZkOWJlZmFiMjdjMTkxMzliNDIyNlwiPmdldF9tb2RlbF9pbmZvPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIGludCBvcHMsIHZvaWQgKmluX2luZm8sIHZvaWQgKm91dF9pbmZvKTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FlYzg3OTI3MjJkMzg5MTgwZDhjZGZhNmY4NTVjMzU1MlwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6Y29uZmlndXJlX2luc3RhbmNlPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgY29uc3Qgdm9pZCAqcHJvcCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5JbnZva2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhYTMzNWI2YjNhYzAxYmY4NzUzOTNkNDAxNTM5YzhiYWJcIj5faGFsX2JhY2tlbmRfbWxfZnVuY3M6OmRlaW5pdDxcL2E+KSh2b2lkICpiYWNrZW5kX3ByaXZhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q29uZmlndXJlIG1sIGZyYW1ld29yazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2E0YjliYTNhMDAyNmY1MDA0YjY3ZDY0ZjcwZjY5OWU3ZVwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6Z2V0X2ZyYW1ld29ya19pbmZvPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgdm9pZCAqZnJhbWV3b3JrX2luZm8pPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IG1vZGVsIGluZm88XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhNjRjYzU0NzNhZDVmZDliZWZhYjI3YzE5MTM5YjQyMjZcIj5faGFsX2JhY2tlbmRfbWxfZnVuY3M6OmdldF9tb2RlbF9pbmZvPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgaW50IG9wcywgdm9pZCAqaW5faW5mbywgdm9pZCAqb3V0X2luZm8pPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+SGFuZGxlIGV2ZW50PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjYTAxMmRlYjdmMDQ4ZTZhNjBhNDJkZmY1Mzg4ZWRiYzg1XCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzOjppbml0PFwvYT4pKHZvaWQgKipiYWNrZW5kX3ByaXZhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Jmx0OyBJbml0aWFsaXplIEhMIGJhY2tlbmQgaGFuZGxlIERlaW5pdGlhbGl6ZSBITCBiYWNrZW5kIGhhbmRsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FjYjBjMGY2MTVhMDA3MWU1NzUxNjU5NTdiZTJhZDZiYVwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6aW52b2tlPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgY29uc3Qgdm9pZCAqaW5wdXQsIHZvaWQgKm91dHB1dCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5JbnZva2UgZHluYW1pYzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2EyYzkyMjI1MmJjY2U0MmY5NDFiNWMyOGIxY2RhMjYyM1wiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6aW52b2tlX2R5bmFtaWM8XC9hPikodm9pZCAqYmFja2VuZF9wcml2YXRlLCB2b2lkICpwcm9wLCBjb25zdCB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkdldCBmcmFtZXdvcmsgaW5mbzxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlR5cGVkZWYgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWxfX2Z1bmNzXCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYTJmMGNiNWRmM2VkOWJlMDM3Y2NmNjhkYWM0NzI0MjJhXCI+aGFsX2JhY2tlbmRfbWxfZnVuY3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBIQUwgYmFja2VuZCBzdHJ1Y3R1cmUgZm9yIE1MLiBUaGlzIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIEhBTCBiYWNrZW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYTdlZTcyYjEwODJmZDBjNWM2ZGM1ODFhZDk2ZGQ1MTcyXCI+aGFsX21sX2Vycm9yPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYWRiYTM5YzY1MjdhODhiYWFhYjBjM2M1ZjhkYmY1OGNjXCI+aGFsX21sX2Vycm9yX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWVudW1lcmF0aW9uLXR5cGUtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkVudW1lcmF0aW9uIFR5cGUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhN2VlNzJiMTA4MmZkMGM1YzZkYzU4MWFkOTZkZDUxNzJcIj5oYWxfbWxfZXJyb3I8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkhBTF9NTF9FUlJPUl9OT05FPFwvZW0+IHwgU3VjY2VzcyEgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+SEFMX01MX0VSUk9SX0lOVkFMSURfUEFSQU1FVEVSPFwvZW0+IHwgSW52YWxpZCBwYXJhbWV0ZXIgfFxufCA8ZW0+SEFMX01MX0VSUk9SX05PVF9TVVBQT1JURUQ8XC9lbT4gfCBUaGUgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVkIHxcbnwgPGVtPkhBTF9NTF9FUlJPUl9VTktOT1dOPFwvZW0+IHwgVW5rbm93biBlcnJvciB8XG58IDxlbT5IQUxfTUxfRVJST1JfT1VUX09GX01FTU9SWTxcL2VtPiB8IE91dCBvZiBtZW1vcnkgfFxufCA8ZW0+SEFMX01MX0VSUk9SX1BFUk1JU1NJT05fREVOSUVEPFwvZW0+IHwgUGVybWlzc2lvbiBkZW5pZWQgfFxufCA8ZW0+SEFMX01MX0VSUk9SX0lPX0VSUk9SPFwvZW0+IHwgSVwvTyBlcnJvciB8XG58IDxlbT5IQUxfTUxfRVJST1JfUlVOVElNRV9FUlJPUjxcL2VtPiB8IFJ1bnRpbWUgZXJyb3IgfDxcL3A+XG48aHIgXC8+XG48cD5FeGNlcHQgYXMgbm90ZWQsIHRoaXMgY29udGVudCAtIGV4Y2x1ZGluZyB0aGUgQ29kZSBFeGFtcGxlcyAtIGlzIGxpY2Vuc2VkIHVuZGVyIDxhIGhyZWY9XCJodHRwOlwvXC9jcmVhdGl2ZWNvbW1vbnMub3JnXC9saWNlbnNlc1wvYnlcLzMuMFwvbGVnYWxjb2RlXCI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiAzLjA8XC9hPlxuYW5kIGFsbCBvZiB0aGUgQ29kZSBFeGFtcGxlcyBjb250YWluZWQgaGVyZWluIGFyZSBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy50aXplbi5vcmdcL2JzZC0zLWNsYXVzZS1saWNlbnNlXCI+QlNELTMtQ2xhdXNlPFwvYT4uPGJyIFwvPlxuRm9yIGRldGFpbHMsIHNlZSB0aGUgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9jb250ZW50LWxpY2Vuc2VcIj5Db250ZW50IExpY2Vuc2U8XC9hPi48XC9wPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPlJlcXVpcmVkIEhlYWRlcjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LW92ZXJ2aWV3XCI+T3ZlcnZpZXc8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCI+RGF0YSBTdHJ1Y3R1cmUgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb25cIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCI+RW51bWVyYXRpb24gVHlwZSBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJUaXplbiBIQUwgQVBJOiBNYWNoaW5lIExlYXJuaW5nIiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiZmJrQzhRd2ZnU01CQ2l4VnM4dkoiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9wbGF0Zm9ybVwvaGFsXC9hcGlcLzEuMC4wXC9ncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiIyYzhjZGE1YjE2MDc0YjM4MzU3MWQ5Mjk4ZjA3NGFmMmVmNDQ2YTk3Nzg3M2IwYjU5ZmM3NDJlNDVkZjBmNTc5In0=')" >
Content License<\/a>.<\/p>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-required-header\">Required Header<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-overview\">Overview<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-data-structure-documentation\">Data Structure Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-typedef-documentation\">Typedef Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\">Enumeration Type Documentation<\/a><\/li>\n<\/ul>\n","title":"Tizen HAL API: Machine Learning","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"rvDVqXIMT90GoPmxP11u","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__ML__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"153fc8dc534651abd983daaa62cee38835f263b94a6adf4feb3f61770d6dde3f"}" wire:effects="[]" wire:id="rvDVqXIMT90GoPmxP11u" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1tYWNoaW5lLWxlYXJuaW5nXCI+PGEgaHJlZj1cIiNjb250ZW50LXRpemVuLWhhbC1hcGktbWFjaGluZS1sZWFybmluZ1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VGl6ZW4gSEFMIEFQSTogTWFjaGluZSBMZWFybmluZzxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZFwiPk1hY2hpbmUgTGVhcm5pbmc8XC9hPiBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIG1sLjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlcXVpcmVkIEhlYWRlcjxcL2gyPlxuPHA+I2luY2x1ZGUgJmx0O2hhbC1tbC5oJmd0OzxcL3A+XG48aDIgaWQ9XCJjb250ZW50LW92ZXJ2aWV3XCI+PGEgaHJlZj1cIiNjb250ZW50LW92ZXJ2aWV3XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5PdmVydmlldzxcL2gyPlxuPHA+VGl6ZW4gTUwgQVBJIG1heSByZXF1aXJlIGEgaGFyZHdhcmUgZGV2aWNlIHRvIGFjY2VsZXJhdGUgaXRzIGpvYi4gVGhpcyBIQUwgTUwgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBUaXplbiBNTCBBUEkgKE5OU3RyZWFtZXIncyB0ZW5zb3JfZmlsdGVyIHN1YnBsdWdpbikgdG8gdXNlIHN1Y2ggaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGRldmljZXMgKE5QVSwgLi4uKSBpZiBhdmFpbGFibGUuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlR5cGVkZWZzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWxfX2Z1bmNzXCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhMmYwY2I1ZGYzZWQ5YmUwMzdjY2Y2OGRhYzQ3MjQyMmFcIj5oYWxfYmFja2VuZF9tbF9mdW5jczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgSEFMIGJhY2tlbmQgc3RydWN0dXJlIGZvciBNTC4gVGhpcyBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgZWFjaCBIQUwgYmFja2VuZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhN2VlNzJiMTA4MmZkMGM1YzZkYzU4MWFkOTZkZDUxNzJcIj5oYWxfbWxfZXJyb3I8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjZ2FkYmEzOWM2NTI3YTg4YmFhYWIwYzNjNWY4ZGJmNThjY1wiPmhhbF9tbF9lcnJvcl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EYXRhIFN0cnVjdHVyZSBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgX2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEhBTCBiYWNrZW5kIHN0cnVjdHVyZSBmb3IgTUwuIFRoaXMgc2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGVhY2ggSEFMIGJhY2tlbmQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfTUwgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhMDEyZGViN2YwNDhlNmE2MGE0MmRmZjUzODhlZGJjODVcIj5pbml0PFwvYT4gKSh2b2lkICoqYmFja2VuZF9wcml2YXRlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FhMzM1YjZiM2FjMDFiZjg3NTM5M2Q0MDE1MzljOGJhYlwiPmRlaW5pdDxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FlYzg3OTI3MjJkMzg5MTgwZDhjZGZhNmY4NTVjMzU1MlwiPmNvbmZpZ3VyZV9pbnN0YW5jZTxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlLCBjb25zdCB2b2lkICpwcm9wKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FjYjBjMGY2MTVhMDA3MWU1NzUxNjU5NTdiZTJhZDZiYVwiPmludm9rZTxcL2E+ICkodm9pZCAqYmFja2VuZF9wcml2YXRlLCBjb25zdCB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2EyYzkyMjI1MmJjY2U0MmY5NDFiNWMyOGIxY2RhMjYyM1wiPmludm9rZV9keW5hbWljPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIHZvaWQgKnByb3AsIGNvbnN0IHZvaWQgKmlucHV0LCB2b2lkICpvdXRwdXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjYTRiOWJhM2EwMDI2ZjUwMDRiNjdkNjRmNzBmNjk5ZTdlXCI+Z2V0X2ZyYW1ld29ya19pbmZvPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIHZvaWQgKmZyYW1ld29ya19pbmZvKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2E2NGNjNTQ3M2FkNWZkOWJlZmFiMjdjMTkxMzliNDIyNlwiPmdldF9tb2RlbF9pbmZvPFwvYT4gKSh2b2lkICpiYWNrZW5kX3ByaXZhdGUsIGludCBvcHMsIHZvaWQgKmluX2luZm8sIHZvaWQgKm91dF9pbmZvKTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FlYzg3OTI3MjJkMzg5MTgwZDhjZGZhNmY4NTVjMzU1MlwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6Y29uZmlndXJlX2luc3RhbmNlPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgY29uc3Qgdm9pZCAqcHJvcCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5JbnZva2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhYTMzNWI2YjNhYzAxYmY4NzUzOTNkNDAxNTM5YzhiYWJcIj5faGFsX2JhY2tlbmRfbWxfZnVuY3M6OmRlaW5pdDxcL2E+KSh2b2lkICpiYWNrZW5kX3ByaXZhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q29uZmlndXJlIG1sIGZyYW1ld29yazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2E0YjliYTNhMDAyNmY1MDA0YjY3ZDY0ZjcwZjY5OWU3ZVwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6Z2V0X2ZyYW1ld29ya19pbmZvPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgdm9pZCAqZnJhbWV3b3JrX2luZm8pPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IG1vZGVsIGluZm88XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNhNjRjYzU0NzNhZDVmZDliZWZhYjI3YzE5MTM5YjQyMjZcIj5faGFsX2JhY2tlbmRfbWxfZnVuY3M6OmdldF9tb2RlbF9pbmZvPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgaW50IG9wcywgdm9pZCAqaW5faW5mbywgdm9pZCAqb3V0X2luZm8pPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+SGFuZGxlIGV2ZW50PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUubWQjYTAxMmRlYjdmMDQ4ZTZhNjBhNDJkZmY1Mzg4ZWRiYzg1XCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzOjppbml0PFwvYT4pKHZvaWQgKipiYWNrZW5kX3ByaXZhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Jmx0OyBJbml0aWFsaXplIEhMIGJhY2tlbmQgaGFuZGxlIERlaW5pdGlhbGl6ZSBITCBiYWNrZW5kIGhhbmRsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2FjYjBjMGY2MTVhMDA3MWU1NzUxNjU5NTdiZTJhZDZiYVwiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6aW52b2tlPFwvYT4pKHZvaWQgKmJhY2tlbmRfcHJpdmF0ZSwgY29uc3Qgdm9pZCAqaW5wdXQsIHZvaWQgKm91dHB1dCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5JbnZva2UgZHluYW1pYzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2EyYzkyMjI1MmJjY2U0MmY5NDFiNWMyOGIxY2RhMjYyM1wiPl9oYWxfYmFja2VuZF9tbF9mdW5jczo6aW52b2tlX2R5bmFtaWM8XC9hPikodm9pZCAqYmFja2VuZF9wcml2YXRlLCB2b2lkICpwcm9wLCBjb25zdCB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkdldCBmcmFtZXdvcmsgaW5mbzxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlR5cGVkZWYgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWxfX2Z1bmNzXCI+X2hhbF9iYWNrZW5kX21sX2Z1bmNzPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYTJmMGNiNWRmM2VkOWJlMDM3Y2NmNjhkYWM0NzI0MjJhXCI+aGFsX2JhY2tlbmRfbWxfZnVuY3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBIQUwgYmFja2VuZCBzdHJ1Y3R1cmUgZm9yIE1MLiBUaGlzIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIEhBTCBiYWNrZW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYTdlZTcyYjEwODJmZDBjNWM2ZGM1ODFhZDk2ZGQ1MTcyXCI+aGFsX21sX2Vycm9yPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fTUxfX01PRFVMRS5tZCNnYWRiYTM5YzY1MjdhODhiYWFhYjBjM2M1ZjhkYmY1OGNjXCI+aGFsX21sX2Vycm9yX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWVudW1lcmF0aW9uLXR5cGUtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkVudW1lcmF0aW9uIFR5cGUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19NTF9fTU9EVUxFLm1kI2dhN2VlNzJiMTA4MmZkMGM1YzZkYzU4MWFkOTZkZDUxNzJcIj5oYWxfbWxfZXJyb3I8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZXJyb3IgY29kZXMgb2YgaGFsLW1sLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX01MIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkhBTF9NTF9FUlJPUl9OT05FPFwvZW0+IHwgU3VjY2VzcyEgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+SEFMX01MX0VSUk9SX0lOVkFMSURfUEFSQU1FVEVSPFwvZW0+IHwgSW52YWxpZCBwYXJhbWV0ZXIgfFxufCA8ZW0+SEFMX01MX0VSUk9SX05PVF9TVVBQT1JURUQ8XC9lbT4gfCBUaGUgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVkIHxcbnwgPGVtPkhBTF9NTF9FUlJPUl9VTktOT1dOPFwvZW0+IHwgVW5rbm93biBlcnJvciB8XG58IDxlbT5IQUxfTUxfRVJST1JfT1VUX09GX01FTU9SWTxcL2VtPiB8IE91dCBvZiBtZW1vcnkgfFxufCA8ZW0+SEFMX01MX0VSUk9SX1BFUk1JU1NJT05fREVOSUVEPFwvZW0+IHwgUGVybWlzc2lvbiBkZW5pZWQgfFxufCA8ZW0+SEFMX01MX0VSUk9SX0lPX0VSUk9SPFwvZW0+IHwgSVwvTyBlcnJvciB8XG58IDxlbT5IQUxfTUxfRVJST1JfUlVOVElNRV9FUlJPUjxcL2VtPiB8IFJ1bnRpbWUgZXJyb3IgfDxcL3A+XG48aHIgXC8+XG48cD5FeGNlcHQgYXMgbm90ZWQsIHRoaXMgY29udGVudCAtIGV4Y2x1ZGluZyB0aGUgQ29kZSBFeGFtcGxlcyAtIGlzIGxpY2Vuc2VkIHVuZGVyIDxhIGhyZWY9XCJodHRwOlwvXC9jcmVhdGl2ZWNvbW1vbnMub3JnXC9saWNlbnNlc1wvYnlcLzMuMFwvbGVnYWxjb2RlXCI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiAzLjA8XC9hPlxuYW5kIGFsbCBvZiB0aGUgQ29kZSBFeGFtcGxlcyBjb250YWluZWQgaGVyZWluIGFyZSBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy50aXplbi5vcmdcL2JzZC0zLWNsYXVzZS1saWNlbnNlXCI+QlNELTMtQ2xhdXNlPFwvYT4uPGJyIFwvPlxuRm9yIGRldGFpbHMsIHNlZSB0aGUgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9jb250ZW50LWxpY2Vuc2VcIj5Db250ZW50IExpY2Vuc2U8XC9hPi48XC9wPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPlJlcXVpcmVkIEhlYWRlcjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LW92ZXJ2aWV3XCI+T3ZlcnZpZXc8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCI+RGF0YSBTdHJ1Y3R1cmUgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb25cIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCI+RW51bWVyYXRpb24gVHlwZSBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJUaXplbiBIQUwgQVBJOiBNYWNoaW5lIExlYXJuaW5nIiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiZmJrQzhRd2ZnU01CQ2l4VnM4dkoiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9wbGF0Zm9ybVwvaGFsXC9hcGlcLzEuMC4wXC9ncm91cF9fSEFMQVBJX19IQUxfX01MX19NT0RVTEUiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiIyYzhjZGE1YjE2MDc0YjM4MzU3MWQ5Mjk4ZjA3NGFmMmVmNDQ2YTk3Nzg3M2IwYjU5ZmM3NDJlNDVkZjBmNTc5In0=')" >