remote control: show custom numeric values/strings/images (WIP POC)
this is currently a wip on my repo.
It allows you to show custom numeric values/strings/images in the displays by sending commands over the serial port. e.g.:
SENSORS: CPU=55, MEM=33, TEMP=60
TXT: Long text example this is very looong
52543002232 spectrogram with 11-bands, 0-9 range values
BMP: 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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAAAAAAAAAAAAAAAAAABDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAAAAAAAAAAAAAAAAAAAAAQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9wAAAAAAAAAAAAAAAAAAAH4GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFvcAAAAAAAAAAAAAAAAAAAD6BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQIbAhUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj4AAAAAAAAAAAAAAAAAAAA9wYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHDoJCgoREgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXRgAAAAAAAAAAAAAAAAAAAPlmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABYw8fEBASEg4TAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/gAAAAAAAAAAAAAAAAAAAAWZgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAFTkREBATEEQRLQUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL4AAAAAAAAAAAAAAAAAAAA9wYBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEB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XVpbpZmmql5gXGNkW11gWVxgXGNXWmBcYWJgXGNkYmBcYVpcXGQCYl9gU2ByXmRXa1xfWVxcWgJXXF1aYVxgWmRjXGBbW1xcYWRtXo9eqqaZpWJaXV5jZWNkFQ0GBg0BDQ0FBg0BAAAAAAEBARVhBgEVFQ0NBhUVZVpcYmNXkpm9poVgYldXY1dkYqjXXldjYVdjWn9gYVdXY2RlYoxcV2RkVwVXYM1gNlphZG5TXGmNZWRhV2RhXLxaY1dhY2RhXl1aZFdjY2RiYIWmvaHIV2NiXlsCFQYGDQ0VFQEGVwYBDQEAAAABBg0NZAYAW2UNDQYVFRVhXmRjWp+/oatdWmRhYWNjV2RgX1haY2NjYVdcYVdjY2NjV2RcY2RXAmVkZVrGYmFaY2RZuWVexm5XY2NjV2FeZGNjYWNjV1piZGFhV2NjY1pdq729n1tjZFpjBRUGBgYBZVsBFQIBDQYBAAAADRUVBmQGAVsCAQ0GFQUCW2JXY7SZvZmVXFxjY2NjV2FkYmBZWltjY2NjXFpjZWNjY2NkXmNkV2VkZGVaxlpYWltkYd9hXFM2ZFdjZWFbWldjY2NjY1daWmVjYWNjY1daYpWZvZl/V1diYwUVBgYNAWVtARUCBgYGDQAAAA0VAmRjBgFbAgENBhUFBVteV1e4ob2lXlxaV2NjY2NjZWJeXLlaY2FhZV5aV2NjV2NjV1xhZGVlZGRXWnJcWVlhAmNTxlphKldXY2NXYVxXYWFhY2NjYlxlY2NjY2NXWmJipb2/uFdXYmMFFQYGBgFlWwAGZQIFBg0AAAANFQJXYQYB0WUNDQYVBQVbXmRbn7+ZslpcYmRXYWFjYWRcYVpcWmJjYVdaYWRjY2NlZVdcYwJlZGRkZVvZYlpZW2RjWjdaZFNYAmNjZGFcZGNjYWNhV1piZFdjY2NhV1paWrK9v59bZFxhBRUGBgYBZdEBBldlFQYBAAAADRUFV1cGAW0CDQYGFRVlYmBjYqa9mbVaYI9jZGNjY1dhYGBjYllTYWRbvFxjV1djZGRa2FxkBQJkBWRc7GBaWFpkBWHAzltYNm5XZFdcvFtkV2NjV2FcYFtlV2NjZGNgj2G1mb+mtFdeYgIVFQYGDQJtAQZXZRUNAQAAAAEBDVdhBg0NDQYGBhVkYVthWpKmvaaEYFpaXVxjZGFcf1tcYFxcWFpeYGFcX1pXZGFeYGFiYFoFBVteXMZgj8ZhBVpgaVlevFpuBVpgYltgXGFkY1xdYlpgXmNkY1pcWlpchKW9mZJaYVthZQYGBgYNDQ0GV2QNAQEAAAAAAQEGFQ0NDQ0GBgZkY2VkZGG4pqapYGFkZGNcYGJgXGNXV1tcYGBsXGNkZFteXFxfWmRkAmFfXF5fWmETW1zAXF5cWlg2ZFuNxmJcYWRkV1pgXGBcY1dXY1xeWlxcY2RkW1yppqa4Y2RkZWMCFQYGDQENDRUNAQ0AAAAADQYNBmMGDQ0NDQ1kZRVkY2NboL+luGFhY2NjV2K8W2RhYWFjZFqoYjZhYWNkZF6QZAJlZWNkBVxgFQVbw2FjOpBcFWRZu2MVV+BaBWRjY2NXY2BcV2NjY1dkYWBbZFdjY2FhuKW/q2NlYwIVZGQNDQ0NDQZlBg0GAQAAAAVhBhViBgENDQYNZVcFZWNXW6W/oH9hY2NjY1djXGNjYWFhY2NhXGJaNltjY2RbWWRjV1dlZWRaWhVkYcdbYbk3YQVkYVmHZAJcWWRjY2NjY2RaYWFhYWNjYVdaY2NjY2NhYX+gva9bY2NlFWVlDQYNDQEVWxUGZAYAAAAXYWRlWwYBDQ0GDWVkBWVjV7SmvaleW1djY2NXYVxXY2FjY2FjWl9XXllCYWNkYVxlY2VkZWQFWloVZVrHWmEhOFoCZGFYWGRkXIpuV2NlV2NjXFtjY2FhY2NjXGNlY2NjY2FeqdSmf1djZRVXZQ0GDQ0BBlsCFQIGAAAAF25kY1sGAQ0NBg1lYxVlYWS1pr+xWmFjY2NjV2FcY2NjYWNjY2FcZGFcD1hXV1piBWVlZWVlBVpaBWVhUmFhuTVhBWRXWoBlBVrVSQJjY2NjV2JhV2NjY2FjY2JjV1djY2NjWrG/prVXY2UVZWUGBg0NAQZbZQUCBgAAAI5hZGNbFQENDQYNZWMVZGFkyL+/smFhY2NjY2RhXWNXYWFjV2RhXmRkW1y7bgVaXwVkZWRlZBVcXBUCYVFbYW5rWhVkZFrfVxVeXx9kZGNjZGRgWmRjYWFXV2NeY1djY2NXYWGzv7/IZGNlFWVkDQYNDQEVW2UFZAYAAAANZGQVBQ0NDQ0GBmZkAmVjZJWZpqpgWmRjV1daYI9gW1djV1diYGBcYWRbWgtcXGBcVwVkZAJaXl5iV2FnYWNTjI9iZAVhNlhiXo/BsGRlAmFcYFxaZGNjZGFcj1xbZFdXZFpeqqbcyGRXAgJkFQYGDQ0NBgUVAhUBAAAAAAENFVcNDQENFQYGFVdbY1eVpaaqYlxeV2Ncj1tjWmBcYVtdYGFXXGtaZWKM5VpXXJBiZFteX2RlXF5cNl9g2VlaYs5hZV/AYmRjjXJhZFxgWmRbXlxjY15fWldbXlxXY1xcYqqmpZVkY2NjFQYVFQ0BDQ1kFQ0BAAAAAAEBAQZhZgEFFQYGBhUCY2Jdsqa/smFjXGBgYldXY2RjXGBgWmRXY2RXXGBcXFrDYVdlXo+PYQVkBQVjXb5gW25ZWxVhX2BgWGRkBVdTaF9cY2RjV1daXI9iY2RjZFdiXlxaY2Gyv5myXlpjBRUVBgYVBQEVYwYBAQEAAAABBgYNZRUB0W0NBhUVBWRbXZLUv5JaY2RcYmRjY2NjY2RcYmRjY2NjZAVcYQVbWd9iVwWPVxVkZWQCBWHAYWRauVoFBWVcYzZuZFdjh89cBWVjY1dXAmJcZFdjY2FXAmJiZGFhuL+/kl1bBQUVBgYBbdABFWUNBgYBAAAADRUCBWEVAdBtDQYVFQJkW12z1L+SYWNXWlpXY2FjY2FXXFpXY2NXZWNkWmFkZWFZ41pjYldkZGRlAmRheltXWlNaAgVjWldTgGRXZWGYWmRXV2NXY2VaXGRjV2NjY2RaYmNbWpK/vZJeW2QCFQYGAW3QARVlFRUVDQAAAA0VZGFhBgHRbQ0GFRUCZFtdktShsl5hV1xiV2NjY2FhY15iY2NjY2NjZFpbZFdkW1nfWl5XAgJlZGQCYcBhV1o2WmQVY1pkWkJlZGRXX0hkV2VjZWNXWmJkY2NlY2NXWlpXYVq4v9SzXltkAhUVBg1t0QEGV2MFBg0AAAANFWRhYQYB0G0NBgYVAmRbXZK9maleYVdaWldhY2NXY1daWmRjYVdXVwVZYWRlZGRbWUlfYQUCZWRkZGHBYQJb31lXBWRaBWG7bmRlZFpsZGRXY2VjZGFaZGNjY2NjZFtaV2Fasr+/kn9bZAIVFQYNbdABBmNlFRUNAAAADRVkYWEGAVtlDQYVFQVkYl2zv5mqXldjf2BjV2FhY2RXkFxkV2NXZAJjj14CZGVkBVda61xhZGRlAgVaeVoFYbtaZAZavGUCublkAgVcyTYVV1dlZGRcj1dkV2VjZGVcXGNjWrK/1LNdWmQFFQYGDWNtAQZjVxUGDQAAAAEBDWFaBg0NBgYGBhVlWlpas6aZq39aYF5eYFpXZGNcjFxcj1pkAmVcX1pcXGEFBWRcXV/qkFoFFWVeX2mYXFpYYWFaXFpcXFqHBVdcXlzZYmUCZFteXFqPWldkZFtcYlpcWluqv6azWlpbAhUGBgYGBg0GYVcNAQEAAAAADQ0NFQYNDQ0GFRVkYWNkV5KmpqldXGEFAmFcXlpcXGEFZFpdXFpeXFcFZFpTWmFcWgVkYeVpYmFfYmNYYVtgmF9gWhUGBVqPWVpeYQVlWcZfYVpcYQUFV1xcYWJcYQUFY1peqqWmkldlY2FkBhUGDQ0NBhUNDQ0AAAAADRUNDWUVAQ0NBgZlYwVkY2OSv6apXV5cXmJbWl2oYFpaWlphYY9dXGFhWlthYWCoWmFhW1paB8CQWmFh6WFXYoxfWmFbWltjWmBgYVdhW1paXF1gYVtaYltbXmBgYVtiXl5eXrGmv7hjY2QCYwIGBg0NDRVlDQ0GAQAAAI5hBQJiFQEGDQYGY2MFZWNhkr2hqZKyhaytYFxaa1laWVlZWVhaWVhaWVNZWVhZNVhZWVhXV2FfMFpaYd9hWiBrWDZTU1laWVhaUzZZWFo2WVlcWVlaWVlaWlpcWVxgrYWzs12xv7+SYWNjBWNXBgYNDQ0VWwIVAgYAAAAXbm5jWxUBDQYGDVdjBWNjYZK/maqSkoWtXV5aWl9aYWFhYVhYWlxuWGFuYW5YWVpYWm42YW1XXI1NbmEuYVhYU1NYYVhYYWFYXFluYVhYWFpYWVpaWlphYWFuXFpaXF2thYRdqb+/uGFXZQVjZQYGDQ0BBltlZGQGAAAAZldkY1sVAQ0NBgZXYwVXY2GSv5mphF5iWmFbW1tcYWNhYWFjY1pcV1djY2NlZFpcZGNjY1dlZFpcWGFuZ1pkV1xfW2VXZWNXV1xZV1djV2FbYWJbYWFjY2NXY2JhV2NhYWFaf6u6v7NjV2UVY2UGBg0NDRVbZQVkBgAAAAJuZGNbFQENDQYNY2MFV1djkr+hqZJiV2NjY1dhXGRkY2RXZQVhXAUCZGRlZAVhYgYVZAJkBRVbYhVjbuJaZRVevGEVBQUFBQZaWQUFZAUCY25iVwVkZGVlZGRcZWRjY2VXW5Wpv7+SYWNjFWNlBgYNDQEVW2UCZAYAAAAGZFcCBQYNDQ0NBmRjAmVXYZK6pqmz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Y2JjZGNjY2NiXLO/v5JhY2UVY2MGBgYNDQZbZQICBgAAAAVhZAJiFQENBgYNV2MFY1dhkr/EqYRiV2NjY2FhXGNhZWNaV2FaWm42WmVkZAVbWgVkAgIFAgVbWhVkVydjWmE3XBUFYYBaZRVaYQUCZWRkZAJiYVdaYVphV2ViY1djZWNXW16yv7+zYWNlFWNlBgYGDQEVWwIFZQYAAAAGAgYGWxUNDQ0GBmVjFWVhY5K/maldY2NjYWNkWo9jZFdYWldXaV9XV1phAgUVWlwFFQICAgUVXF8VBWHPV2Rh2WBhFWG5WQIVYFoVBQJkZAVkj2EFYVpaWWRjYGFkY2NjV2Ncs5m/uFdXAhVjZQYGDQ0NFWMGBhUNAAAAAQ0BDRUGDQ0NBhUVZGNjV1eSpqWzqF5jZGNhXGBcXlphWmFXXNhcYFluYQVXXF9cXGEFFRVXXF9aWVdXOldXYF3Bj2FXWGFaX2JcXGQVBQVbXFxcYmNhWlpaXFxeYldXZGViYLOlppJXZGVlZRUGBg0NDQYVDQ0NAQAAAAEBDVdhBg0NDQYGBhVjW2Fhs6amsl1cj2FaYF5jV2FcYFxcYF9YZFtfelpiYFxkFWFeXldaXloVFVtgXAhaX2NhWtZeYlrXj2EVBVpeW2VeXGEVZVpfWlpfXGMFZWJcYWNcXFyzmaWSYWFbZRUGBgYNDQ0GYQINAQEAAAABDWRhYQYBZQINBhUVBWVaXbO6xLNgYWFgYGFXY2FkZF+PXWNkgGFkZMbNYFcFZAIVAlqQX2QFAmQVZFx5XgIVZFth02C8X2EVBQIFZVy8YWQCZGRkYV9gXGFkV2VkYVxcYWFas7+6s15aZBUVFQYNAgIBBmFjZg0NAAAADRVkV2EGAdFtDQYGFQICW12S1JmzYFtkWlpkY2NjV1pcXGEFYzZhYwJXa1pkZQJkZAIVXGQFAmRkAmRj1WMFZAVlWoBaXGFbBWQCAgVhXBUCZFdkVwVbXFpaV1djYwJhWwJhXLO/1JJeWwUFFQYGDVvQAQZjZQUVDQAAAA0VZGFhBgHRbQ0GBhUCZFtds7qZs15hV1paY2FjY2NcXFxaV2M2WmNlV3JaY2RkZWRkBWJjBWQCAmRkYTduZAICBWNa01xcYQJkAgIFY2IFZGVlZGVlW2JaXGMCV2NkWlpkW1yzmdSSXlsCBRUVBg1t0QEGY2UFBg0AAAANFWRkVxUB0W0NBgYVAmRbXrO/mbNcYVdiWmNjY1dhYFpiWmRlWFphZGRaN2FXZQJXZAJaYwJXZWVkZGHBYWQCAmQCYVzSXFoFZGUCBWFaBWRlZVdlZGFaW2BaZGNlZFpaZGFcs7+/kl5hAgUVFQYNbdEBFWRmFRUBAAAADRUGDWUVAbdtDQYGFQJkW16VvZmzXFtkYlpXY2NkW11hWmFkY2FaYWQFWs9hYWRlZWQFWmQFZWRkAmRXcmMFAgJkAmRaa4BiVwUCZQVhWgVkZGVXYwJhWmFgXFdlZQJaW2RjXLO9v5VeWwIFFRUGAW3QARVkDQYGAQAAAAENDQ1jFQFlAg0GFRUFZVpds8zEsVxhYWBdY2VXZFxdWrxgYWRhWmECYV1qWGFkZAUFWrxcBRVlZAVkYs1aBQVkZAUFWs7FYWJkAgVkXF1hBWRlZAVlXF9hXGBhZFdjXF5jY1yxv5mzXVoCFRUGBg0CZQEVZQ0NDQEAAAAAAQEVYQYNAQ0GBgYVV2FhYZKlmbFeXGBaWmBiY1dgqGBhWmBaV2FaXFxbWspcZQVhX1xhWmBaBQVbXI1TXFphBRVha1paf8tcYQVaYGJhX1xjBWRaXFtjXGBdYmRaXGFbXlpesZmlkmFhYWUVBgYVDQ0NBmMVAQEBAAAAARVkFRUNAQ0NBgYVZFdlZGTIpqWpYFxhV1dhXFxcqF1jZGRjXlzGYFpkZGQ2clxcX1oFFQVhX1xcXGFugGNhj1paXGEFYVpcwGBcWWEFBWRiXGJcXGNkBVdcYF1iWmVkZGNcYKmlpshkZGVkAhUGBg0NDQYVFWYGAQAAABVuV2VjBgENDQ0GV2UVZGNkyKaZslxbZGNhY2RhYK1dZGVlZAVayVpXZVdlbgtgYGRkZWVlAgVcjQUFYcNhBQVgXAUFZGFYWmFyXVcVZFdlBWVgWgVkZGRkYWBgYQVXZVdkW16yxJm1ZFcCFWRkDQ0NDQEGYwIFZQYAAAAVY2RjWwYBDQ0NDWNjFWVjZF6mv4VaYmNjY2NjZWCtXWRkZWNkYV9hY2VXV2GHWVoFZWRXZAICW1oFZGG5YWQFWloFZQVhWWFiWlpaZWVlZWUFWlcCV1dlZWFgqGJkY2VjV2Jahb+mYmRlZRVjZQ0NDQ0BBltlBWQGAAAAFVduZVsGAQ0NDQZXZRVlZVdipb+rf1pXV2FjY2NgrGBlY2NlZWHGWmFkV1djYcFeZFdlZWRkZFtaZGRhx1hXAmJaAmVkY2FhYV5nWmJkZWVXZFphZGRXZGNaXq1dZGRjZVdaXqq/pVtkZQIVZAIGDQ0NAQZbZQUCBgAAABdXFRViBgENDQ0GZGUVZGVXW6vEpZJaY1djY2NjXaxdZWVlV2RjWmFhZWVjZVc3XGNlV2VXZWRaWgVkVydhZGRaWgVlZGVkZGRaXMVcWmRXZWRaYWRlZGVlXlxdrWFkV1djWpKlv6BjZGUCFWQCBg0NDQEVWxUGZAYAAAAGBQ0GWwYBDQ0NDWVlFWRXY1eSmaWyXFtXY2NkV12sXWVlY2NkW19YYVdXY2NkWY1jZGRlV2QFWVwVZGHDYWQVYloVZGVlZWQFXF5huVxhZGRkXFsFZGVlZF1eYLZiAmNXYVyypb+4V2NlAhVlZQ0NDQEBFVsGDRUNAAAAAQ0BDRUNDQ0NDQYVZGUCZFdklaalqmBiY1dXW16PrF1kZGRkWlyYaGJkZWRXYryKYGMCZAJkYlxeXGRkOldXWlxfWgJkZAVXXFxcXlhuXGRtXFxeYWRkZGSoXV22YAVlZWJdq6WmtWRlZAICAhUGDQ0NDQYVDQ0NAQAAAAABAQVXBg0BDQYGBhVXYVdlWl2lwqatYGNjXGBjW6yoYmVhX2BjZWlfXGVbXFxjV8GPWmRbYF5lZWJeWlhiXlxkZFxcW2RaX2JlV1xgJlpgXFpkY1xcY2RaqF1ghYRaY2FchKa6pX9aZWNjZRUGBgYNAQ0NZRUBAQEAAAABDQVhYQYBFQYNDQYVFWVaXGFbn72ZuFxgXlpXZGGtrFprYFpkZFewWVxcXmFkZGGwWl6PXFtkZFcFY17AX2EFZGRkYVxrXFdkV2RkW13Bj2IVZGRkYV5cYqytWq2FXFlgXJKZvZ9bW1phZRUGBg0NBhUBBldXBg0BAAAADRVkY2EGAVtlAQYGFRUVYVxXV5K/v6teYFpkYWVhrYVXYloFZGVkWFhXXFpkY2NXSWFjXGFkV1dXY2RXimECZVdlZWRXX2RlZWNXZAJbXG5eYwJlZAVaWletrWOEhWJjXV6fvb+4V1diYRUVFQYNAWVbAQZXZBUGDQAAAA0VZFdXBgFbAgENBgYFBWFiY1e3prqmhGBiY2NjY4S2W2FaZGVlZGFhY1phY1djZVhYW1phV2VlY2VkYXJhZWVXV2VlYVplY1dlZWRXYV5YWF5jAmUCW25ahYQFXoVdW1yEmb2mtFdjYmMVFQYGDQFlbQAGZQIVBg0AAAANFRUGZAYAbQINBgYGFQVhYmVhW5+hmbJeXWFjV2Rdtl5aWldlZGRhYWNaYWVjY2RlWFpcY2VjZWNjV2E3YVdlZFdjZGFcV2VXY2VjV2FaYW5aXmRkZFthXrZdFWKtXV5cspm9n1tXZFpjFRUGBg0BAm0ABgIGFQYNAAAADRUGAWQGAFsCAQ0GBhUFYVpkYVeSmb2mhGBaY2NkYoWEYmFXZWRkbllXWmFXY2NXZW42XGNXY2NXY2Rja2FXV2NjY1djWmRjV1dXY2RhWmRaNlxiZGRuWoSFYgVjhIRchKa9oZJXYwJaYxUVBgYNAQJbAQYFDQYGAQAAAAENDQZXBgFlZgENBgYVFWFcYVdXYqa9malgXmFjY2GthV1fZGRlZFdYYWBcZGRjY2RkuYxaZGRjV2RkWr5aV2RjY2RkWrxhZGRjY2RkWl0CV1q5XGEFWWCFrWFkAl5dXLKhvaZiVwJjXGEFFQYGDQEFZQEGZAYNDQEAAAAAAQ0CYQ0BAQ0GBgYGBWFhYVxiYVeymaalhGBiY2RjhIleWo9aZAVla41aXH9hZAJjYnKNYFxhZGRtXI1TXlxXZGRXXF5aX2JlZGRhXmJaXFpiWm5eXlpetqhkAmReYISlppm4V2FiXGFjVxUGDQYGDQEBDWQVDQEAAAAAABUCDQYNDQENDQYGZmUCBQVlXF1cf6WZobJcXVxaXF22hAJhXlxhXI1YAmRaYGJaYFpXEmFaX1paXFphbltaXFpaXFpXAldcXFtaXFpkBWVaXF1fmF5kXbZdYltcYFyyoZmlf1pdWmUVFQJkFQYGDQEBAQEGBhUGAAAAABVXZAJlBgEBDQ0NAgIVBQJkZGRahFq4oaGZf1xdYGFhrbZiBVdiX2FYYWNkZFdcvGFkZDpaYWReYFdkYTdbV1dfXmRkV2NXZGFgXmVkV2UCAmNdXVpaXoWtY21gYFp/maenuGJdYWRkAgIVBhUVDQ0NAQENZRUVAgYAAAAVVwVlWw0BAQ0NDWYVFQUCZFdlAl1aYqa6p59eYF5XAl62qGRkYVoFYVlXZWVkYVoCY1dhu1pkYWICV2EHYWECWltkY2VXY2UCWmFkZWVkZGQFYWJdWV6EXmRlXlxeq6GhpltaYAVkAmQFFQYVFQ0NDQ0BBlsCFQIGAAAAFlcFAlsNAAENDQ0VFQYFAgJlZWVgYleSoaGhuFxgYWRbhYVaFVtcBWFaYWRlZFpaZFdkVzZaYVtaV1dhQlpjZGJaZGNjZGRjZVpaZGVlZGRkAmJlXl1gYGMCWmBiuKGnoZJXYmBlZAIFBRUGFRUNDQ0NAQ1bAhUCBgAAABdXBhVbBgEBDQ0NFRUVFQUCZGRlXltjWp+hoZmEYF5hZF22hAJhXGRbXGFkV2RhYmRXV2NhU2FhYmRXY7laYWRiWmRlZVdXV2RiYWRlZGVkZAJaZQKEqKxeYV5clZmnp6ViV1teZGQCBQIVBhUGDQ0NAQENWxUNAgYAAAAGFQEVWw0BAQ0BDRUVBgUCAmVkZFxhV1e0maehr11gXmNhrbZcV1wFY2BaZGUFYVwFZVdXbTZhYloFV2G5YmEFWmJkZGVlZWQFYltkZGRkZAIFXGVirYW2sYRaXqWnp5mVWmRbXAUCAgIFFQYVBg0NDQEBBlsVDQYNAAAAAA0NDRUNAQEBDQ0GBRUVBQJkZVpgYGJhV5KhoZmpYGBcV2KtrF6QWltgYmQFYVxgYmRkZWRuXGCPWmVXuVpXW15gYWRkZWRkWlxcYQUCZAUCYo1crYRchamzXqmZoaGSXGJbXVxhZRUFBQYVFQYNDQ0BAQ0VDQ0NAAAAAAABAQYFDQEBAQ0NDQZlZQUFYVphZFpdXWFan5mZoatgYGJlXYmEY1pgXV5hXGBhZVxcYQVXXGhaY1xcWodiXl9hYV9cY2RhXF5jYVxcZQVhXFpjraxdV3+xhKmhoZmfWlyoXWECYVpjFRVlAgYNDQ0BAQENBg0BAQAAAAABDQZXVw0BDQ0NDQ0NBmVhWlpXBWRkV2CEXV6vp6Ghsl1gYGJdrF0VYa2oYFpkZGRkYV5cXFpYYmFkWl5pYFpkZGRkWlxcXFsCZGRkWlxcXGMVXYVdWmCPXrKhp6efYmCoYGMFZAUCYWFjAgYNDQ0NDQ0BDQIFDQ0BAAAAAQYFZGQGABUGAQ0NBgYGV1oFAmRlV2UFXF1kf5mnp6G4XY9iYl2sXmSttloVZGRjZGRlYGEFYVpaV2Rbal5jAmVjZQJjXmVkV2VkZAVhXBUFXYVdYmJgYLihp6eZtGRdYGFjZGQCBRVhZAYGDQ0NAQ0VAA0FFQYGAQAAAAEGBRUFBgAVBgENDQ0GBmRhBWVkZGVlZFpeY1d/maenoalcXGBiXaxeXYleAgJXV2VXV1phZFc2XGFkYVpeWwJlY2UCY1pkY2RlZWRkYWEFXYVdYlxcXLGhp6ehlWFXXGJhYQICAgIFY2UGBg0NDQEGBQAGFQYGBgEAAAANFQYNBQYAFQYBAQ0NBgZlYQVkZGRlZWRiXmNhV7WZp6eZuF5cXF5dXYSJXWNkV2VlV2NcY2RlYVxiZGFZXWFkY2VlZGNiZGRkZGVlZFdaXqxdXFxcXriZp6eZkmBiZWJbV25kBQUFBWNlBgYNDQ0BBhUADRUNBgYBAAAAARUNDWUNABUGAQENDQYGZGEFZAICZFdkYmJkW1thtaGnmZmlf1xcYl5dtq1hZGNlV1dlWmFXZWFcXGFjXF5bZFdXY2RjWmVlZFdlZGRbXahdXlxcf6WhmaeZt1pcWWNaW2VYZAUVFQVlAgYGDQ0NAQYVAA0VDQ0GAQAAAAANDQVlDQEGDQEBDQ0GBldaBQVkZGRkBWJeZFdhYVe0mZmhp5mSXlpaXq2sYmRjY2VkY2BhZFdXWl5aYZBdW2RlZWVkYWBjAmVlZVdiXaheXlxckqanmZmZtFdjW1hhXGEFV2UFBRUVYWQGBg0NAQENBgENZgYNDQAAAAAAAAEFVw0BAQ0NAQ0NBgVjW2FXBQUFV1piYmBaV2NhWoSvmZmnoapeWmBgYF1iYVdkW1xcXFpkZFpeYFxaXWJkZGRkWlxiXltkZGFeqGBgYFpeq6GnmZmfhFphZVdiXVxaYVdkFQUCYVdkFQYNDQ0NDQEBDWYGAQAAAAAAABUVDQYBAQEBDQ0NDZFmFQVhWmFkYVphZGRaYFxhXl1hYaqhoaGhpbGzhGBdYF5bYlxbAmVeXGFbXWBcYV1eX2FhXFxhZGFcXmJdXV1cWl2zpaGhmaGrYWFdXmFeXlpubmFbYQJXYWUVFQYGDQ0NDQEBAQENDQ0NAAAAABVujgUCDQEBAQENDQ0NBhUFBQJbYloCBWRkAmVcYFxjY1dXlZmhpqGhn7GFXY9gXWBaYWNXZGFcXGBdYlmEW2NeXGFkY2FhYl2oXVxaXpKloaGmoZmVV2RXV1pgYgJkbm4FBVhaYxUVFRUGBg0NAQEBAQEBBQYGBQYAAAAVVxVkWw0BAQEBAQYGDQYVBQIFBVpkBQJkZGVkZV5XV2NjV2S0q5mnp6ehpbKEhKhgYFxiYlpjWlphhF5fhFsFXmJXW2JiXlxaYFxekqWhp6enmaliZFdjV2RXYgIFAmVjbgVWYRUVFQUVBg0NDQEBAQEADVsCBgUGAAAABmQGFVsNAAEBAQEGBg0GFQUFBQVaYVdXZWNjV2FeYWFhW1thYVqzrqenp6ehpamFhYSoYGBgXV1eYV5eXK1iYVxcW2JaWlpiXoSxpqGnp6enrrNhV1tbY2NjY2JjZGRkAldXZGMVBhUFBgYNBg0BAQEBAQ1jFQYFBgAAABZkDRVbAQEBAQEBDQ0NBhUFZgUFW2FaWlpaWlpaXlpbW1paYmJcXV2zrqenp6ehpq+rsbOFhYWsrV1eYKitWmFcXGFaXoSSqqamoaenp6eukl5gYmJbW1thW1tcW2JiYlphSmFbFQYVFQYGDQYGAQEBAQABbQYBBQYAAAAGBgEVWw0AAQEBAQYNDQYVFQUFFWFkWl5eXFxaWlxhYWFhWlphWl1aWl2xrqGnoZmnp6GZn5+lqbGpsrOpkoSVlbOyqq+ZoaenmaGnoaaxXVpaXWJhWltbYWFbXFpiXl5eYVZuYRUGFRUVBgENDQEBAQEAAW0GAQYNAAAAAAENDQYBAQEBAQEGFQ0NFRUVFWE1YWSOVldkV1pgX25hYVphXGCtrGBaXF2Fr5mup6enp6enoaalmZmZmZmZmaamoaenp6enoaaZroVdXlxgrKhgXFlaWm5YXFxZsCJuVlZXYTVkBgYVBg0GBg0BAQEBAQEGDQ0BAAAAAAABAQYVAQEBAQEBAQ1mFQYVV1thBWFIYQWOYWJaV2JgXGRXXF5aYV2sXWFerYReXZWuoaenoZmnp5mZoaehoZmnp5mhp6ehroReXoStXGFdrGBhWl5cV2RaXFplY1pujgVhW1cFVx9kBgYVFQ0BAQEBAQENDQ0BAQAAAAABAQ0FVg0AAQEBAQEBDQJXV2EFBhUVAlpaWlpkBQUVV1xcXFxXZGQFW6iohF5XV1dXYoWfqaqmoaGhmZmZmZmhoaGmq6mfhWJXV1dXXl1dXWMVZAVlYlpaWmQVFRUFYWFhYRUGBgYVY2UCZg0BAQEBAQEAARUGDQEBAAAAAQYFFQUNAA0NAAEBDQ0NZWEGBhUVFRUGWloVFQUFBQUVXGIFZGVkY2QCYGIFV2FhW2NXYFphW2J/f4SlmaWEhH9iW2FaYFdXY2FjYwVbYAUCZWRkAhVaWhUVBQUFFQZbWwYGBgYVBgZjAgEBAQEBAQENAAEGBgYNAQAAAAEGFQ0VDQANAQABAQ0NDQJuBhUVFRUVFWNjFQUFBQICFVphBWVlZWVkZFpbV1djY2NhY1xbV1dkV1yVpqGZlVxXZVdXW1xjYWNjY1dXW2ICZGRkAgIFYWEVBQUFFRUVZGQGFRUGBgYGZAUNDQEBAQEBDQANDQYGDQEAAAABBg0NFQEADQEBAQEBDQ0CbhUVBpEVFQZhYRUFAgICAgVhWwUCZGRkZAVaW2RkZVdjV2RcW1djBWKloZmmoaelYgUFZGFeV1dXV1dlZGFaBWRkZAUCBWFhFQUVFRUVBmVXBgYGBgYNBmVmAQ0NAQEBAQ0AAQ0BDQ0BAAAAAQYBDQUBAA0BAQEBAQ0NAlcVFRUVFRUGbmEVBQUFBQUVYWEFZGRkAmVkWmFkZWVlV2VkYmNlZFegoaKjm6OkmaVehFtlWmRkZWVlZWRhWgVkBQICBRVjYwYFFRUVFQZlZAYGBg0GBgYCFQENAQEBAAENAAEGAQENAAAAAAABDRWOAQANAQABAQ0NAWVhBgYVFRUGBlpaBhUVBQIVFVxhFQUCAmQFBVxaFQJkZGQFZGBbFRWSmZpzm5yddJ6flYRdW19kBWRlZWQFW1wFBQUCBQUGW1oGBhUVFQYNYWENBgYGBg0GVwUBAQEBAAABDQABDQ0NAQAAAAAAAAEVBQEAAQEBAQEBAQVuYWEFDQYNFWFhIFpkBhUVZFpZYloCBhUFY1xaXF5kFQUFW1xcYGJkkpODlJVhhJZ3l5hJYWBaXlsFBRUCWlxaWlcVFQYCWlpYWgUGBgYVYWFXVxUNDQ0GV24FFQ0BAQEBAQAAAQ0NAQAAAAAAAAYGAQ0AAAAAAQ0BDWYGAQEFH1cNZGFlAQ1XWmEGblhtBgZhXGMVWmJXBhViXGECXFxlBgViWo98gWIFYmRcc3yQV1cFBmRiYgJXXloVDWRZWhVjXGENDWQhYQZXH2QNDY5jAg0CExUBAQaRAQEBAQAAAQABAQ0BAAAAAAZmFwYGAQAAAAABDQYBAAAAAAACDmUBAAEBAQ1XNVcNAQ0BAQ1aX1cNDQ0NDRVaX2MNDQYGAWKJfIoGVotTFYyIjQUGBgYGBldZWhUNDQ0NDWRaWwYBAQEBDWVaVw0BAQEAAWRLjgEAAAAAAQ0BAAABAAAAFQYNBg0AAAAGBRUVZQAAAAAAAA0BAQ0GDQ0NDSANDQYGBgYNBlsGBgYVFRUGBWEGBhUFBRUGZVoGBQUVAl2EhXeGBRWHFQZ5iGkGBQUFBRUGWmUGFRUFFQYGYRUGFRUVBgYGbQYNBgYNDQ0NZA0NDQ0NDQEBAQAAAAEAAGQVDRV+AAAAflYGDQIBAAEBAQENDRVlYl5eWllbWlpcWlpcXFxaXFxcXF5gXmBcXmBgXWBgXV5gXWBeXl1/DYB3gVhkFQY1goNgXl5dYGBgXV5eYGBgXl5eXlxcXFxaYlpiWmFaW2FhYWFhV1dXV2NiWmQGDQEAAQEBAAAVBg0VDQAAAAYFDQ0VAAABAQENDQ0VZGJgXFxZYlpcXFxcXGBcWlxcXFxiXFxcXGJaWmJaYWFiXGFhYWNXBmZkdnd4eXJ6e3x9YWFhYWFjYWFiW2FhYVphWlpaYlpaYltaWmFaWltaW1phYWFXV1dhXmJkBg0NAQEBAAAAFQYNBg0AAAANBgEVFQAAAQABAQ0NBmRiXlxhblhXV1dlAgIVBWEVBgYGBgYNFWENDQYNDQ0BZmENDQ0NDQVhZVhwc3N0dHR1WhUNBgYNDQ0BVxUBDQ0NDQ0NVwYNBgYGBgYVVxUVFRUFBRVmVwUCY2JbZAYNAQEBAQEAABUNAQ0BAAAAAAEGDQ0BAAEBAQENBgYGFQUGDQIUBQEBDQ0BAQU1BQEBDQ0NDWNrBQ0NBgYNBlpeAg0GBgYNBmE2NmhwcHFyWVphFQYGBg0NFVlhBgYGBg0BFWJjDQ0NDQEBFVsFAQENAQEBFRMGAQYVFQYNDQEAAQEBAAENAQEBAAc7BwABAQAAAQEAAQABAQ0GAQAADWRlFW5uFQEBFW5jBVggBgENVlltBVphFQYGZVlhZFphFQ0GbWJjYWliNTc1MGljZGJXBg0VYWJlV1pXBg0VWFgFZWEFDQ0GWG0GY24VAQEGblYGBQUBAAANBg0BAQAAAAEBAQEAAQAAAAABAQABAQAAAQAAAQEBARUVFVcVAQEBBVtkVmECDQ0NZGFuV1sFDQ0NY1tXYVsVBg0GYWJhWmJbZGNoNTU1MGtvYwVjYlphWmMVBg0VYVdkWlcNAQ0VY1dkYQINAQEVY2QFYxUBAQEGAgYGBgEAAQEAAAEAAAEBAAEADhIJAA0BAQEAAAEBAAABAQAAZmUBAQ0NDQEBYWEBAQ0NDQENW2ENDQ0NDQ0GYmMNDQ0GBg0GN2UGFQVXaGkwNWprbGUVFQZkNRUGDQ0GBg1kWw0NDQ0NDQFtWw0NDQ0NAQFXYwEBDQ0BAAEFFQAAAAAAAAABAAABAQEBAA7tCAAAAAAAAAABAQAAAQEBAQYVDQ0NDQ0GDWQCBgYGBgYGBgIFBgUFBRUVBmUVFQIFAgIFBlcFV2JiYVA4KTUvT2daYltkAmUGFQUVBQUVFQINFRUFFRUGZmYNBgYGBgYGBQUNDQ0NDQ0BBgYBAQEBAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgITVldXExMQICAgWFhYNSEhWFhZNTk1WlpbOTVaWzVaWlpZWlpTNVxdXl8wMDA1LS4pXGBeXmFhNTVZWmJbW2FhDh9hWllaNWFYIEMgYWFhY1dXV2NkZQICZGRkZg0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRY/CQlLTE1OJiYICAgmKSw0NCwrLCwsKSkpODg4MC8yL0hPODhQLTA0UVIvNTU1LjBTLEgsNDMzKSw0MC0pKSkuLi8sQispMAhUJiYIBw8PRCUlREdVR1VVPzw9RRgNAQAAAAAAAAAAAAAAAAgQCQAAAAAAAAAAAAAAAAEGGAMDBEcDEgwRREMlFDoHBwcIKC4PMC0tLy0wNSw3NS4wNy0wLC0tMDVIKS4uLi0wNywtLy01NTA1OSk3Bw4PMDcHLhQPFBQODxQPSTolOgwSEiQDHEoiIh0bGBgXDQEAAAAAAAAAAAAAAAAO6AgAAAAAAAAAAAAAAAABFj0/PyRAHhERERE6OhEUFBQUFBQPFCgoLi4uFDEpKi4xLTAtMDktMDUtLTU1NTUtMDYtQShCLjkPBzEUQi4xFEJCB0NDDhQ7FA5DRAwRBEQSEh4kA0UcGxsYGBlGPg0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRYjJAMRCQklJQgICCYnJigmJikqKSkrKyksKSktLi8sMDEvMDAyMjApMzQwMCkpMCkrNTYwLSk3LTgqLTktLS0uFC4PBygIBwcIOhQ7FBERJCUkEh4DAzw8PCMZPT4NAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENFhcXGBgZGhsbHBwdHhwDHh4eHh4eEhIMEhISEhISEhIMERITEhESExMfExMTEhIQHBMgIRISHx8fEhIbEhsbHBwbHCIiIiIdHBwdHBsbHBoaGhcVFxcXFxYGBgYGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQENDQ0NDQ0NDQ0GDQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAEBAAEAAQAABQ8SExMTExIMFBUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEODxAQEBARDxIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgcICQkKCwwNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEAwUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
example of the sensor command:
spectrogram:
Currently only tested on IPSTUBE H401, it works fine as a POC but still needs some polishing.
example PC-side scripts :
- sensors2ndjson.py
| jq -r --unbuffered '"SENSORS: CPU%=" + (if .cpu_usage_percent > 100 then "99" else (.cpu_usage_percent | tostring) end) + ", CPU*=" + (if .cpu_temp_deg > 100 then "99" else (.cpu_temp_deg| tostring) end ) + ", MEM%=" + (.mem_usage_percent| tostring)' | busybox microcom -s 115200 /dev/ttyUSB0 - notifications2ndjson.py
| jq -r --unbuffered '"TXT: " + (.sender) + ": " + (.title) + ": " + (.text)' | busybox microcom -s 115200 /dev/ttyUSB0 - mic2leds.py -> send the spectrogram from the mic
Interesting idea. There are some devices on AliX that serve exactly this purpose. But I suggest that you keep this code on your fork. The clock's main purpose is to be a standalone unit to show time on any shelf in the house. Optional commands transmitted over WiFi over MQTT. Maybe it might get included if you rework the code so that your PC sends data through the MQTT server and then to the clock (BMPs are too large for MQTT). But not with a constant cable link.
no problem, indeed i've considered remote control using MQTT and even added some stub code for it, but i the end i've switched to Serial over USB to have the lowest latency. I've also considered a regular HTTP server with a json API, which would eliminate the need of a external server (i prefer standalone devices).
In addition, there are other parts that still needs polishing, so feel free to send me PRs if you work on any of these:
- TXT command may show a bigger text splitted on all the lcds, instead of repeating (partially implemented here, needs a better splitting method)
- base64 img decoding not working correctly atm, still debugging this part (see the code here)
- improve spectrogram aestetic (blend with bg img?) + support a custom number of bands
Optional commands transmitted over WiFi over MQTT.
That would be the way to go.