From a70411d6873a0bb4b0e294bdeee9697b3acfaa6a Mon Sep 17 00:00:00 2001 From: "M.A.Schneider" Date: Sat, 13 Apr 2024 21:24:51 -0400 Subject: [PATCH 1/4] added pastel colors v1 --- jctool/original_res/retail_colors.xml | 30 +++++++++++++++++++-------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/jctool/original_res/retail_colors.xml b/jctool/original_res/retail_colors.xml index 9dc7a0b..59f7934 100644 --- a/jctool/original_res/retail_colors.xml +++ b/jctool/original_res/retail_colors.xml @@ -9,15 +9,27 @@ + + + + - - - - - - - - + + + + + + + + + + + + - \ No newline at end of file + + + + + \ No newline at end of file From 0f96a098cac0985c570c849303b4d2f9af77ca16 Mon Sep 17 00:00:00 2001 From: mas1850 Date: Sun, 21 Apr 2024 21:14:35 -0400 Subject: [PATCH 2/4] Pastel Pink, Yellow, Purple, and Green [Body+Button] colors added to frmJoyConColorPicker.cs --- jctool/colors.xml | 7 +++ jctool/jc_colorpicker/frmJoyConColorPicker.cs | 32 ++++++----- jctool/jctool.vs2017.vcxproj | 6 +-- jctool/original_res/retail_colors.xml | 54 ++++++++----------- 4 files changed, 51 insertions(+), 48 deletions(-) create mode 100644 jctool/colors.xml diff --git a/jctool/colors.xml b/jctool/colors.xml new file mode 100644 index 0000000..c5d8438 --- /dev/null +++ b/jctool/colors.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/jctool/jc_colorpicker/frmJoyConColorPicker.cs b/jctool/jc_colorpicker/frmJoyConColorPicker.cs index 43fe3b0..48df666 100644 --- a/jctool/jc_colorpicker/frmJoyConColorPicker.cs +++ b/jctool/jc_colorpicker/frmJoyConColorPicker.cs @@ -1289,53 +1289,57 @@ private void InitializeComponent() { // // rbtn_RetailColors17 // - this.rbtn_RetailColors17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(175)))), ((int)(((byte)(175))))); this.rbtn_RetailColors17.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.rbtn_RetailColors17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + //this.rbtn_RetailColors17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.rbtn_RetailColors17.Location = new System.Drawing.Point(4, 7); this.rbtn_RetailColors17.Name = "rbtn_RetailColors17"; this.rbtn_RetailColors17.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors17.TabIndex = 16; this.rbtn_RetailColors17.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors17, "Pastel Pink"); this.rbtn_RetailColors17.UseVisualStyleBackColor = false; this.rbtn_RetailColors17.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors18 // - this.rbtn_RetailColors18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(255)))), ((int)(((byte)(130))))); this.rbtn_RetailColors18.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.rbtn_RetailColors18.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + //this.rbtn_RetailColors18.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.rbtn_RetailColors18.Location = new System.Drawing.Point(42, 7); this.rbtn_RetailColors18.Name = "rbtn_RetailColors18"; this.rbtn_RetailColors18.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors18.TabIndex = 17; this.rbtn_RetailColors18.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors18, "Pastel Yellow"); this.rbtn_RetailColors18.UseVisualStyleBackColor = false; this.rbtn_RetailColors18.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors19 // - this.rbtn_RetailColors19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(203)))), ((int)(((byte)(235))))); this.rbtn_RetailColors19.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.rbtn_RetailColors19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + //this.rbtn_RetailColors19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.rbtn_RetailColors19.Location = new System.Drawing.Point(80, 7); this.rbtn_RetailColors19.Name = "rbtn_RetailColors19"; this.rbtn_RetailColors19.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors19.TabIndex = 18; this.rbtn_RetailColors19.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors19, "Pastel Purple"); this.rbtn_RetailColors19.UseVisualStyleBackColor = false; this.rbtn_RetailColors19.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors20 // - this.rbtn_RetailColors20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(188)))), ((int)(((byte)(255)))), ((int)(((byte)(200))))); this.rbtn_RetailColors20.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.rbtn_RetailColors20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + //this.rbtn_RetailColors20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.rbtn_RetailColors20.Location = new System.Drawing.Point(118, 7); this.rbtn_RetailColors20.Name = "rbtn_RetailColors20"; this.rbtn_RetailColors20.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors20.TabIndex = 19; this.rbtn_RetailColors20.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors20, "Pastel Green"); this.rbtn_RetailColors20.UseVisualStyleBackColor = false; this.rbtn_RetailColors20.Click += new System.EventHandler(this.m_lbl_Preset_Click); // @@ -1393,49 +1397,53 @@ private void InitializeComponent() { // // rbtn_RetailColors25 // - this.rbtn_RetailColors25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(55)))), ((int)(((byte)(45)))), ((int)(((byte)(45))))); this.rbtn_RetailColors25.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rbtn_RetailColors25.Location = new System.Drawing.Point(4, 43); this.rbtn_RetailColors25.Name = "rbtn_RetailColors25"; this.rbtn_RetailColors25.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors25.TabIndex = 24; this.rbtn_RetailColors25.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors25, "Pastel Pink"); this.rbtn_RetailColors25.UseVisualStyleBackColor = false; this.rbtn_RetailColors25.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors26 // - this.rbtn_RetailColors26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(45))))); this.rbtn_RetailColors26.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rbtn_RetailColors26.Location = new System.Drawing.Point(42, 43); this.rbtn_RetailColors26.Name = "rbtn_RetailColors26"; this.rbtn_RetailColors26.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors26.TabIndex = 25; this.rbtn_RetailColors26.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors26, "Pastel Yellow"); this.rbtn_RetailColors26.UseVisualStyleBackColor = false; this.rbtn_RetailColors26.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors27 // - this.rbtn_RetailColors27.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors27.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(55)))), ((int)(((byte)(48)))), ((int)(((byte)(55))))); this.rbtn_RetailColors27.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rbtn_RetailColors27.Location = new System.Drawing.Point(80, 43); this.rbtn_RetailColors27.Name = "rbtn_RetailColors27"; this.rbtn_RetailColors27.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors27.TabIndex = 26; this.rbtn_RetailColors27.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors27, "Pastel Purple"); this.rbtn_RetailColors27.UseVisualStyleBackColor = false; this.rbtn_RetailColors27.Click += new System.EventHandler(this.m_lbl_Preset_Click); // // rbtn_RetailColors28 // - this.rbtn_RetailColors28.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.rbtn_RetailColors28.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(50)))), ((int)(((byte)(45))))); this.rbtn_RetailColors28.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rbtn_RetailColors28.Location = new System.Drawing.Point(118, 43); this.rbtn_RetailColors28.Name = "rbtn_RetailColors28"; this.rbtn_RetailColors28.Size = new System.Drawing.Size(32, 32); this.rbtn_RetailColors28.TabIndex = 27; this.rbtn_RetailColors28.Text = "roundButton16"; + this.toolTip1.SetToolTip(this.rbtn_RetailColors28, "Pastel Green"); this.rbtn_RetailColors28.UseVisualStyleBackColor = false; this.rbtn_RetailColors28.Click += new System.EventHandler(this.m_lbl_Preset_Click); // diff --git a/jctool/jctool.vs2017.vcxproj b/jctool/jctool.vs2017.vcxproj index 94bc2eb..2e797f7 100644 --- a/jctool/jctool.vs2017.vcxproj +++ b/jctool/jctool.vs2017.vcxproj @@ -8,17 +8,17 @@ {DF218734-A810-4FFF-8164-638680773512} - v4.7.1 + v4.7.2 ManagedCProj jctool - 10.0.16299.0 + 10.0 jctool Application false - v141 + v143 true true Unicode diff --git a/jctool/original_res/retail_colors.xml b/jctool/original_res/retail_colors.xml index 59f7934..28cfa66 100644 --- a/jctool/original_res/retail_colors.xml +++ b/jctool/original_res/retail_colors.xml @@ -1,35 +1,23 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 03e5e506f599ef6ee9e5e1795a567ecfff894e33 Mon Sep 17 00:00:00 2001 From: mas1850 Date: Mon, 6 May 2024 23:16:13 -0400 Subject: [PATCH 3/4] Pseudo-3rd-party support and improved documentation/licensing. --- README.md | 9 ++ jctool/FormJoy.h | 25 +++- jctool/Overrides.h | 24 ++++ jctool/RCa30052 | Bin 0 -> 3568 bytes jctool/colors.xml | 24 +++- jctool/dpiawarev2.manifest.xml | 22 ++++ jctool/ir_sensor.h | 24 ++++ jctool/jc_colorpicker/AdobeColors.cs | 24 ++++ jctool/jc_colorpicker/AssemblyInfo.cs | 24 ++++ .../PresetNameDialog.Designer.cs | 26 ++++- jctool/jc_colorpicker/PresetNameDialog.cs | 26 ++++- jctool/jc_colorpicker/RoundButton.cs | 24 ++++ jctool/jc_colorpicker/Util.cs | 24 ++++ jctool/jc_colorpicker/ctrl2DColorBox.cs | 24 ++++ .../jc_colorpicker/ctrlVerticalColorSlider.cs | 24 ++++ jctool/jc_colorpicker/frmJoyConColorPicker.cs | 24 ++++ .../jcColorDialog.vs2017.csproj | 23 +++- jctool/jctool.cpp | 108 +++++++++++++++++- jctool/jctool.h | 24 ++++ jctool/jctool.vs2017.vcxproj | 24 +++- jctool/jctool.vs2017.vcxproj.filters | 24 +++- jctool/luts.h | 24 ++++ jctool/original_res/retail_colors.xml | 24 +++- jctool/spi_pro_000BE478EBD0.bin | Bin 0 -> 524288 bytes 24 files changed, 588 insertions(+), 11 deletions(-) create mode 100644 jctool/RCa30052 create mode 100644 jctool/spi_pro_000BE478EBD0.bin diff --git a/README.md b/README.md index 6e02418..9b6ab14 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,15 @@ ![](http://ctcaer.com/wii/jc6.png) This image is for reference. +## Information + +Joy-Con Toolkit is a downloadable program that allows users to modify the digital appearance of their official Nintendo Switch Joy-Con and Pro Controllers via Bluetooth connection + +Additional features include: IR camera captures, NFC reading, saving custom colors, backing up SPI flash, calibrating analog sticks, and more + +v5.2.0 Abbreviated Change Log: New IR camera settings, accelerometer and gyroscope calibration, new command line options, and bugfixes/optimizations + + ## Prerequisites: **Microsoft Visual C++ 2017 (x86) Redistributable** (All Windows versions) diff --git a/jctool/FormJoy.h b/jctool/FormJoy.h index 5acf86e..701afbd 100644 --- a/jctool/FormJoy.h +++ b/jctool/FormJoy.h @@ -1,5 +1,26 @@ -// Copyright (c) 2018 CTCaer. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ #pragma once #include diff --git a/jctool/Overrides.h b/jctool/Overrides.h index a7c3441..482b357 100644 --- a/jctool/Overrides.h +++ b/jctool/Overrides.h @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + #pragma once namespace Overrides { using namespace System::Windows::Forms; diff --git a/jctool/RCa30052 b/jctool/RCa30052 new file mode 100644 index 0000000000000000000000000000000000000000..1fa1db2195bbc456a2b480960b25136d3cbf8f5d GIT binary patch literal 3568 zcmdUyTTc@~6vxlAiQi#tUnH7J%SGZ_xmY(AFtiX&NJ!IKtwNWuEylzT@9#geD_gb~ z!Iw1?b~FIdjLz+HCU0H3fAfJyVbM8`?oM%Xj4nwKm&K?C`z56>yI z@>iumU&Bj9eYaA2Q4Qf8yxp`9__d3t_bswxJal3Q*5q_-N7lAaKstO6Z5K$J-lhxjbEE4(+sSMp*Pt3UFMuzC+W<&Oj44gT)G&*~TX;r$!v=D$WA z&Y6zo^P)78c2%Nm?Bi^RA08JgvpEx@u$&fWR%>^>{+Mi4T}p@%XU~a=8u4GVwK*}7 zr2fj+v7Hn)BHx@nOZ^x!Zvelhy(Q*C#&yW9Q*v()xfjG_ytr) z(64!kZJ4r(1>EtrrcR z%V*F=S~pae9wMviE7EM=s93R1ReUEsC-#FDIUEBa7IV_Xp(!OI#+=>y zDP`(A;WZdN=)!EGNkQ|Ma5W`4;A763ywo>)%qXJJ{G*9xqXaMqDphnuC6(w^!_;?@Hr{iWgBUHKVM9w`^s2%W(2{73|S;&_JH7is#N! z+bd%6G2NrwahT7X?U^pHY(gkzV7aZ7c3E!y>+GnCxN3I1>#W=SuaZeFr;nsv)o1Fw O>N_S=l)-;fg?|HC54REk literal 0 HcmV?d00001 diff --git a/jctool/colors.xml b/jctool/colors.xml index c5d8438..1641033 100644 --- a/jctool/colors.xml +++ b/jctool/colors.xml @@ -1,4 +1,26 @@ - + + + diff --git a/jctool/dpiawarev2.manifest.xml b/jctool/dpiawarev2.manifest.xml index 78575d6..485a716 100644 --- a/jctool/dpiawarev2.manifest.xml +++ b/jctool/dpiawarev2.manifest.xml @@ -1,3 +1,25 @@ + + diff --git a/jctool/ir_sensor.h b/jctool/ir_sensor.h index b8c5b62..eba6edb 100644 --- a/jctool/ir_sensor.h +++ b/jctool/ir_sensor.h @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + #pragma once // crc-8-ccitt / polynomial 0x07 look up table diff --git a/jctool/jc_colorpicker/AdobeColors.cs b/jctool/jc_colorpicker/AdobeColors.cs index 2d3a725..140014a 100644 --- a/jctool/jc_colorpicker/AdobeColors.cs +++ b/jctool/jc_colorpicker/AdobeColors.cs @@ -18,6 +18,30 @@ /***** *****/ /******************************************************************/ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System.Drawing; namespace jcColor { diff --git a/jctool/jc_colorpicker/AssemblyInfo.cs b/jctool/jc_colorpicker/AssemblyInfo.cs index d343c33..d8e383b 100644 --- a/jctool/jc_colorpicker/AssemblyInfo.cs +++ b/jctool/jc_colorpicker/AssemblyInfo.cs @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System.Reflection; using System.Runtime.CompilerServices; diff --git a/jctool/jc_colorpicker/PresetNameDialog.Designer.cs b/jctool/jc_colorpicker/PresetNameDialog.Designer.cs index 3cd6cec..5ecd1ad 100644 --- a/jctool/jc_colorpicker/PresetNameDialog.Designer.cs +++ b/jctool/jc_colorpicker/PresetNameDialog.Designer.cs @@ -1,4 +1,28 @@ -namespace jcColor +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + +namespace jcColor { partial class PresetNameDialog { diff --git a/jctool/jc_colorpicker/PresetNameDialog.cs b/jctool/jc_colorpicker/PresetNameDialog.cs index 0d68f68..250e60e 100644 --- a/jctool/jc_colorpicker/PresetNameDialog.cs +++ b/jctool/jc_colorpicker/PresetNameDialog.cs @@ -1,4 +1,28 @@ -using System; +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + +using System; using System.Windows.Forms; namespace jcColor diff --git a/jctool/jc_colorpicker/RoundButton.cs b/jctool/jc_colorpicker/RoundButton.cs index 3a453d1..ff1e399 100644 --- a/jctool/jc_colorpicker/RoundButton.cs +++ b/jctool/jc_colorpicker/RoundButton.cs @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System; using System.Windows.Forms; using System.ComponentModel; diff --git a/jctool/jc_colorpicker/Util.cs b/jctool/jc_colorpicker/Util.cs index 3af4aa8..fb2d684 100644 --- a/jctool/jc_colorpicker/Util.cs +++ b/jctool/jc_colorpicker/Util.cs @@ -5,6 +5,30 @@ // Modified by: // CTCaer | Feb 2018. +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System; using System.Collections.Generic; using System.Drawing; diff --git a/jctool/jc_colorpicker/ctrl2DColorBox.cs b/jctool/jc_colorpicker/ctrl2DColorBox.cs index ef09a41..70d3387 100644 --- a/jctool/jc_colorpicker/ctrl2DColorBox.cs +++ b/jctool/jc_colorpicker/ctrl2DColorBox.cs @@ -18,6 +18,30 @@ /***** *****/ /******************************************************************/ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; diff --git a/jctool/jc_colorpicker/ctrlVerticalColorSlider.cs b/jctool/jc_colorpicker/ctrlVerticalColorSlider.cs index 2067dae..bb694c3 100644 --- a/jctool/jc_colorpicker/ctrlVerticalColorSlider.cs +++ b/jctool/jc_colorpicker/ctrlVerticalColorSlider.cs @@ -18,6 +18,30 @@ /***** *****/ /******************************************************************/ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System; using System.Drawing; using System.Windows.Forms; diff --git a/jctool/jc_colorpicker/frmJoyConColorPicker.cs b/jctool/jc_colorpicker/frmJoyConColorPicker.cs index 48df666..f905d73 100644 --- a/jctool/jc_colorpicker/frmJoyConColorPicker.cs +++ b/jctool/jc_colorpicker/frmJoyConColorPicker.cs @@ -19,6 +19,30 @@ /***** *****/ /******************************************************************/ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + using System; using System.Drawing; using System.ComponentModel; diff --git a/jctool/jc_colorpicker/jcColorDialog.vs2017.csproj b/jctool/jc_colorpicker/jcColorDialog.vs2017.csproj index b184db3..462326f 100644 --- a/jctool/jc_colorpicker/jcColorDialog.vs2017.csproj +++ b/jctool/jc_colorpicker/jcColorDialog.vs2017.csproj @@ -1,4 +1,25 @@ - + + Local diff --git a/jctool/jctool.cpp b/jctool/jctool.cpp index 57a2dd8..607bdd2 100644 --- a/jctool/jctool.cpp +++ b/jctool/jctool.cpp @@ -1,10 +1,32 @@ -// Copyright (c) 2018 CTCaer. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ #include #include #include #include +#include // #define NOMINMAX #include @@ -20,6 +42,7 @@ using namespace CppWinFormJoy; #pragma comment(lib, "SetupAPI") bool enable_traffic_dump = false; +bool enable_hid_listings = false; // new line, disable hid listing hid_device *handle; hid_device *handle_l; @@ -2905,6 +2928,41 @@ void usb_device_print(struct hid_device_info *dev) } */ +void output_hid_device_info_list() { + // Enumerate and output the HID devices on the system + hid_device_info* devs, * cur_dev; + devs = hid_enumerate(0x0, 0x0); + cur_dev = devs; + std::wstring dev_info_list; + while (cur_dev) { + std::wstringstream dev_info; + if (cur_dev->product_string || cur_dev->manufacturer_string || cur_dev->serial_number) { + wchar_t* product_string = cur_dev->product_string ? cur_dev->product_string : L"Unknown Product"; + wchar_t* manufacturer_string = cur_dev->manufacturer_string ? cur_dev->manufacturer_string : L"Unknown Manufacturer"; + wchar_t* serial_number = cur_dev->serial_number ? cur_dev->serial_number : L"Unknown Serial Number"; + + dev_info << std::setfill(L'0') << std::hex; + dev_info << L"HID Device: 0x" << std::setw(4) << cur_dev->product_id << L" \"" << product_string << L'"' << L'\n'; + dev_info << L"\tvendor = 0x" << std::setw(4) << cur_dev->vendor_id << L" \"" << manufacturer_string << L'"' << L'\n'; + dev_info << L"\trelease = " << std::dec << cur_dev->release_number << L'\n'; + dev_info << L"\tserial = " << serial_number << std::hex << L'\n'; + dev_info << L"\tusage = 0x" << std::setw(4) << cur_dev->usage << L" page: 0x" << cur_dev->usage_page << L'\n'; + dev_info << L"\n" << cur_dev->path; + + std::wstring dev_info_str = dev_info.str(); + System::String^ dev_info_str_handle = System::String(dev_info_str.c_str(), 0, dev_info_str.length()).ToString(); + + if (MessageBox::Show(dev_info_str_handle, + L"CTCaer's Joy-Con Toolkit - HID Device Info Report", + MessageBoxButtons::OKCancel, MessageBoxIcon::Information) == System::Windows::Forms::DialogResult::Cancel) { + break; + } + } + cur_dev = cur_dev->next; + } + hid_free_enumeration(devs); +} + int test_chamber() { //Add your testing code. @@ -2914,6 +2972,11 @@ int test_chamber() { int device_connection(){ if (check_connection_ok) { + if (enable_hid_listings) { + output_hid_device_info_list(); + enable_hid_listings = false; + } + handle_ok = 0; // Joy-Con (L) if (handle = hid_open(0x57e, 0x2006, nullptr)) { @@ -2926,12 +2989,46 @@ int device_connection(){ return handle_ok; } // Pro Controller + Sleep(1); // adding delay here supposedly makes the handle call work properly if (handle = hid_open(0x57e, 0x2009, nullptr)) { handle_ok = 3; return handle_ok; } // Nothing found else { + // Check for third-party controllers + hid_device_info* devs = hid_enumerate(0x0, 0x0); + hid_device_info* cur_dev = devs; + while (cur_dev) { + std::wstring product_string = cur_dev->product_string ? cur_dev->product_string : L"Unknown Product"; + std::wstring manufacturer_string = cur_dev->manufacturer_string ? cur_dev->manufacturer_string : L"Unknown Manufacturer"; + std::wstring serial_number = cur_dev->serial_number ? cur_dev->serial_number : L"Unknown Serial Number"; + + if (product_string == L"Wireless Gamepad" && manufacturer_string == L"Nintendo" && cur_dev->usage == 0x0005) { + //if (true) { + std::wstring third_party_warning = L"A potential third-party device has been detected:\n\n\t" + + product_string + L" : " + manufacturer_string + L"\n\n" + + L"Editing could be potentially unstable. Would you like to use this device anyways?"; + if (MessageBox::Show(System::String(third_party_warning.c_str(), 0, third_party_warning.length()).ToString(), + L"CTCaer's Joy-Con Toolkit - Third-Party Device Detected", + MessageBoxButtons::YesNo, MessageBoxIcon::Warning) == System::Windows::Forms::DialogResult::Yes) + { + if (handle = hid_open(cur_dev->product_id, cur_dev->vendor_id, cur_dev->serial_number)) { + // Maybe do some more tests here just to double check + hid_free_enumeration(devs); + handle_ok = 3; + return handle_ok; + } + else { + MessageBox::Show(L"Could not obtain the device.\nIt's usage has been aborted.", + L"CTCaer's Joy-Con Toolkit - Third-Party Device Connection Failed", + MessageBoxButtons::OK, MessageBoxIcon::Stop); + } + } + } + cur_dev = cur_dev->next; + } + hid_free_enumeration(devs); return 0; } } @@ -2965,6 +3062,13 @@ int Main(array^ args) { } */ check_connection_ok = true; + + if (args->Length > 0) { + if (args[0] == "-l") { + enable_hid_listings = true; // List all connected HID device information for first connection check + } + } + while (!device_connection()) { if (MessageBox::Show( L"The device is not paired or the device was disconnected!\n\n" + diff --git a/jctool/jctool.h b/jctool/jctool.h index 3d14b7f..c2bb64e 100644 --- a/jctool/jctool.h +++ b/jctool/jctool.h @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + #pragma once #include diff --git a/jctool/jctool.vs2017.vcxproj b/jctool/jctool.vs2017.vcxproj index 2e797f7..5a5e3e4 100644 --- a/jctool/jctool.vs2017.vcxproj +++ b/jctool/jctool.vs2017.vcxproj @@ -1,4 +1,26 @@ - + + + diff --git a/jctool/jctool.vs2017.vcxproj.filters b/jctool/jctool.vs2017.vcxproj.filters index 8dbe63a..6fe1ad2 100644 --- a/jctool/jctool.vs2017.vcxproj.filters +++ b/jctool/jctool.vs2017.vcxproj.filters @@ -1,4 +1,26 @@ - + + + diff --git a/jctool/luts.h b/jctool/luts.h index e1d1615..b0579c6 100644 --- a/jctool/luts.h +++ b/jctool/luts.h @@ -1,3 +1,27 @@ +//***************************************************************************************/ +//MIT License + +//Copyright (c) 2017 CTCaer + +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: + +//The above copyright notice and this permission notice shall be included in all +//copies or substantial portions of the Software. + +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +//SOFTWARE. +//***************************************************************************************/ + #pragma once #include struct lut_amp { diff --git a/jctool/original_res/retail_colors.xml b/jctool/original_res/retail_colors.xml index 28cfa66..de6956a 100644 --- a/jctool/original_res/retail_colors.xml +++ b/jctool/original_res/retail_colors.xml @@ -1,4 +1,26 @@ - + + + diff --git a/jctool/spi_pro_000BE478EBD0.bin b/jctool/spi_pro_000BE478EBD0.bin new file mode 100644 index 0000000000000000000000000000000000000000..289c027373a8932fd8d0334b4793b156293b06ec GIT binary patch literal 524288 zcmeFZd3+RA)&_iUb@dj~q{E^i1gK6}Isv4E%Yfrj>0r?vmH^{|jx$zJw1QiMpsf(; zVALR>K_f=gu|Y<0#!)(e5+NFJ1DAQLfy{u*SU6~aI8JAgs;vDzw*xcte((GJ_kRCX z@~iFc=ehTud(OG%Hg%8$A&VSMzggSIlO+B`8&O-sCkK(Vbn>;uMgDMIB18H9xx;C0 zN;nrG38&%LpM38ZL6Vm(Ib^}JTwm32Y0w#_i3}>9p+aeAAk(SP&d7X6acJh?-Akl& zPtn=V&~p8+J?UO&+>u)lRHUu?J>A61#l1nU&LIzO4DI#?#|Myi7|K+H&d5ALj@~0A zR*TWwqxXo3HF#?G5PWNRjt)ACwcC#x)g&kA5I@9o8f~(VRGW<}DBd$8^`)I! zE_Y^sp`*C8b53TOa&N~F&Ry(~N#a*Vv*DxePVHWcT6%VM=p$nXCn#d7*2YsI@s*aF zD?H>9uaJUZ&ngdjs^3LqgcTJPkz@uylP@M|3rP(S%Go_Qutc(Zh|-j^Tp!<~NPhh{ zNs!{EN)ce7a^=0YlFZ`DJM2MgfaE#kY>C0P)yQewg`&xh9fXX0hp;ODh4w;9P~(Dt zxP){PAvCkJljN2x3do_Et9DzZ*|TrcpXu?YZ!jqFrfo1d5)5oGEb~Y>VzW075;how zT!%YPtb#?eq`rB5Sl+E0s$n`UPDK?}R7-cd=6h?yDLv38b1{NM(w& zq=?G5>HGFgKAkAKXwEQcuv9HgDvey4)EknswEm0e;X;XM{T{SY2rqh2Cc>54yX6@L z}PVVQ#mIVLK+L4W!G$K5@n+W-EM`?JYKv3OG7 zoD`+TQ;AAK$kJp0~(0wg%DbO2_Uu+sH1TF{_zp7dwN;j zTw)Vq(Ug5$qUSyK{a&*1l<|}$@twhP+jrnzYDrxCE}lh}#O{3q&&yC2``(AVmc-l1 zemq$SpIFskd+E4-UH9b@@rcrKeO~v628rA*H|vM@2~xBE0I1hNec!zugNSEIv;JIT znoK;EWvn@TVovXNKRIlbuGK$4a~e;r60M0aN9lR<|`#+jWP2YjUx^w2KgH zVpoGTajGi^?Y1TkcKcG#ydHr3vNf@@$K7a6G^Xx1B|~@*C*6(i-Jt#_iwhYPeA*I! zZ^r#N6(!dV7OC@nH8Vep=dm3b zyRs#F;>|wd&Dcj(+m2AbK~H$xrn^ zf%@-x7uox%z8yViPrT8`dflE_+0O-tvfHywzXRXb&a)HCE_s7hk16 zzt6I7mA+*kOF!&=ZVnZA=`DRVAlaNF5J%$A0Kt(+!<2F)W_B@n9EnZuvU1c_`}|QBy`#YNE?{A2#d_{l0OLUyL=M{Zq7c23-*{w>}B`=L$bn|t^kNO?Q7UV3t z7U>BHCdf}LTAiOB<_%giPih49M{F*F0Up{-ydHJ1cg(T+SvTHXKdbc2e3~`GZO|)T zX{97GnluyP=B#a_=T0JD%^gegoEq1vQIfFRTwzPM?d`a8Y}HG^iO&>2SlZ*!*X#`hksmC2XTjEbTTGY2@x!w1&UR&jXls|nVJ?GTtJT#A<_8ATk*6U)Tl(q=`EIgQ2(jjMfk(E)*@mvGKHBT ziUOAg-Ma&dm=lnl;T=6~?X+hIAzpX<&RJxv`(jJ0$juKI#)6|W6G=KhMB^62EwaMf zjxc6Y89orcWfq1Y!4y%s{ERrKk$bY_L7I5aLOE`?s|*5nEUDKe9kKiMP%jnS46>QX zV_#L?SpKcCaN}|GRD>Jbyq(K!j&eeCX(wPSyXx-JL~>ffPSsBgEwaO&-uzeNB>BWR z8Ns+LbNKnxm?Rj(wOt7dZT`d%DtDxwV=GySbESxFQ1f=1vpH(BgZljr7ikuRaM@pt zZItF(F`QR+eT(AikeGN!sXnENPj5cOr!{N51C5Bx3zzND<*tEv7ve?4DTtGK8;cji zW$3S&d-S;tU;Yr$g zx7xp%%H8@_`)9s`i{EPh+3hHC%Z|W)<7;9MIPS0qso+=^SQeUz8HoCteiF!RJd4s? zdv>tg#f4IcCH%20UUM_MdU7Q9)+j7lUzMnwdJQH-GypK z{sg>_QyuwvYFfTWy&(Srb%ZtyT#NH&$B7WrKkKQ}lf8oUv_85kQ)3|q5ONmOzlGWn z@r-_V(xIiHiIv9XgeBPB^SnOHV1p7v5Y3bU&8|oxxhq#7$AIL~odU5yu(1TBgsO{lOKX>?X2rV?13dHlS zp4Io)(_Efg93eW2)8m2^(<^!cF+tMwHNDi!$A1%`VVZAK={Qzqfy4x%9W4=*aJB{1 zzdFdpWTVRKgAVz6EF@e$iO0~$YXk1xL_zcEtN_g?3JS3D&85LK#h-}y)8r;Ps9Bm# zbITqURwwnm{VN(t>Lc3wecC_YF}xmG>pq1 zqgwMPf-g*nlZoThYmMz=JPA_fk;@eJER#J-Q6iH1X3sL2@p_Mp+3PNox3z8OsYWLL zJ)Z9Qv%aYt)00j($|Lj+d4ddj9!Gf@LW0PGEMp=OS(XL1mZiSgQEXVsIT(dDR*(hS8hmfRm8se_N6+v7TE(kV>3KS3eb|>OUHDgL487nIyQLIT&5m z&}?uMnz*vZl98p^<9>9~oEB zYal#qnolECDe8;_kgZSBB2mzG9)k&ldghumD@A#Y{5Nal?$@~2fE zGMi2%Gv0O)!$!y?#Jz#A5X!k3`K~AsNY@4z*?FsrByV<+gDB(qU%SZXcz%E~=8tfZ zM>FuOb&=&?3FO1^0=e(EE|S=t8O#V|%ng(g;j&S5!u5vFcazhS7-OApR)w7Vn?x_Hg!~rO|2x8wnp5y1aT)dMia4nhpHUXvlQPN%9fjgzb!=a{WEM7u9p5(DLtu62BPj;W$%R;?M^_s2v`@Q*!V+Q*c5@FF%#<3ho z$?k0NouyCQ^FM1p3hEzpqic4#3;$I(%Q8#9&=??_ld1P|0C7`yK}o@^iNSA;HzHZF zfreRBqK(xYVT#Kequ%jxCIfhPjzZ-Fko|XJS@Uwv5lOr;^<8~RH}Sr#4wUvn{3C#b$3y-&IE}1zr;$7H zTs`qkZJ zd=%teO!~aJsudqzd~upAo~QXx73v7HI=CZM##DK6)udo;*Hq#RSNlu8EGT)p ziwHITYre^!<;)%#e%?>M86nN7&&(d5irMHVUuH@r^{C7JI$E;P&wV*uqMA)}Nx_j@ z9`VjVndI#jGMWFTT=Igz$9sos-0O;eD;7SIOEz(TESKC8-LzHzq{pFUYWF5WBAfSj zV0zaOVXJQM@y?(%FX&%(@zRjFLrc@NQvD;t9UP3X&0W6g8w|mn9;lvq+vxVg<2oaY z6`P|usjuj^YD@K@-HxCGVzxu}vemiL8YJNQp_zft!E+c-S~i}n$Gkm*%ZOa+#Rz+2F`#F_HSp(HlYib;Df5 zPmXW`hV&7yBtQC)wsnI)7MkTzMk>$yo$-5vPQ?jXTiAdUu=Ff`v|RIScpdL9yt9JA z=F-LN{TGtf%%z@01{Jf>I8@8!JJs}V(pGCM^sTKQxwG&L$Jx}$nhjx9#=^+j`Vrc~ zS+&NE!pQJuf9By@<0cg$;#g zEEX=lAje&B_K3S6O$7i#ts%Ryn%~d27SSg*aGp$!m87+x9UVi9BRQMv39L!%>xFty zKYO@~)cf7)GsT0|wK*I7KOHOE0E}~K50|JlZWjEpU{2YiQ-fA*0|?HS${zixWlGQq zTgeox*?ime{Bfh2ls&ZdA=>ILghh{J&Y%o}Gn5Q7t{>ryMG!U)GGcCG4969x$$5dA zE*p7Izod^qPJ7U(HEsaodQM-Ne9pKAT=U8JR3W;2T?-r5LsCQdg652%pg5Ike`cKX zu#s{vM#}YWlJD7IRcY&dTIuJ%W&+lZ*7+ITUlP0}Fj1xz6_RR*RBU9jk=h0p*omth zSNgg_P+xq3i;y=SD`^q~dPV(S=ER0bs z?C$>v+tsxyrPHS)ysUeIV%U8uhW-VA0W77R8&^?{z5T_gBJwp|$HeyO?lJ{mLgtKE zPojhL49zUN#&#TO+<$=>0>j0)pIS;gUkuHG9bizrOv#*4>9-$~m1!|?v{M`S)(TbA{fhCrnP&7q?S)*kn6^#5|SVd(A>tF{Gt{}I&wp4V|CskbIGtE>H; z2m$q%U+5w%B5|y`KI-S=0>f685 zFX&y}C`dmpsq**4Uk-*L)0K86M9e`7PESc)X+j%M@~vNeY(zL(_pwpM@!H2mb?SXR zM?KdVO=A?u;FKux@7tQJ-n*OZz40dlG(>W#XG7pV{fBN|*uH2Tr5is$|uy zA(+rN73WDGr*ynRh*iBjv8vqbNqtt=&%NFO7Hcm_xz`MDs2P(}t%S2vzf zZW9*d_=~spP#*Gh4=v()EW>%JNauReJT)+h9Jx?{h2~?}c6jm^wN$^WhkIR+K5zNh zaG(?@9^%JFI!dCe9Qk~F|0*sYW)jc-<;+s&-hJI{f<^QSFfNfe8lKkA8rqW%^u6}j z)A|wPX+3Jp4ScL0?h_hjv&k{$Y29a(AmmWrw1!&amjq_`V;l9adpGJEd*9K89wO|} zr}PULKTx7kAJVwd_g)B;&IUel8SG*#lU3cQzt>Zur}eRUv{4`4OT2pgX?;Y0XG>`J z)Y)uhzk)oi*BfLUQx?XRX^;KB>}h=insk#f5e-<6CgrD^v{65kd|JP%XF}k6`C~oO z$H+JaoBzFC6pi_@4`z&1V`!XDoHeL0OP7;b4I@#;lD<%EqyA8jYj*UWq8wf=(eLYp zRmT^-y+m(>EhyADG(fRhSQNMP>ror^*NoE;gCbC!m_VL>gFt+k^NoWA^7-`w*@x#r zT*gIMnQ-w_QVKe#ACrxFzYwzZJX`@>j!VEIb`y^)P^!DSKi2;a@`uE?=wI~n61&?2 zoAr_XLW3R7e?yI+RrOve8%@RNMe{Y3e_{!(vrJ+sic|7@>)02a!KPGPDaD430#Xd|_Bfbi7 z^}@Ycc~i%SkiL1<;T?QLd02=!(A?ka>-y{(o27!ZLvQF3q!qf-bw_X=c)(Bhv$8(v z^~EeZSUCxidS2D{?>S%QKi>`QzHv50Bq4e~5rhZi2fRwVeyHbEIpHnM)Z>+w>%Z;g z1mS)r^n}ognJLyfd#+WADa-Y{dcQTMRW5{umxow8)I(OnTF9jYq@p_g`}gbg+9XV? zZRxO){Veae-}gW$RYTpm8i>aW>RmaoY%SL(_p)N9OQ}LgWRwsZD#)SffjyA8*643{ z4HUave}kE)izd&Z(gADpX$wEGbb7N*Dg>&V^*vo0n(l3G)UWM>FkBv87fJ<63fRb(L{F z$$v;IFYDllRyNFdC8PAryv(wWnQn}FaC@hXHrqXJjnz1)IjjU4oIzWzqmZ^aP{-Il z2S!j>KBd?^NL{pC|85^4+b4KP9VW(dEP!v7@l4X?N4dz4Phefdg17Tl9;OAW1e-ib zmM|5CYi;7UwPo?d6RkL4&sW#jCp7Q3U4C@?%9HwQ{nSHS=aJJZf1dk#!(;CNS$#G1j*2q^%{o!r`I9bNZH^XHlm( z`YHYTuJdne@%A@DJzwbSdQYv)ilu1+B!}-?yi&XVU)@;^=sjr@(&w)l7#&~ee{Eng z!t@yIMX(!# zOxwKloc>_<+c1{}V<%QlZxEy!{fgup0hT6$G=EH)KrAXN?KyoKxJGFA8zn9&2@}M# zdUhW#y$;I^%XO?bs7I1pz&WhoJumg1Sh+1g^0%yHg7iprK$P|(=9%6tfQqGA*Si`b zQ>{@;MA#Oq@MLReA`d;5wgrp5Ta6Du#9i@8cpH@sd!+9)Zp zXPuiEODepniBV8tO-+mzV_;%@q5rDu^@=7tX)Sb@p7DjYuW(?J6kz&n$MiXRE>*2j zL$VqKg)R}K>X|+)t=JH=iX9@DH-sG<4?=6e|D5WJ8gFd8MR<@2RKn72Z5#P#G;O8Q zFcx{{L5T-4l*&#*yJkZq!03RFD|mCkPw(H<9=vYi?H1Q1KBiO z0%Y$Ok$yX_D6VU6`V{s;_M6&Aqb@bbP>#goO4%#|Ia0#&{B>uVH?l zs-;OJ51mFo*Pp_u{9J#bKiq&8^KHR#OXY_c$?`HG%z)*M^{_VCi6c~NY=lfhp%8V< zs|EFc^}x3CEX3Hs2s(xBrUiCqyu@N}&g_)O@Nq7;%GfA;t`F{I6Cx8bQVp^XQaSG+ zysszjL>PPdM~xTV*i*IB_;Y%)yViJy2n|)nGxG%O#eLMTVy?UVVE-}z4w2NOfN>}_|(Xx7@5w!{~nhodQPkq9dFGA^?%OA$j_(hh*+-12Iv^= zb#U*T|8JLnD{VQ=5qowsEBp4I zfwk%csQ)O>MOH4IyAiXq#Gdj0LA3WA(V@ok^RSaK$+Fu66dPDO=Pxda?h0ZEmbe?#Rm9FW5AgH|wP@^30P~&^ z0DpJWaKMqK9<;MiPDO`NisdpwS)976Mxu5$sX_g|u`aSkqDMc~Z|lPVhIRJq9dx`3 zrm!CF7#B1PQX7^jcLN*v7FAnGyvx;{+6%_T(5^%AuOMPZ{da-UYzE#6`kBrUc~s$a9H;Ak|Cge=QtNkP5$Yr8O?bwP0eP;1gUq*u__}We`fGvfp&#`_hwp0j55*%3BvrY#3yx38r ziLgogA)cj(K`ug(>t~d_8P^G1ZK)cXY#h4tYyD_nV_+BK`F|MiA{Z+2UXZehI7d0; zc~~vsg@s;xC&*xM+>GWy4vS(CMj^7a=~wngpho@!R_V7OuvDQR-wg2Do9EvDlzO(3 z0fJa{pXrNW!C@j%y2@%PI@`0oAerVrgg9()IYNdfymem7sph1n77)q4s0}!xz!ORp|Ywn~t+~)5HoG4IKW}7`|*8 ztZZh3*%e<21Lei;AOL7{7sjZv#eYwHN7p3eUGfdhWt!B}`n%nKUrD8%F;bTm+qyEc za*dy;Yey59J1+dX*7!TQJIH#gslE#D%&a}3+iJO9Q5z7(yb?z`X3FVvHcSUg-vDR&su}oNw;Aq z-bndaTshaLM8G}2Hms6Q*?*5$it2qy9`8Ghzqr@Nw)is+(~5NLuMf^oQ)~1ghED;H zccXXVpAngNum0rwHO47Gx5N0-U7o$RehW;h>5__tlZAc#A7ML;WBA%o|AwC&nVcNt-$%T+x{W^Z>SuAI0!MM z8iLjK@^-B0a6E!mkhZtPKIVT_lr0Ho4_mpJ;~G5C(PPS~{01pl|FL-JlTbt-HYaY>P-sRZtYCHw%mruf`a1rsmslWFwBWDK4 zxlkGnNh=Cw`0K9o%TvHk9)M+~yg={Rv` zt+9cC**f;yZE=VQ=yy^2RDZ4aSnNaN#Sq`NiWjBtA9(G7J07Sq!t*Ni75&4E?DTC2 zpBEGEF1uUI5f(#PrDcnmmTF66Lopsu+D5QNGPW+r7VM|VAgyiHAt+7N%=E47@AzP9 zjUUu6x(I%{@%dgx|tTgQelp3)nWS({Jsql!WlI zQYH`FR{{|utu(uBk&xu>8G(ni7 zAK2%qC{0Afd-Y)NKobTON{8UohC?@WoNL%Xs8g60dbwpU*jQRzuAop>1URcO7YPn> z`}Dp*j6w66KCj%-@@czrdLOqzK;3GWN0}T zM(%$IB(-CUMNq`T7N{3s5fNZ03e6lJ^zFjFj(kvdlm*Jh2FA|1H&M3?(x07c-hZ0p z4b?oeud&;j(`2EfMCR;+nrF#Q?E^cfB6ci~UGyIorODZdEA4DrkhUmI$(ohh8C{kp zmnhlAC2|Blm7-AEX_LjX_Y(2!YIgY?W&U=n+wlnYnB3$}?A&mJAi^x_7~=~(;@d}s zI(^b!l5)ObPBk&#&>0$U}y3gH;dpnhf{yq3r~JBD?QGzrVcH9c%K zyryTG(g&Tn3D%ql;gs%Jrb6;JD!jVCgBDuyv(#}K-Y&LGoDz4YPgbu}3P;VC3zdy> z(Ze)1m{WBBPeHERkrz#kfkrE*@Sd(FHxHHy$F&LclZ=GDk<7%7}eIZ9s# z^93vKYvR>S^E&<4U024u(jomqgnWYS5sb{o ziO`dpq;};I>64B@JQ>d{kB>tqStzM`R!>tsQoa1G;eFe>>PO_10l*6CZZTQg8gK&{iiNebFRDFT;;FSP9#((__+ z&JO*$q%U@Px}0+(oDb(4iP-y^6>EH*{${U@T&PkhS6V1l=~I)`J4F2pc*C zP1a|PJWw-I-HwS#(%53>)I8D`Exhnp%O@Qaw7JwrjSHerpss3Af9b_85_>H6HWV2p z#uC81r8+bqN8fJoOE*eB*k{i6C-!DxNYxm;G>GYE@@w)o!yVmb42hOiER;O(2rgUk zp+TY%J<|1jN?+reA3zntii=WZyJI1Id1E3#`=(FCE}noo=yZ0@BU@#mhx_uC{Dx-@ z59Bu*f7MtN)nsp31Gq(coM;}6InEOiVer!Sw#ySUubIsNsn!%5_0r zzDwTzu$Z&`ek!CX1mn+*(Z|M5OV^VzCPWQZ6RFJ^P(SGs7yPC;?9uS5O%tU*>38&V zc-HE5Jp+Bj$C%S2>ir#uxHW$6xZLqMEsK=ln{t){i#lOewHz4{!Ov;~vQ&ysbAFGc*G=h+O(nA*>H5)uBn6Rl7)Id6wxHbX|<@i0Fs= zr)bY$zH;y!hq=;jRpn}k;?#?{SpRu`KU6)H>e<2G!Rq6BExf{5szWp#BkXbg#co%s ztd)jS1NGULVIPmJjzyp9CmWojNUn%ketC~vP4ke68|XpSTjl+bzThdzQJUIJV#3dV zm0G32FewnHH9ifJmy%kdlx1KnAK-d~NdjL3@d(r4TZ=f@{5ePK8ot)>3bbG-#H4&- zV#Q|v;JC0P5c5Gc*xEHMtnEEt&KxXJ-l$uH7>&G5#L*gId7*utf|1M{^;T3F`Q&p5 zHeMxKrYKsOu$oNZyyN0!tGRrO>aDOPzU)?G!ozHdrQQ+8Ukx;&_bts{=~Gaj`3o1( z3yp;hUZCj!yFf!>lPB6R4Pt_G%KhUP*)(A_=OuA@HEZ7WU4r6kcrFl?Ps*>Y5hVEY z8v*I2?*RtXOyYQa2QS@nhNfL3NzxYvANj&ak5s7HZ5*?(VKdsn%1ygY;?F%19~CO9 zN{_{ehu`>|{*7Vc(%g>>K)VIkXre? zF)Ct#W||F?!=U({HfM(8n4Ch1Kk5+VAesT0&sHatal+%^tH%w85Rit%sD$RtwA9&( zAC6z8To5xJZnEd8&l!*hyem{%N4!01MBipWt$}OfkrVP-Az^{(L9V>e7(J$_gHU({ zb*w=PaGoL*kysmeK`65d;ia#g*a1fr#;2+3dm^%PATKkD$d!9mm#t+s<@sv0 z%sGMC-F4Lo0xOSA*sXunKkdYGMplhcVX489lL!OYrVd7qz)puSbPlPhNSzCCK#XPL z)_LB+M6F)%lSFJl+-eM13F9{#&+!t*SE6`lJcjX?9pFI@Jd-WMV+_Rksn!lt`vb|~ zBa#D)=>V7(P$-mV#e7eI`m@trWa$%Pwr`E)d73+@b-(pe?QG!mzsP63;#(7169_TV z9jaZh)YKUibDcV`k=!x6W)*&J$?%*BJf|1-Q$Y#I;U@br)f>iKr6&V)2CQz8>d=3+ zvg!74AyEuQadNnS4VnrA6Ky~%N!PQ+BK4iD4BQ?&0 zqeq^fTX;_gbANSnVQ?NxQ}DB!vx~V9LO}gLE_V^1KWu3&whWqaV>qqYAF2#*4rdlu zvIOq8OOS~D38k$U+W*i>M2(6HnBsxc(OR`r3A z6O6GTUibuUbr9d0-=nwPu`Df;)7he3Gwd*5SJS}Ar@84`d3Dh>gO2d;P*;<9I&6TN>u}`rz-zt&Tk0`{M)=F?>CT(3BR{~_b6uJu} zQ}0FUSjcM6VPEw&`BnJ`dHjmoSG>BS%J9geV$s!1<%m8&CoBpuH8xjfTD$1E1!HMQ zUqvi^vI|z3=k#)HXjkg5V#f~F17pCMVxO)x{IFue{fAGo^#><}A)0@flKEI|^ZFvv zOtgYdkV20dd7+o}wSAQmy9WcWiBxF-^tAV`u1K>h|1A+vzO|BmYou3hgjBE~w$aFUS7Ps;V6*GYqA1Q& zZ`MzBPg59Q!G=2F&&dD_VH*>{9MDkK=JQ1R6&WjcU!iFHd z1Ahu{#dG@DUS`%NINIO?>04pH8?0`^A|%8Z6e5%)TijdWfS+zAj+;GE%*k*5kPhFD z`7ztS^vN2)#9@(RDm2AKQk?!g_h*Xuc?pxP0<1eiyGgDvcY?McXO;u|{`}aiSw#!+ zc8R6*%+O&o&XDDQ&k|eRnfMwz;|#s+?^#8ynL_CqP~UX5iwvECBr{S;ib~HMA>x^$ zQ0bXC6>}EUGqcgf3K=^xdwtR2BWagkS5I;&Dq2u~y^-ttAbV*WvFJyvt&fre*j5nh zLyd$?+cZAq^vX+5>Jc11w}TUKYSI%Crb5kqQ@^&q)|gAQ`)Z9+61`7j9^JzOJDF+f zQ~k64a@Yp1AT#xwd-*mWZ~d99&{lh8=G7S?3Oq}^i?r3{@bh3sE?<6TV8|?S9jU1` z=D67=)dR_-Cy>LA%ip7avX^h0lPVz^W+lKViV~vXm-S1LcMhn3M})T`SVT_~q+^cz zs)Y^gf9Q^s#g^@jPa;pFUqsB{CaX}9b>)CJ`~&ejqO8> z5dlOydsky;X0rRn*qS9453{%%l+8zm7SXKB=$h zV}3n1fGa<#KZzavDUkQx92exngdR+cK*3&huu{>Y4|62n(h$6&%C z#Mv*-7>125K`B%m#ViLopQD)N=;}-50QJB3V-MF+d_H5MPncYKn0Vi^RRWxsD5Z{5Cx?XJM*s#`S-B3g$w!y6Vy0K>Ad zc3S1B@=pw$l3DVJF_>&$A6~NufI8qu#gjcN;0pN&GjK=Ok0<<2I7=@bPpZLgKZN0o zxgKRq1}bK6d5Rr!$vm?4PWbV<N0-nV<^T$3KsbY@rJO+r6Sl5io?Je6MJeB=STS=Qbvp&+8T~gsaE7Pu zTz>n@`eT^o%rTY1F*O4VTOEAz7s8Z%KJ2RIUD&i_Iv9^15YWo`*9qJ&$wub4&;ML| zU+I~qGUrz$pL|LGNWQ!jOR-})Xq`1$xL&zA-SDR?&ouwg|Gs3$PFodcwm8kRo@RSLjyPI&-Z`V zauZVUSQF;!`?}`qk9Xg!5AV;1$kGf`M)l0YEfKrg?8N^2h0qv3i$jG%ncpQLn~vF} zUz|M9!VaJ{K`k2g2Z4CEv4xN)gQaPz0Pn#a7;Be7SaWlH8&4xUM+aWUFIn`EN(sNY zGCC-OH#$c}aldLOCu9d5h3qJajZ2f$6n31%F^YLu+TmnCm7yg=pa)QyjIzptWKA@~ zpWmAJu6uAW`XoE7@(W%LYcOm@L-@HF&93nne$)BIp>d(JFfXbtR#ffm>ujm3DkKMC zKtG8!yK^m^)hY{9TaSY!oD9*@a|Wkm!RO9OpLB^N?_44!Je&13{Z>-0^11Z&&HB$>jZD@H&vX$&=<{UE zOd=@fumyqx^H1!dy*FnEG;Nu`5nXbx>4%<-=<>PBn$ zbQX>+%yc)>x@`j1rbHmf&wzWy{VX@R$UEanu)N-s6PruQ)N&QoZc(==vQjhCt}TMm zTvlFDDvK@Rh~i8+{gQux`g;Q|GWs9&WO6HTm6ezEi9J8#K+wgrJz-f%GLv(dam^{S z%feB7Hz#F$PhvX%!;lQIdCe(96u<27!80S@h_hcn!M4Vn4;3#`ko-$=)ag(?y+0ks z@k%;an5k#)J#pW^m*(&-t9pb`Lw%`nH8}EQyBDNK`5M4+Ii6K#mR{& z2>%2JdTbillM=CWM|{h@cS~YeKMW#a0viqoBk9Zf z%{czOpr4HIU(8e(0o#a0Wn%&mk}TP9E)Z}m=U)Bkz8sdv+ZPv6N;i&>$WTsL>7@L8 z9p~R|_j@5s+tAO6qIvr4cVE`W_xx82<4=UtfkZ2{5n=dLqT&4%t{i?UIeCtJb_|+9 zz>Z5l1nPfN;vz_LC!BvoIR7jOa>Csu4!Jy7+WAn(5m5r=_@Rjp>{D>c>Y#;={lHi+ zGTm-*z%Abza8JYGbo?{`mD99E2*DZ3P8c)r6cYV766lcK%5Q=W`Bz3&#?8T?BA%H~ zvg9lU3l=u70&e2jU$(!T=J&?kjn^Z8QTrtXc~aiNzk?{t0A10Klo$BQOJ}p=M*dkO zm&4wi5DxF$QO=y`tXgg;Tb``3uXL5&Cmi>c4;)R(RkM_j$6#xU!TV2QZMPr$($Z)FUt+(D3(c_dUK3w7HxWr3bWxZGGP7v zoj&!wYnuYL;);jS43rCBLJmGr{+`bD!{Aj*B_-v&*uHwl;f& z{9@T~oay6cq{%p-sQUJ8)kp91?F-Fh=WIH0MbL$;=e_84*7KCw$Z^Y6{U;Hoq378s zXtGq%(@5LY0GZ|@0o2c$&A484DhVLky?cj2ePrwh9Zt^DxvF?%8b2|lx+mJy-ibI@ zIWedT6Mv)Lp>YL^<0P@n@MtFsMycsvA1J^Ne|$Zmz@yGDn5e#8aD6;iQwx5Ddw&78 z#lHT&U{2hn)&Km->T&AUpCilOzx*2H|3^2~2!3vgj=c)cm%6)KNJ8k+aWCk)RO1ud z`={dm2CVpe;!pjPv?szt3OKb$-=6#)X|C-04)-11-?mub6?ApMVD$k!!v$G!8#Mk5 zOyHp?btEPQN%VDpj=Q(#5YG8Y?orq*8B@SBIp06WMRvd@_MWE+Zk&STZhWgfNh}ze zjAf9YIPxQq8#aDG_^jE%gbp8ea}@|C&-5lepXY8ccpL~K?hOXTWp)1(AspUp2zB6T z$K`bY=-FVTxyRr>$lZ>6x;w*TK?)aQE##D^AMbI9GrFkFR*EWmuj0{_rA7J6g@oAW1RB#1W)l$H#Lp&5Gx<76ClKtk2uhd0;XgLV$ z8&&N%#{E6KWvuyW$B1$OD?dH8tY9w5M(HCG6=1)qiQ_cnU}=K%Xh?$iOLE(Cyg06y==*cYR_V{dHQ4kF zJ%kf^&>uNii_^4uIJDrB4+eKUC5!2!{BB= z_g6Ie@*{I6i^u3#m$rEFB}X2d+;x1qRy27ELOYNDVe-XC-kCh@7&n$qxD4@Q5r6vl z?w>1HPdKvs=XI;wj}&O1O&)Qiee&OqCswTsMn(rhxj5kLKJu);`S@_e4MLoHTx_=p zkNRE6Gidd(BW|R?uVtaeXZ;5dXZJmd-`(NHTD5VS*zU*I$Hy&W!zG)#hLIt8YUruh zZ8>H2o4SUIw8vc(tQX1rkXWyV25B`7YYZ+5T6``I)Q_I;B1q;2pUn)`&kvFO_OB8x z?GM2|4usmf?hdkDoVx-|=!eoo6;NIh6x-Lz4%xTL4(}Rbi?~F;SZ~uD;KfcXMow*0 zS0;H^|83cJXHA04x1dh;zPY+8tk5z(bg=6)W&JKIpu!254|!DO*#m)MF^a|G+r5JA8?tihe^ zoXNAz!4H;VV20GQNk7khgDFX7PFu$^0A!d^0*A$Xt@IXC(07h75Fgq60@zQ^VeY|CFqbe=JuvynK1o%-wSjGwM zEd*)@H-1tH{OQ^pRxlCy|Do(lz?-Pnzt3dv25BkKLV!srkg}NqN)gngDQVK39RxJR zf+>gwL=Cc~fRZX|QPi?&QABWUDpiW0MNvVy_ohIvpeTdOEsOV>LSd$BzTZ1-)%*XR z@A3u0#0dyC=&y-b%>d?E6KRy)Vts|nfMhK+Bl?5a+D%COFs%SgRi_W<1 z%fxG~@g~J7%F~@kB9kr}Vo(Lu*iMT+gyG26DuE;P(gy7V04_6DvCI1ixbK z5Uc?}G-IvC@h}*6^hsu5v5kfg;~J9VDW`+CQ;R985dRvzvD6B+HNC|ye*dZd$m(j1 zJu@d;e7%G5u*J53=}->C@?`b*#{fLWl^>Hfaw_oh{POu`?v74FbWBdL-?rijJu~U- za%>o$BQ}iC5nDdrtawEXK;?n{&5qP84*P{z3kTcJSH!oQdj#y_&6YedvE43y-S&y7 z?^rADl04!kKVHsTTuGF;#9mSRZ162ntS03F=*u8iwzDN9S79~y;JScK_7!-I!~?52h*b% z7zw6}fp9cNgO>^_r0oTSkIAi0mo1-Xqalt1bBfd$NcDLpCbD%1yA9XGGDY*YU64-t zez>e9p++<`Dr(KSBVD5g*aD=<)n~q1N_G_)eyQ4-E}b5cL&_^EsGYIelL;(IFAM{A zo6!?(=Zs4NwkyZ<8>^H?o$%zmZxf~()Y355sj8>a#na5#&!J0Gxdvp#`6F%IfJj$= zu+C#cW==y0Zb3dpgVHz7K*uqsXzSF%Bwi(ic!hxOBP8&>vVd9v46TYrHP+r>QlygE zX-_PJIB4!*5UeE&3pzqXAj39dgxC-rbsJ-mx3O9i&yImYXn2QlJPgz&ee`WC9z^B@ zoDqnqFl;2F0iWjpwKRk(5IVanlp!=IhpG^o+a1?+K>XrUhBO`$hoJ$-1!n;~j^qY? zobg!Skq*jHd?0+J`iH~-z-aZ*DqKd~J$W0|yRN50VXR#hxLVc|rN1;YhV=}_I4sxN zQ#qgIT87o?%Wrz3u*9b`mMqg7k1pG2kz>VhhqM(S1V2 z)ia|~NOTkChSQ+SnmRAtHv7Ta>qnuvqY5TLyVt4nTRfQ~_;gz^!jsvAYJou=syB`&6h+s^uUVk zbT%5R3Os97IUW*2E!2s6Nvn^%(-W=mJ}B5!r{%HaArQE5!&r!BybH6Sv39FN;Z*<> zB-WPd8Z#)?ZS!&=fdh7xk{AK010vlUa9>bRNI!6ThG)gPKS!Jp;`Ef`V9*0Mh^*_;dffRf%^U<+J$~rvs5PTAVt=PH;XYFY%bFDh8lkLNS)dfCgG7w{>9pBx%7AXE z%k0)*_?6HR^(q&eIi82LkBc#Ij3*rdwiZ5Je;GQjKiV)#|IgVm2w-ly>^xd-`r~yj zBNn2JEfCMN8tojvKn%8?6u)aZDgFTZO>Tx^(S?TD2{9BIR0}aqTD4_dyAK@&+r}gJ z@huItRSTf$$Ki@Wn=O?^j{)BeDhhfWH*!TR9>;MV#Ly!CF&U6TC<d3C?e}4p*HzB7n`k2>3ymM0D`)p5)>i8H2usIm`~P&p73yx z;+J@scfBP6PzDJ=dt2|h2pCE^1f~Dm9E|x2TR+?&<!o#U#ud0D`GzgA?ujpaPEunknS!gj-xA-J@N5RC}TaXRtb_VX9$$deiBWbmb{a zzYnlkW&(}kk1uoB3^L2iGC;=l2!(;li*8}5xbaf~yXwPE!^hIE>6am|q2tco;1OlH zE3PV($Fs`ZwT)4X7;Fg{PrFYb6v{IRih7j(*xkU}X+|&0U{xW^(<(^OOdR1N^*{lh zZ&BM1I(-I`fazQxVYeQJwk0*x=wP+;#7bSp0jFceQbVf!Qq{-esun`qg7{H3KZm^* zP?b7*Mh4$@6quJ`PDu!4*z)-Ut)V7W4VO&&$v4pqE&j0B5Pr?+W4k3mLBrI?q7ldp zyB)9Q?aF0-sHUCqAWnVQ$KF7UZRqP3ohoSdhQ)8fZ%98WIM{77ewt{90G#F~;3gcQ z9Y;8Gi<8VCBiwhwVskn0TqsBSo=ef9#sC_xm3=%HC}YLJry(~P2U+X8;y9`DhGCuS zT*WHI{$1j^4n_GBPCeLEnqa32YZR8333WZ86$9OPfOV;bQiCz%u|~@wtPK2}0bH3@ z(7Bb{EdvzW)~EmH6wSU!?`?&>*uF~?I^6i*5mwtTNd6Ma2x)QcYt-x90Vu`j%dr5` zW$c4-Q8m8(S5<&F2`M6Oh2(Ec#a86hje2c%QLCZ;T2^h zZcc4c3QGL64r6fX4 zp=VH)(p#=&vU|TRw_+6){nidvPOAnmON24_7KE!<@i1`>#<0~#xbhSrDqTK%Qk>XK za@dpNJm9xrGK3U)b|9WVgbkNRG==*+x#Y;Cg4Dqd0T?WU>6-=)0gjjn836_Vu{ffo z7e428=;M3DcJK_#fG1g#*R?M7J#r76D!rQbh4hJjDl-FU`88?UqR=#Ru>q*QS( zb_v6h3nS)vj0*?rd3Ju7krhCr%4_UIRwY2E&`DlKYe@!wo~*ad{s8RE;hoEyW;y$O z4QXWRYCPgk?PAUWG+1+>0{UA_#iIA%Dk6BTE0ag-8|6&K)aiuZG5CeWg&h=wI>qXS z-zekS_y5T8IjK9xZ#0a$+?X%qZ?62sQ84~OUgXPc?QH{?X>FZ(5a17Apen#n9%a== zG?uf7GL*goV2u&5!_$>1&Xh{is#aahH>TMSiBCX9ot1grTv=Kvt-WicQ;G}Hq}MG5 zU)6q`ACmg${po3^SaPo2l(-)w_Es*T#%Oor*vB270> zvvLxpG9l+8hqE4#6zDMMn^5|f?}bU77HBBgKeeSI^U>Q6iCbFqp)f;bDAv?%L+w`t z2=uX5t*?L4aYFoD$~V5?I3!9fTb!NoSN;)yVI9SsZm(7KsNall4RsRC_=m)wS`y^r zk1cuf@w*nMIH$uCaEjwQy5j`9;+*V?bG(I>dkeYpgN2mcgB$R!ZP+lkY(u{MAG_^3 zT&Y@qxUADhChZg#w(0}-JA3lF6^p1NV7Q$b8h!Q{NdM6uLGyyazcr;HNb{lN~Bilt(hRV%2%5U0u$^O zlyyrpefuX0p`YJ*YkhOkKvi&^A^(<3r`gE5y1rfgu+N!P_X*(WEyMqGeQN1`X|~=h z*L+@ccg?@wGW&yQx#mX+^z|+3D8ChXG=fUoi*7WQ9#b%tS!YD7RTv!apFhh9e?-CUq7^KtH z=lFg!bRVmV9EFZ(^vvgy6o9Nx0N_c{K$L#G)ES?i@Ob=-{TxutpXD!_nCA!HXl2fa{)+-9m8nWQ=o{;u@VZoyI2r4X-vG{6igSdt47t9dRs5Tu)4^m-4>uO77Z6KOG zOgOqRgUrSen_U>X#lT*6k~q2jGiUnE*tE&lk{*bFHc({5*V<2(}FDNF!c2@ zCgY1uW_4Urg!_axA-Dh*q&2ZAuFBTt&_}IJjSgGw4Q6K7YV?Pi5W2XjGS2xmXXK_&sJH@IHEyYC(#@DX~*-7E2t`M=I;zpcp^3B?* z2@@yOG5)}fmV1+f2W~umuLl1u`Rd?dpk65XegelQ2nxQBu;<1^n{Oge(|Emr?AEFI zXoRIr6A-51HNw_(u1?D<1S$p$*ia00(C?fA#&?QqlT#&Z>N4+ygoRz_MUKHJZu0+U)@F4*JrnQ+GrP`b zI0~d>C_fhA+g-ax6{H9j8MACmc%G|jZN_J!FR9BgyD$R0O1!}C_A|2WR%$y%HF{-2y)^40nj9n1GEox0JITQ1`2`NKqoBMr|Y9&>yMyQo^I0x*zwN{Fb zo#U7d0B@zS#KrhsA}^7w)^bg4ELp%UJpt%Q195KeU2lIH%ibtymlzF{#QePcrrZS1 zD-WQaY>efX$XQ6i7uU%GoEgFV(qE7aTP)YObfet?H$fM3QmRy_@oEQWX{z;ni6aE!tcUUFLW^ET zXrF??6?4X2;`O#z93uwZB|hI87AJ=PDVaH1dVh&yH0F(6*f^uX-^+y_J&cLk6cQ#)K;w$uR;f#pnq41$J%-cjPC`URlosY zQ?yEay$t|x(7a5utP=Mh{s!u--7y)TCNsF-mtVQEUbuQ3?p{EcuPbc#YJxdZ*l$Jn=|d9AsoBQ144}2%xW!oM zB8m5~+Iu$d83*r*O2V?hy;JmeJnc9t{-Yhp8se4q_pgnQ^*gN4sx-zP#s9?E5*HZ{ zhs77eyj?n?BR3Jix3ezok)p*8PhD5Lc$H{?z(VHifU!Z!L@K*wsS+F@s;D;WO7U-> z((W#Yk(T!ycComk*qG`S6D0oQi^Xh+F;$b~w(k&UV@teE{8w{{meun^YSmo*5$PS?Jl*xK>qB z{Fs;vbiK9M?nIy42WuRr)&c)$t-hkzD~^&^JMDm2{4k5T)jR$IjCFF2jaKrsl9Wk&GpWnF|T9N zb~j3&^Z=B4qz=6bz`Z?lUzA=c7zL|oYJz(Zid7P)7K~k2Nx0hPG9NxFw#s@F;IyJ| z{ZhuWeZ9f2TgbBy4|fWfg6{);Ed`5NkV((8ClN2{%U)#8|g82&Of zb}W|XL<8@k+^*nvh?T7hHZ-U=PVuRXTYSv8#T7KhKHO%U@^FlC%fpJso($?PjcTRS zaD5(=xQUt+@q3lW7-{uvg1}noQ!h)2v@Y{Wnld;o;XfBs+d2)D(emVXMP|mpc66Kl z7O@vfpSTqLULV*dPH3JDO}!oB3cNm9em!38QyXKKtBg~Y zlJHum6X-iBr;OeO-k;?=PgU*qE?UW5RT`hJGOlD-nV!3<#{Uo+Sw1KMT(cCoVWyAY+$d{QNRh+m;o&IQ&2i2;RVu*U4|#~fWef( z`EdMNqda2_CCTTSO3Vu-dMOWnSnM1JHObCyJ&jArd$LjmnWU@cLwtMfLy+I!6UU=I zMu$HH`-Kl^8Xd50-68e~2bLD2?^01zjj;@0_J)5&?LgI5uoMd1KsID3*cTn-kd5|S zJ2Cn~c$sWQ7RPlYAZ!1EJ#|#@jT`GM;k0;I#q1S#x2GYzKW7fafZ6Orj0i!Cja4tB z$$mjx)S<6YCNn_`mM57xq+*9h9cp#;50^EQ(Sjzs#j<8N3~{YK(g6|ZKy;gkRNqQ2 zS+|{;?x?%8lB@^RrnEY?#pF)4XD&6_4`%WKlMIRE&m1hg2kZumzq0jald2V^??CA_ zjU~`)C^9JC=H4o{s~eLc*&ES88j$+H3LEiYP40_T=?|DN2)Tnn-Woj@vMOjw>4L%n9t%$03I5bE{q>K)ZOcCoQ8!X;p@4E(e zmE)hRGNV#kAk4ZN^hpM5P)bW>BYs7rpA@U99FDF=Lt{c_I-Z#V8$k@6RXm=!*hVYe z8y@g#)5js$12N0zzNF)hnp9 z^8>0VmcF(sEc(NyM4zq2^IphMxuIYc>+sa*I3X?Z zBT02UhasSbgjTx`u1n-essd-$qI6!)VR+HBer*>M1X!Pyd;d>qu`f{4Z?d6XiTS zZw5z?5E+q&9&#SyQ#*5@Jr(Wd-K4iuw*o8~W;#}PR8sklHgsm}XC%bJjDJj?D7K1I zC56dSXONrPH{pc9I8;m66D#N@Rjedk+1qg4=7|uJbB!yhhS`9Ubj|5o5ek2z7#H@6 zKYX$mav^>t;oad2>qn-k1*j7Yg1V8O-MAZ=$Ps~P7tr2Z87}z0aqV6fG8Qf?DUE;= z!V+kcP#Pb7;yF^$sN-t2v2{A6q&XGUl|rSoFUFGzm8nxoAhR;PSxSxuzX@xAwP;we`FDF zduaLcM?5PQ7IlXgKX^Z%Q~cnPg++9qvGhXugrDLpV&sSi&Kt|Z7*cd>g+sX?XtyrK zK1@^G0yk$2^GC#H2(QAX3Bje=yAX#=`Oq59*94R>5Tro>AV+Y~S9D*ym zyUzz~u*==go@lSkGze21L5Q$?+P<(3fk88#SEKZwK8i6v3du$wSuK)<${D_9B<9U1 z;3#${@Tz!HBIjMIy6`APoy&bn{AbI$Bi-5i9a5B#bu(5`JuwH51jqgb@k_LwsIpt3 zTcdh#IOs{9l!J+ZNP8+i66JskqVyj=29vNrZ){i<`{_F=VAV+L@iEYgIU=Tn!>AI) zHhog*05TIfg(7tv(SkbH_`pr*_Hz!}<;>C|)8gj<_3MYi z$!wY>&5#pS4efU2eaC+YdF;0cDvJaFv8i((;Nn#GR;qFN%*J^gxeH zZ68y?k}$oNjdt{~TihzQ$=d_=_?HceByJz3&#(gge>wy30^rHB0>hj-?*{VugVv(+ z^bokDrUq32rQfqMh9w0^?Qo`eqiyw(LBLgs4WxK`KqGgYOTj}M%gA|j_D-iTJ?vUL zH^e+B#qO&zVZ{xrr{Ea-1Qg)!9WinNTz;cm03MdI!z8u9hD2lVyMdWwd7ErCUxH;b zTFV1qYOgK=&K|1y*Z?@0MC(n%jU6N{Z`fgvnia z{o4YQi}7Z7&N`F@8HJtjbay*(44t(_5cJA2b>%fRXs;e zG*mPixX2X6+1ke2Sb|W|*c<9dbTx*-ol|2R2Nf1vrLss|>9`2_3VQ>AyqA#f1jHkm zVT{5N0FtZ4uAv{|MRq+E#d_fioVKp?qjA;$kMz~J8i<&bPU;`&jJkXsR#)TJKbikz zPPr7#ipG~za;7y9k{YUZU_Ge|WB{p$@nrM_z954M&2>v8Rg?l1#n9PM`sY`{b3`*M zOGEG=*3+Ekdem{$4uyfH+&(`0K%rYa%whMp8MR!iY=)_+MNXpf0i&!TZFJF*=ViO)o%!Da9Yp zv+_5^D^h1MZQ_lv(Y^S(6*-{$Oo$LBxVN;18Yj3`(lO+9K^O`Kcn4ucWR}>ij*0oV zqx7Y#V^|JbRWzP7B*JMNkZdOAnKAWbh&~kLP4Tca!M)yIEN9&edeb7g zn%)6M+oeqwyNs1)?U$>;YBD_D1RURiK|=i66Sf!<<+E1-VQVq;lFzpxv`5h7u7GPf zcwBHN^_yZ_?AG_=uDUoXJT2zZkS4r+TE;RVeJm^Q!_zLuw+8(Wr#?_6`k)_22Gv4O zbzfL!<;J_+F4w-UeueCY-xN=W_qmU1OM9{=VS)8ZdRz}@lsoU5LOuA3TA6-D35i*f zJN*h%kn}9cb=-w(uWbTMIrg2dz97a!CwkNR+{Y4WxJ!7EgrZ>E)P! z@ani;Zc;^5HVL*UTTiDAu(AWhW zF-(#48KC&c|II7y99RzhV~Jb)xj00kBUQ&|;yVXD)hRhWgcLXndZiV9ZtO#Gwxl)5 zUEsG2Ebx(q=38y(0DgukY7p){4d97}PSa7Z)$7CS81Jj9gUuc@^$jLC>!jluY-C)p zcNQ$Y_0LO5L)h@BIu1TiN7(nsZ)J@W6s&P5$D3W5^f_4aXqc9$hpU5{;aHdnVW>WF z_}?DplIi$0rceD5+SU0#?%cWRt2g)+1Nvor?(eT+BffF(c)FK|{uSTZnk*>&LSGD< z#tF72Hm!f;G|vh5^9Fs+7U?xT5KH`#LBRE!0seWemj`Fy!^C>5evNPd9`ClLOLFLJ zeMICGPl-QbP>Ij#j~HO}k!s@E`)JeLVN=_YuwtFO9b4uCC`L=P!ZQ@F}cIL5*eD+0rVL}Nu_75uPZ zYhx@DYugMC>ow1^Zo$_MxESkb2#ddlrBNb=05QqW3212yJ0=nOZ``EF-5Ooc>O7NY9(ob8D?ntIY=rR4i z!z6`%8UeP|P}smHKWZq#%C6D^-74Jr<+Y^MKH$A*lAR;KTME#lq|4}0X`C$5!tk_XanoK8gcr`w~v5dbYO z>XmkdQz(MeB9sD26w1@DpMF!k+Q!Ovh>y28&>5uXVw?_n2#m_%hPW_aya8LAH^t{+ z=&B3s^-yQnhK|)7te_1O_=RtHu+uwo5@XHiIj^ zI>x#;XpJF@l>jtkQ86pJT9)&Iz0gR$iJe4+R6`7c$) z2(HQ6x?2O^N-SN~bZmOOP32>P#>WQCHGE(7bo%db#OtX(=7>%N+Q1>(Jp*eZ|GZwslFO5Xe$1TQ48iBeu$O@dI{4;~^oL8bY!X`B>u157lz??X4TZ(*?`R4^FCJ z4aIatiQ!6o(}a4!x%;M4rYdl(ls0yqZ=9+eQUP{%=iQjU+@_haPyo%iT`^OzHOvMi3WT7hGww6*JeYaE_3cHWEm%RM^Z8t3U+ zk$S2h`md^8;&||brASdXbx4SErb8K`yUwGhqV#D`U`r$M)+LCfA2T>anb41^l;XS2 zL&y6$SC)csv4`jPtPuJg{SD8}8gI7+j- z$erh%MV{C>!c6tTh!d9n;BP_1Q>ww6B7w*Oj&F;m1 zN>S%<8Yrcu9e|<37L=yc;aFiXb{xY|Er^8B!LIc|(10+k3rIknMOvR;rs-Ah%;CL9 zH9Y}qA9Ds!VnFw^<9`qsA2s|E@p1h;xW zIVk0Snk>;K)|W)Y z244~{gNyTL_PD{dRoj&>fwxCVGE`CVr*amNA$4;T%>Fw=H-0K_AmF?&+HMBGpt5d> zXuAjEW-JlQI;hY)#hg~5VS-zJ4)W*E z^c4GA`x4P7-;cu9hf?B@QthfGw8x8wz0Czgcvz0`-x-V#tB{RgJDPXq5^>?DID#21 zW@b4yRQ9klZ*O}o9R1`4mWVgoFG%_=_MB~U0o8R1v>Hw2zkrjXfQ#p8VPLO$YvF&P z0O{>(*9cU+J$P$chfmuIPMcLT0=|rt<-X)fs1>PNV_9vZPx}#gyW{Pl{s@y)tqGB| zl2Df8Z5_(;J2KKTlx12VB~!@15i%r$N60};&cp53Pfd}-FLsy(1<#UUC(gKGL*)0m z+jl`%7uMn^ebiGijO~(QaH+vD8b>YbEpbuAoK!*wUs;BJ)J~aH8@a*UTToMYd5Jg; zS^u$}YP`sBApP6ZR85xl&cbuDMO0W^*|9|YM~B(Iwt*TNH9i52jvAueV6m1P2>#wA zaE0`|3e}|$cyt#tuR>=^3YitadcoYj8vUNEy09hz2o)Q;9V3qq>=exLJS!U@^mpvR zg7+)8%I@tifIHpmd|yYp7#S{fSGfI|e6b^d&~iS&+&qpd7bmc-$*zC*hijBprg$3j z{m^J6@o3m=I}ghiH(-Ds!}if_PZzI3spS>O)G2HcnsEq_yxYZj9awm5h#yIEI2(8? z+r``tHNtZ{3=XiFaF*R+6CZ|kt>;MMADp4&|~FQ`@m zo}=v)I$-{3tv&d8_UCy62CTkq`~YpEDmuDRrPDR4A|e`9k&%t6C;(!k^vx)Jk6@rb zu**gO!)&bk8`nhl(=I>&o3jg{H)W101jEAoO(E8S=BEq4r|<R-)%C3ol8fdjfS zcI#}s|LFyI_kxM;sQcu1-#5bj^nH3^^J0VRo5f>YQA?2e5=wo9+i^{+dUnZR%U;`9 z+X&ZG_~^SJnV$!}#s+_WRT;0k8mUoU-Jk+O)KyLwarKzi7tmf+MC-09R6C`mQ&iHV zdv{99r=awq%`xna$Ep)vlwK=rsx1 zg0(b|_~7(gbIRu}$M$ImxwFqDcHy}QyCr%xdUcM8VI@{(6+YJ~pq)rQ&5 zS&j%VcONq@7T-NYX0kJgUF{wyEC!>RV5;UoCo2)qnB4vs#giSo(A)Q=M*;`@z-Ur% zC8QqSzF6GW&VgTf1f_3y25UVq8Z&l68p=lgSjTV!jmHY4BHzABmb?#5<{7EnLIdJZ z`=t*i<}S9E8%F{{%@3c_rob+^e!_j0(Zn)_y)|_IE}Wy!hw11GKn!teME+uXU#Oz4 z=fecrGaqh|FGalFQGd34Dza&`Zr-)%LC<^4*`S114)mN1j`$Tagg2HO0s01iITWG`gvI$` zl>WzOfixwCnoX4%*pY39>hQNP;Y*unWWS*={qh6P>TrD!L)B2&n$`Y?`Z_bVXLsau z*vghZFomEuapHBE((^thY4;Ugn?`&x073|Xc; zL%Ybe;@Vc;T_6@45Oq#RwLQB`nG+;YEBmTXm2aHs9it+7iFqdSs7eJu!NQ(g9waPPxu$YqclBeXs0kFG2X(2HxYXC}o0>r~$qzDp?=CPO>`^;TeM;)(7W@2oDB{0>rUe5VDl zP;f0x;TA;?;O)IBJ_Q6m*dWUlyb))ePZyxFsUv*MLa>Ja-t;Mo5v4w+>jATbaR1SR~`Y;zi#{1;zvjU=!(+;dRL+y#Acd;J2Px-sE zjjGcJ#U<)UHgN{pE4h@WdlRu_hlwRy3vHscVqr7IEYZY~E#{%;vCa=+F@hkny+@x2 z#^GoVP}A&%run`^;;C>0x#Tb)V+@N7p_oI`T2v61G6s%d!TUCIZ!fm@6BzR*L(K@J z`VjR>W5>JT7|#N)4PhBZur#p+7>@G;7*oh0a|+IdLRI5*juBMrpGW zt2xGJ!go5y8^9fS*tskx!aamOP~B14A$TNoLkZ8x=vpf-MJ!@qR!UV+jh?oAitV~A zgs&|wtL*N)L)`Z{EJ^Gtt@Q#gKvVVXgdSMjY!~---0R?s`z>8V2YT-0RtsceX51_9 z(9616EO}P05<0nSMNTR*n7kVS5kMX;O%Q((=C+e<7rB;#>;(T&ttyzG6}#BlRI)5~ zK_0#r#uZnrCnu|$@|!HnVtv_JypjIN2tL-8m8Ha0R+iHl>q_tue}-ltmAw|0v%kaPY$7DIVT{4g!^2sa=Up7Xy}^Q3 zKrMz^3bhauuE&82Km;*Dt)vh%aVX?~I4%N}gB}E}_=sZ;9I1s#qj=T~8iDgP5Ot+8 z=mB?{(vGOJI(;fIxlsC7Uxe<41>epeI4E9jCO3f)H`~V>cdww`+tcFZ8bw#w8e>xf zZ!ZT!)+fzAodOQXvEdAPEhg7x=-)M7<67g`J|AGq){tyo1z<}hFRbujv8=C-^y(el zaBW@B>@0sjU(f8P@XwM^`j=jU&lFFo_);_V?!!Ecz))Ll=&w|3lR$)>Nj2&L)q)Dp zU#Zrq_U}azz$~o0M=pxGZa%&^IT%7l*xH?W}M@!bD>+#g0X?5vA z>7RKS`+K#0i}(vRHZ@rGpc(6RP*f%#cX92vI>V6VVCd<33||T_Qp)_8HR3*K(m*NQ zZ^3s`qrP>)p3nm!IsSHWKzmqR5!MP}crV{Bo@`eLItV;YgsGDC)my}Opz1adD};Qp zqcv8pB2Ipix{*cMIa-&&!$}{sGcuRsJWyBw2C@eG`mp$RdyP0y{$P4wEnI4#&qJN& zB95~`UxTQl+ykOd)q&4RpNk<*_oqeaHAa_wU|*8Bcr1X7tO5TIpQbFC#YNvsEX6bTS-;c}5h%T1Wsk09Ka%)9lZQ zUxYgcpg~;&kQsMYLhce4bJ_{-0c)_X@nGPY1gA+Jv=UEQ3?_VWa2N&Os(4uDF?edU zFzXcy(|dS$KEK(a#T|qx=pGHj4Antjm29>jhdC{M1}c*uEt-&EX)K{CqO!J(qSel- zZCLB+tNZ07I7TK_xDp)#(S4x%6CJ?DVF?abVS+Q!abDchk>Ko$SUQ*rSqu9*6A-q& zqp!0Muuc%->WlaZTp#=&hT9oYBRo2DF!1qu4{2!hU@FNUh@(_?eVE*Aj99F!G=Lv*mJ=4pW{cJp_9yzQ#BZSjpg&@+RwY{k6QE+u7br$4Pg@H&6e=ELP$xEHh|AB76!OvA z9zgf8x-YFP5Hq1m^StNZia(}?g)Xx3dCR9Z#3|Ji-zX=;vK--!L31* z<;FIp;DS5G=b@iXneP=g;I+}n{AWSnl~!}|QYR6O)g1V&7~qem$ur6XaZEca*Bz0n zYk|g~)R+f2Y-Y0>&r48ki4L0Y02I7(jGbZ9WG_y@iZQ|g9t#g-6p#+_E_~wf|D&N> z1uFQQk>xyVWYPF)I%g+y1NizflS9=t?f~A#u~%$5MC=Sb;@Qk&)+ z)q!~jrU+66+ahjipC4G}j97d^rKu;p?^>0NyW!dy!`_25?j8n~GEh>MILoBl%#j1$ z8=(qrSRCc5T};C1`yB+|ZgEQu_sRDGFC)iLB8EkdanBzyJk>FFjr|$18AXRuE(X-x z_E}Edgb45cz)Wy+wgmj(-_%&Ogw`-HrV=1$PR+&FE9SU$$!R;xB*fK9jlILRpk?wXLH90sTU-pp* ze|raI{Zg9Bc(ejya9zPLrwc@xxO3Eb zVB&_g0ZgM=LK=0Ym|Or_!N3uv&wB+jT)KfQ3~4JeM2)=hJrc#99XgO_RewH+`@Ml- z%Ghrhis+lD?G}EE*wUh9IYB6qK;rvRn+oP8Y^cYu1)dMoY#cf4Ql!?KFcY-4lLq(; z@TW=t^aYaSjj;qskO~&Y1ZaiYLP8K;&-6&8Kj+SnRQ;{;e~J8mRQ~6RDI6PKm(^9` zI_lyI9Y}F$o6z3^h@3|aQKLWo{$l?$h&)4?PH~aUhXyK;HdsT?C%+oQQf`L{Sz2AEyrWWFUsIcs8a$eEOI;s6L--=)uAut-=P4#g*7cUp#hOE3 zrlbY`k;2Q@gZN6(cd&7SCM5xgj9e&zHz@liQ_Lvd(_k^iJGOvvftebMA}v-4z^+9# z4LhuNTD-D@R)kcFCRtEXDYCBPse=^LVt7Z~exxt25c;77^v7gI?|=4Cx0j?dqp<|T zTBQS8d+h4uczz8yw>jIV3h4Q)XS!Z_?Fy6g`+!)3~Hgac4G%9gbg94C46C<9tZdEk)YDFqVD{~bAY*` z{e(;VVEtrAeA)tWdRs!khO=GRujT_*CckO6{)D8jtSwFssZ@S2aI(dsc7h$U4pgQn zPusIjq4dVr;XR-%T~`NZdS~JI4OUbNn4%E!^mx}$fkJ8mcK}q%pFX}$1@R(zttx0C zd>*bmEZ!SdnR)@lH5$GT;g3YY4Ueu%6uRS0LOi7$FFUL>=}sXN70{im+$ZTO{SvF3 zB9sF{7+25;Vw&I2IIwV4V%E4)cf1s#3~@Yr1%g+IgsN5n>mMqsU=*_N?7_>T`Q^F+?DwG9ly0X5k zGwV7_nHUOFDg+#B z+wMi@d%O*)aZDW({1#^GwE(rE>sqAFgu8^ZfT1W!Z$KDIuh|O^aflKrN1^5$ z1?YE}95FU5#vTR7oH(zP8s6dsB>$$Id|ul+gS&VWfZ$5y5kk*#t|uKR#cJs3^QqOWSFsf8n zI1ZYa%w${F^pAHjYQi5b{ZDZMNiC#;QYxvl&60LBsGw1J0Tvo<_jV3wH0WT!j9^1* zrHy5GK%qpnTZ>^WvN1Z+XXmzb2x)){)R_9pxXsFuub&WqISX9wgPv>v)gScI&=h%^ zGeQceR~sjIm~rJ}&5vcnBIE)JufpI56$vbkqXZgPvcs69HWt>pZyUhj|E9rg&j#ci_0};0HAW>~{B6TQ zFS(0S$_bHYQ!gr|UQ!9)IlbHXAzo9dg;F%vAxFJ6_460slKj`4fvc*rE$;{>bn@X-4o$6BC2M%V8vU87=6msQ} zb_=H7_pjwIL+O9o5BYuByAD&@PVsEp1*vj5MTB#wcZ(tPGoMh@r+}eW`C&+Q~MU42hWO z=elSiTg)eOlX4hN*5`nK&$j8{2`fj;Y{?R{060i_XXR6a>zz8dhAEKr&QEC#kN*fW^y0I3!vdrUm*5?u4FBztj~x1 zra-(Ojf}}x%vAt9V^(hADAp$6q50Grq_nv`0nd{80$x$>xV9ix2lN9fP+z$~Z%aye z(d;Qup*XovFW1EjbCB7pAd1ucK2%lz-TqDkD-Seei~oX8Jyx#3o#bW?MZXG80t56! zj`)#;H!3+O#teZ|OCKO@bHp5pir6op=qlo5c`d0tn}Lxm8jGWBGCsys=m?YJ5tKgo zb_~0#$?`tKSMr(vc3Gi^l@!3AF*>eia|6A+fLy%bNiBx1 zNP#x0@Z$vZOx~Rk;K9Zqi*1I`G;Cp5@-cBbJ_yWAnF_3wm&Fb3r0A*|dF^x>m}NAs z7%*X>ZVJQ9;r!%1z%L&8qPo^%=G0+#oS&om*TqYpJ}S;VsIM*p5-lbCx_IH! zA~EArjWf&baB;45m)_-j3as!trOcov=M86i@az*1iJKJQ_LB1{oA|H8EAR=}nn-Mz z@clEi%m4w`0kL`kDoNns^(lpIBRC|V42QHa)^Ma& z^2_I&asHQBD1G&NF`bcF7j_aw{wsD86ob%5u*;*Yzy=;J9^7p3Q+TZs%tt*MX)hOE z@77`a*_qkS_{@#aKYnjCD%lOtwrfguKTQ6AzW#=*?*2>Aqfxey@yCv)-U#pb?;3KpQ}@J=Dw!dI+=<^djhGI!Cgv;`j#W zZBPL85$GytLr+wVUd`@^#cM#T;?(SO&{fccUTQWMbQ;vVx0)>jy$fmptwgm&^i{J> zpd+A(32J5o6@wteW8)Lm>{C#FKQ;Rp^eJd^e-r~02F)<2*&NV(P$6g`XbC6)ssV8W z)NCw1!^DBe7wG*#DE)S@esPOevr(XDK>0>B+XcD-dN>Ki1$_nT{>^VwvO>@aG@`*c zjso2RN(D^--2u7_WCLY_s1;=6m=Br;ngyCm=lIIh3KrtL6x187Knwb7D|i^;f3`n} zC%Q9%BL>6&`u%b1c`H_x|NTqCWuY^MZT)L7O1}jxPz=i9Flk6*g#3T}P05U5B@Ree zK)XRlK>zc{QNVvN@8iT}<`eYM8Wn}%RZMU4LT%^2f1gFY9`{7wy#9*@DvgiLyg!Yf@WF)i+rPPe%EZ$X zr%d{0Qu-Yq-ZAXX7w=?ux$pYNU1KdkK$AJNc|xSU|qo*1z#8ZUeIew+LU=yd{bVZ^5vAvQ=+Gio?0+<`P3Jt zR!{xsRB>wGY2&BOn)cYVm#2L=t$te5v|iIwrx#3raQf!y`=@_3{g>(7jDa(5pD}C3 z!!w?n@%D_bX8b&(V@Bf4aWnI0E}pq@=BqPnW}cq;@0r?J{H)t&O`G+=tS4r@GV7yR z!C9APakCR=r=s-h4gliPIlFMScXrwAH)nq``=7J_JzF)W-<;Grjyd2deqyVLH@yZgSoy>~xz_wKtty!)HGFWlX9w{EUsZtC30bLY%`V6JcO z*17xUemwW@bAOt9W3Fyq|9PY5S?5ikcmKS{=WU+%>b$_b&*%Mf-lcgh^P=YuoNu0= zK7acBh4UYqUpjyL{I};Hng93s7v_iNbN3LyJpB%1g+xDJ*Y)bIV;k$dPq>}*({&vQ z!;^l5<4Hfl@}wW(c+!t>J?W=pk*CoaY;m0GzoasMNA zIo`o2Mhq+R6p-U;YfH;(Z%GyN0CxGAY_kG^?d4B)=o_CV&K7Fd{RCV3!)TwjA_B37Zup=ir1mWZvQEWVE zGQHY}^&0}YaCPT_|DU+w>#uv~zxP7_Pkh_|`6FzDSjM~mH(%dqj~bc`PhT;(|~CN_u_jAe;rytNd!*6fw9sETnbN1BJgf}q%Q)Wxf$9`BXG({ z$mm7jLr`m38G$onkj@CaTw-i}yAjvKkC3(qys7|rx{o{#`FtAkbs zbbXYEGw^y-1YQl;9f9KjkB`7J0ed3wcED*7n8LauFohi&fhlZe1g5Z~A~1!m;dMjT zGj}j>n<@Re{_O+UHjThJqmaA^+z9-x2s|1|-y8}1fQPZ&5&X08^J)a1@dwng2#l!M zzN=vED!Ah+n6(*cAphp8VCz+I+*PpsDmeKnxH0mL66hR_z?A35B5-fO$0IO6taFU~ zr!qQu75>y!@HY|ocK8WKU{nG2Qv}`!_{>%K^AY$f;FSnWX=sVSg8^$17$Eanj5H8j z5`k@iOCzuZcu53K1?-E!sGh7m0+#~zN8mcZl@XZYt%|@6fY(Q0fNWa??hCjyQl{B} zt4u~adI9kI2z&|fk|+b84!DJfWh@?WRRj-^6%rm#FD@T17seJxqu=0t3y}Dg@NcKK zi+Cfj74VV>O!d|mf$f0HBXBZce*~s-tc<`ZfY(Q03GmYqnCNed^c8bNjGI<&WR$W5 zAX${9-)$0lB!8-|-@>9y1LEEn3JYH!`!*I*x*q+nk?i2^kMuvD(Hbf{qeS=>#VDMp#r(q*6{Tr0F%T?a2M)x<95{dvMoH1NXpwO( zUW^RF6$-_~ghDo3dwWbwd%Mln(Ge5V(P6V4KOPfv{J72bx4*^2{OxZx+h?D}#C-Od z&Gz@d$He^o?>5_`kH*A2`l!v;vnOLcd)jQhdNJ0km(8|e17jOD*lf|r{OIT_Pumh< z$0+P-q0=53&!UFKvzXyH&^0_>+;VMCu}5Z4u@A1NNAwiyM)nt<$2Iu6{$j?cLE`XH zgUlmF4>FI!b^Vy(<{PdbZvF!<_t-J!>~Ukv6L3wu;bu$TjW=8JaZS1DX3Nw+$d+li zX51`WX5BKyG8@-z?kUzeSu?G7;F_B~)9TH+(>f2={PA~MOC~I|F2J==UTC{(;!;~F zu0B_s`cK4*nmH$xO-IE`RTY~HEDSwQ+yC8BEJ|1`X)W_o%PklCSanZB! zi>5srUpno@_|oYw#@{vl_4tJ|UXNce^Y!?WnQz9=pY>+^yxH&Ay}0Jy`i}jM+di_- z!FAj1pV?>6`OH2G*Ni*9v`@S9%cQAyewS1*_q(Kg@9CsGT%O|7NfYM%nv{dfJzq__ zxkOFAu_T;4c0o9K^g>IIk+`lkL5OFqNicqPqTW zv~>MdTDty{^(%kZnY;epHh2B~Xzu#k64mvmM0Nd*v2^`ip^~gequP2|)YGC~C+fRI zeYdE;Dxv`ccTCiei+VuRPm21f2(HGYZ#L<*CViVp-(fQRJ#EtKO!_X9zT2d~8o^bW z^z}en^d(XHE{oxBpQw+G*3Ve<9TvUCz=>5+dQ~)>M=-IbUDwMo3f*$~S91BctEF%H z0#nHJGP;||mw%U?OUQj;#Ql!Tzjc>?yIKZt_d^K3=<@Hf^SZ0uD=z=$U;e#tX+Zj2 zrgjsB-$cI}`dxOO&)voLRB~T+i}$LlimfWB!_~<4H9#=^|5N#!bu+I4X?mJYJ<|WC z-2O`$O`sqD)I$34MDr}-&|>;=h<`SR_!n}>XJ%)x;CSd37R~x63!-@r3u6n_woPAR z+~^(qfFTQALNf2tsY9f$7r%w#b*5vC>B3eEd!ALX)fS$n-;?zFFYf=Rw(u@H zYl-SA{p`!7|KjD+zhLev{moHVO6yAbo0pj%NPaZ=(X=S9&4Y+u?8aiv?57w=rY11K<+QRX z%DaaddpVY4L{IlvHb9vPj0Oz6s@?cwYyx*TN!3>7QOYnsuo|RRcIOV}Io}Cvud?fH z%(M+ml=7_rV{l2p^oCbNXNj9?VRtLr5O}PCiS~}LuzQr{z{m#1dTg47Em1y1T4(m+ zp<>*J1-4&N-@zK8FUQ!d^UQ3M;zX!IBUEhVLNnW_oWqXOOal{lvV<@nAk>`(rd#D* zgjoSU3k^(sX^y~-D4T&<-=9-Xs9$Sgixrywq@{6;J>O55hu=l0!5ow5tFo|Cr2~GJ z7<7`fhse)Qz#MgPKixN1lAjCs_A>ZEHilBULvorRvU=rZc&#)7_t=(1WuPL0^#-P= zmS|;D6*rPqIh2R$we3s{8>I{fxfTP{JML$~WC62v828hs@hoA2$hh^xIi~O7gBDhz zEJRsuHYi_{e0>zFRNevQZ3ZT#DhJ$fWiw)b+Q9T1l^ezGS2iQ#3de9d{jE1psC>}b zW%wDe{$|2-N9?Z~7|EO!#U4=p4$3dy#6vkcfT>h&$Ctio_;Fe%QCwdgV(c9QlR7;o zhTWp{MqD+w@K9+CVj|-eE8=6wt0wUdDGFLnvfr|7`9sXwGBN>~_V42E_}pDq;HE6NxoG|r%NZSTn_rV>Fwie1j}FU|_C)`nZWbru-3@!vg9mnS#H!wH)5@S$SuOWq>-Nr-RR8>YzY&TMP z((v<#`Xz*U40Qf!U~X2Ho7o=~8&YV!lZU#cae$2tSK^TyLBo$bj$`fy=CpyyYV1#b zwgGeAz+_t;Hq>_?(sO=3r<1cpBFsPFr~g8Z8GpbGi96+K6hMm+YC`aHGkfDVjPU%2 zPDy4DVTF)-pP z?q`|=%&p26l$UJynLg^DR+g>U;3wa}%s9ZmD-YjQXkccZ{Hw^GS8hhA=>}$2$`Hzp zFX87nwk45=v&XwAg;b_<3_rJS9!!|Uz?2x6+ot23`)p+t;%cnmp>7YL6#lOC1;)CD zW9DRX%pZX%G%$BO-5Jdam4(Q|B?g^4t)syZSN0({$_>oi^I{aMQjQ}xY7C5b3HJIP zP!drSwi=k?`hdt@R;&nh^nM=Kyt=={u+hqTr0`Y4&-_uZ5@sU4^dkdP(jrmmgs6@g zm<54%Y;35~g18P>aXJf+7f?5}6>+r~e(v&oW@hV@JCSB<6!%m5Q<#PW7yOJ}$1#hn zU`BeCIQU63{45?STJfcoh|6VQ?zVc&>|y0`q;RZ(Su%ctnQc>kLF~>AoX$O&+|PsX zbF<-R>70oa>LM`X4a~Av^UP@P{{*I_hKKS6hDEXal*5QU-|(~CQy$HVm65>IZ{mK+ zjMYdZxjNGU)Fb|wZ3SU<8 zfvEw8^H4B#G3^zZ79u%KGpxLRB+(qx|i^-)@g#ou=^+ys=szs+-Q(K&ucI zz;9uKHMU#49m@?&0&fBjx<5FqbTJFaOJK(cLKT`SznPu1V^bB!E)GFtCgH_+tfK6L znIs%O&e$Qaoy>O5Fn;eEkv-QNCw#>uGdSagCX?HOU3v@D;EWV3L*E7$Xruj6`@=%D zeXD(k{W1Gn*x*@c|C4=R*K;SNvXMCcAwrxWh(b(#Zx%PN%Xb5Yy`ui5=L-X$U)2Arq4$p+ za`S*|s?u_d&@9>%4W1-AuK^h5|y-i)9lcM6=)L;lL1X4Rbw?+8^HRW)OlV4*KoGb|LQt!b|HfpfM zY;#sE0XYcL7d%}5j{3LG8R`e^3)POWApLyl&hXP7QvYWfTm@mkCq1#wTshkJ1Pm}l z)r!9N{iMhAec$7GC6e9yxJU3ko-5)Y*E?z;BuNX@#hs7kB{~+U&udjOz0d1>G_SiO zZsY>>C{#QPj?JE5FTK>(*zj}&TBb!K}EU|C&TI7BUMKcY#j zrU8oR%WAW`1&%<`|I~&pIDBNe_{bp9HWF*6g0nE2xO_y}BF`xGq@IuT+B%`bar(ks zahqw|7A;+h*_Xa zlxt0Oje}dSofitlboq$d+-Zl)*BwO#RkC*9!TUTp)6{>31iAgbx9@YygVePh(Q?+s zw9EzSCmri#Km2~!u~s(Y`Cf-bF+=&0OTJ#M?hs_sELkX9lqtZGdqYQ>THCpnr|*>x zoF5Sd#~}5wc2PF%9wOJBDHJR)!NPWplV{7~Hl{odQD7#$s}^=jrPZYp^uZ73(ryoA z30!P@EuL8r<9;A33s0A!xYa8x9-JpYK3bRuvBKqa&l-{Ch0jHfmIoj;4TY^O^y^*DR+=4r#D%P8J{UWKLYiZBA}AY5M3vY$&c*;a-ZKBP%P5=?P5vsa9fC z)iV&5juTBx@7@&c5TzOF4h)2#Wfq{8fDDZ_g9)^K^ z?qtU})kF4{3O3f$iM?u=kLgwU?aw_*zWup-Qqqn`&U|dofXaFg%Hq?GUvWs04YtUZ zKSlqkQ9GF>K|{|d^&g#IYA1#7wYukp(zw!p{>)NG$aNDx(oRh^D}(g!wat5DVbk|1 zjX?v<`o{#wB^D?#R?!uYI$s$GH*eHZ-J0|3o!@zGRrhNTL9yaP+Jo6?X(jo34d-; zRL<*F(rakPBjqiR7G!jhWe#Ou+<@;ym2@Ia5oM^q!}9a z8t27vUmtK6h?~RL5sl8}2rfGe891R|e}=k`yIOe4UgvNO_qm(<6d_@JC5~rdoUm#V zDL*xH|BrJ&sPiV13lhX-FfWd?KmyK;&QNjc18HDo5P3(usP%|1+5x$5bq#lEoM+)K z<&k(&@!gKV(BKU9?%#!k9t%zf3K9_Zj^DY>#2ZniyeQ;wg5z(^0@4@HaWZncE3Ix0 zNAVQgz^OFOi{dn|<0*iQI==L_NDiiRYGzI)H4+QO-!Bpi!M!xm!Se>OCvrRvngJin zVIxPQB5-ecx{4iMq?Sr+y4uF!SPuUNc#eD(5C$t-(O~)*3#4{?l>E|T0 zLuHvO$XE~bD|V}s#fe5gL#BlDmaQI^1Fib5{B+icDZ}OWqI4Du|M`pNONC|2U;t!k zdD*fhOBR%YSpa`}Tf2Vl(kQfxYgXzWS+nNvt2X<>o_+W3D>wUEs`stL34#3bRV^zA zY3uVxt&+8>{OF6D2EPdZ8?+}dXisZ9?CbDt&@$W`v>~{Lx^MCc(oFTO&@Y}SA6=-i z_VXT7I%;@QbimPabZR4@n0hjHq&%91ceUBj2T~={=`xn?3YafR<$@&nzR#WKD^NBt z57cm@k@*CuQWr$jQ#M_7=*(&4a|$3MmwV~OtEJVj*nA-_>SNDxwWZUY5{0vKF%I0Xc^{Z_oub^BOChF)-@*I8 zxLpdLyZKV@x4RU;q^aTd12DPQnaKv%RGBX&l@}-;@h`=Li<`ZF@!nN@mv^vty*Apn z3ohg2H$1b|d0~%}IbH*FM|cFFR{_lqXI+fXOvaluo?>%f+|Yy4_afZ#!UXLCG=W3U z19Ed{C!iY<@>_}MP{>hXvoan=LhpdN$frCr)gPeqNr&c#Cv$gr-qVhmpTMXoD9B}; zC&5$5!sy79Dz>DIJ0*Hv1ReGD(5F=_AFKB7e8gk%rOS`x;VkiF z*zsu^?%SM4R(MU$4BsX|V$*W?8175(x*%pPLQTqb>fkmPWYuw4dx=omq*Y0D>OkP8 zGIePFydSfvf|fdWhWbT#4WyR!bk-E@Tbqq!N)!@kl^qBkF_{?;KlsohUkU17q| z8CMZydg5?+e+tXMH{_Jey_#_GUakI4x|9w`m&7k?AmyLZnbNEO?ACc=C&Jw?;G95!nbDG?ISWsB1^ z$-7JI?uC6D%c{~{S`XiwxcBl-(;UDL0KS^z9UPwuyc4*!rd`?)@15{D%==U+3l0wM z(yqX(EYDh*W)we`I13NR}-oLZ1pQ!W-iOQM|w@~L3l?5F;{n_YO zZ0INAaMeSGt%>B=pzQuArsLF~ke#h#J)N*I;AFFVIa!Gvs+tm=tgO3}wV~n;_`t#b zjf?D!Ey=l#DG#KvoGG_XqrPgw#H_-8coyYm6;7C3;Bf$^d6FH^WL$R88->dXI15Vo z>wMd_nj|Poo#{TC1v44O`?!X1o+Ul8bVwlUw<;kw#T0y8i|;Np2o7sb)TKW6*7;ne zL0koA?UJ;dKi%HtqS69&QdN>;wKYdt{)kU zl#Xy7Uo5^sHf>W9OaC>%9P0s%z*k^-rk!ri z-2W)PGBfg(y|7B~>W^qWuy`xiU(Qk4m6W@W#A z5#vA&QWY0T)$#UQcx+L-MdckBNlM1iTfIyWo4OmXMl6xu1mjapZff_4XrI@)~OYd0xlyugcT^gS`G0Usceu|6c0LsaDNxzwURn z>NP0-Gs^i&ToZm5SB7ll-5tog{~lL{OgWhRKgN~bKJs^Qt?G1N9G8@t+wH zVtijGyNLcLsYY-ZWg%ciYvjy0-_< zx-lhjv)fawLsVG5+XhYfFb+f-Qwsis@@7&u`FkyYUvljNRf687fOb@pU<7KyLA2!3 z+`DU_(}797_*#<2NWx&26XQC_ON74{HvDqwHfT>0l&^JaY1_4Z;(>GAN9gZe` z$9uux-3SdO!lW^1oA!ad&%w@rZPQ+{3pk`^&G}pNc5S~{e@MZo=V^EfEo3&h6SrcV z{1sHTr)LDVYj28~dyQV_EP5S#DC^<@sdLw%&(yJU=d9^40uGYNI8 z2CBi9h%?l`wEwsSxs~XS*_3??G*H$gMW+jaW3F*u9mKb>^o}Nb>AF(8ykjEe`9>Jc zrW8hFmbqTruvJw4t<~pR8wf|=q5N(h_DCDjm+XwpzHr7J&Dht{IhmVk?Ke^WX9 zFxQ$u8v5TD3%on7vF2IR>%AA&f6rf44PeOpR;prA?B&E zZHc}c$HzQoJ(p#&{dsSj*m&1?+n@HfnKNVmeB=1o$40`PJq0Bj!j0qEV-0PhPk8Fa z@d6;TU3{v~cyY_*pfy4*E#^fjb*aW2-7cir&d8WEiq>;$qnTubeyk!*%A9+4U8U&@(*@C#jkj45 zjQGV$f>EE9)4=?1bX>^ER5l4G!9#AX>I9vHTgkh4Clbf>Xl43tL2bDq^j5 zc{;J(Y>7z6$+pTzk%!vb8qu zT)v1y!spfsWIci9#T#W+6__A?jZ*TNf;%P%|D^Jos!1H1br}mNQfmJ`5qCj|i&ONt z!xu~mCr{Kz)1gLo?r|G~BCGGU^XsT4h9+Sx?7dTS_$=pSG5%b2T#n}S(fZ&U&Fq^C zh2~b@pS>3*-2orxWpaxN5z)s*Sq?iv{Q5crX>>1qBZ)zvpJ z0$QM>gV%v0b_+OT)W;Tt?tr3Jy|uahR{s1;`wafPr+q4ahC`G2^Nmn$aJKp$G}hC- zKG)-{_Ym)uIcBMiku~%z^-!4B=ljCOsFvKc%X7++wPNJz_g9qFNEz%a$tjjg&I|n# zGiRwwXtJG`9tDh85wcpI({3WIw)ZE~4(F|*W#K1Q6-pqANOZb&-+D1SRw6wi~eUl)1^{q$L!R>nM zg+uUz6+l}+z^rs*Qt^@+C|Dt?-*x_{*%%Yg!5;JbFq-v1OEc&k2h;{To!=cI<#n~% zZ01f`k2{sx7VH<$NJ?`R&%p_(ADHih2W{dS-$trwlrrurHPC3cn~!!zYP$s-h}+gQ z`QSEfKFd5PmF`@^oB^#aQ^NSXO*_TN_?Z`DA6jSeJhdS#;kY+!nDFhP1?pOafbP)C z@5`VmODkZ5paf*#*O{;)Q%{y;aMjhztoFelwrO9pF!UztSn;JpTV}?=C(&Mn453MM z+I%npVHcrJnp6*&V4J)<#xb%;8wX=vHW>55QRE^d9Wqt zxjf3@nvpcq8mZZ(E#xoB;)-uV?jdDHtrp}bc)CqZJCJSx=|-IbKYmJp(q0>?Jw(rc zxBCuteS_zaycczikx~7$@wZC{kEpk|SsOMW{cJ~x`U_NOKG0JB zI+-IQek()!tmo|$>y!2p^`kJQndZpEHD%zy4L%s&Z+*k}_eak7*a-Fg&M?+C`rK$a z{@JZ^{hl52I*cmMwc)rmEXQU6K0?|*1mOvAMq;9|)~f+u(C8iBz91$@fwe!-v%QJ- zFpkPwp;yS_%z_y&|4@P>;6;x0rB^fs{#yo#+C2Uzj$0^Kd`)7ARUk1^w4z2ti> zSSRdw`GVJ0o!zZzEX`^gO8pFm9XDx${Ye;p+LHZgU=x%{xnN%DL+BgK#JI@(iLPbP zI#{4Y#R?dgOs@F>yX(!Sg~24(-lo@r>HzF`)jozDEXy}J(0Mk^I=R{v(&+A6(Ub{)z-A?A`MCC*~(PXX{0x?*xY|<=tC76aiL*m2r!bN;CQYbkd zg8}s=wC+7qLG>tC^7%e(_CWi4)CC(eD?<20P(lqNYU2ZxvM|y(gr~6+&>)`1t5bJ6 z)S7oGk{)mSJI&d_+k$h0zad8jm^hj!6OCUGGN%0oK<5FOd1`kwfFBE!x2J(Q8oHX| zk1zhf%Q zwnp3D+(Yv_i<7A9trGV2hr?9&RQ}dSTQ8TcwjO+GwWGm1VO-NotFtDIX~J%s?;+SQ z!ag}>QV4C`K6p3GjM03d9;w(6+6c99FM+E!QQoMTtB9JBrW}0bzOo+3`Tb&TB*Y5{ zu{89&hkQl*&s z9?MnQISh5O3|w?knx@u;j2)0^>QjJd2V|Q1ICv=!V%3d(Cg(Ku(GVME37o|4>h)?t z8^da^N+b?NxL~84wZsgIFrItxwXrZ_YNfGUT+OzQTz&HAq*)^DbXrTZ@3w+tapq7? z@Br4=2hn5TWAR_s*LwtIbX&>g^>r8~wyx}R%u>Il z^)=t;n1%fMvW<9SGXOPlh;YXV3dRPRqY!T&wvCpPgGNj={~-O6%<+C{CQ|tCCDB3Z zd9Ul}eK6P4=wGkRVNxkW4d|L*c$X0Wj{|eH253Q9@+_+s!HQ5hRO&Z@JC@I8m zO{6^)^EqZanB9x}UWQ({K0BHFg+&$RxMs(_Pe*J}P)r?G+`D%Wk0!N4go0WzVHW%! z$exaTKPeo@E`%v(e=Usx(2&)Xiai+G^Aa!?j#k%kj)t&%mO7wqu8djRp6Tk1?SkCb zBNXe7YM+rx(#bs*CAd`Et~pJmn04KRx4X0lHRlRSzjRPgK8L1GLHUt$V0#Ctzo5Q? z<`rGMdRiZLtruzSxEXy58Lp!>K3i`GwvPd#7&^|9X;~jQ+nmV;jfWk(qllg5-DeDv!wIdUwlz`sX z-gF-QOld_K`B}yiQX+ZBZBh1armE?f1+s{hc+ zO(?{e@DAS{8l(QC8@of()IOYB@ekCLdX4xNw5E9lJKn5}IZgn6LHj({fxV@XKO8_A zSpx?yL_wS8feXE4bcf-L8Lc;xl9zPi6VUN@VrhKeZO-OE! zMjZ%;ps-Mh=jG79{eb6A8Qi)0w;+YY>d#+VrR~QUP5RZD)9RR}zOOMQzLQ36$~7}` z&B&`aHBk{eUcqjfsI2aIIX6>!xxnh9oyD7rUo0L}eA@e>cVY2D?;tPjDPp9>3_x%F ztuyN4CZ1cb`+oI3sAYH`#E#R0+E8y-eht!S4YLFJ;LwKq#$wKHj?68j#2U2Uq2d@7 zy1n^M+cb3r_QnmIq;KXU0uG}F?+a{0D>G(7!9$c623*hK`s^$DawE@|nh@nn8PAus zoQt_NbnenceFf^#m7Mqka$+NDMnj|qUCE0~AJM5^la4kjF|tNpq&D-F;6&`L-mhclV&1%FrhE{_N(kj8 zN#`%+Xhxf%JnhP<-3PDal>Z>D)4UB->yiW1-mxazlYg-=bGmv>+hKJ|$F;doV-9X= ziCWr0_aPmm#j^yZ;YJDF8vYg5UgBgo`i=z}aYIXyQbBismwlhwuOsD18cdob`bMao z;98sIpEAwPOh**_4AQ+zGGuDcyD~{u2(l4SMNL*2P73jI)aq>*8Az*eSE{9h;xI7) zV+ej}uOrwE{RnhMU*4;u{)N^rw2q-ZhWJdh#-YB1);qM8Nx{`Me<7X}gTApY^~WRB z=(j0$jp(EIT7j`iP}a3wnw;(z!NDavG7z9buTZ28!|pz{jUv^h8?Gj}3Qh|+pG9ha zeY(1jxTX_WY6fIUC`1P2E;8f<4yPe>6#AngH3rzeGRce-seN>p`eK-BNJ5yn=9D80 zV$~#rB{=lfNgbkcOXvi&Fq_d1_lKA=w*9jyBmP_3z7Kb$?VsTh;K-wI<0&U8ks>t^ zZj5}NiGN@BHWweUTo|#s9+{a3vUx2~@`csbr@ z0U5D90m%5$ZSdLkrMto|bp$9)wwt|%R8b$9sPEv^NY186g^5B=nc&T^8t8Ki$lDV2 z?!&YjN<4sS@q2CjR`exSlK3(dG){(YIyct4+q88e@h;cnX>o}s@LU@kEQIdhSgdcz z`k0NIFp%-Ky1D%;?De_Ee}cQ0 z?;^$r-1m@5$cUkBw48No;aY|H%v##{6rAH=5U5D)6;21&ToPvn$%h#nkLo1yM`_HK zyHZJ*;w3TQphR;?6ZE3Y>HE>=^_>DIq%!Ffi{%UVZ%iyo!A=&+@q8z+VwJ@Tqh0I7 zIEUdzCHy^iaYtN)hzo`JoV!3Wn1`V`nGuR+W<}};a9t-h!Xm;kv}}oF8YYfW7auNY z2`yKfNzt@fhCv%};}g*$N2&8+jXmynYe5OR9ci7GD0jAc-!Tl_1b8ogdk0BN6sd28 z&+N4g6oNRX&~Z=y_RqU&$Ag`a`RFkCGsbR2_C@=0qqk4*V9GLB^*WtclYLD2H&|?tPob;}d zZ|)`Tdp_J_^stB9qld*|9!~or=$l3Ao2RLhd8;_A-jBZA&C_c`dbb|JylANv5+)s4 zt0!YcJ%}V;gr=if>AaI#saUm#DSyM7siy2e_I;QQ8knQ)>+wxY`Ad5#{|+uQ=rnq( zw>pSIOn@oRwj29>sU}y0BgmY;Vx-y8-h%tX?Z+bFXeQOYiFV#nO;^U4Ld<5F@@<%b z2LQe8%7D3!b=BHvSG@fLt!KL`EJ=frc7zS zd9rkQ_cD{y=#5ekPzvUzap1_D7rER$N%0F=Ira)_4O{e5PPTp>TVU%TGFE-wu6YVt z8cP_;GnUI>k_2Rt`VF+aI%N}wzvQri574)ynj91(`8#/Zz%`D^*_DIB_r!v3o$ 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

;p>wpZ2~zK8hmyw|b^0 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 z0geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$z!BgGa0EC490861M}Q;1 z5#R`L1ULd50geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$z!BgGa0EC4 z90861M}Q;15#R`L1ULd50geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$ zz!BgGa0EC490861M}Q;15#R`L1ULd50geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A z0vrL307rl$z!BgGa0EC490861M}Q;15#R`L1ULd50geDifFr;W;0SO8I0762jsQo1 zBft^h2yg^A0vrL307rl$z!BgGa0EC490861M}Q;15#R`L1ULd50geDifFr;W;0SO8 zI0762jsQo1Bft^h2yg^A0vrL307rl$z!BgGa0EC490861M}Q;15#R`L1ULd50geDi zfFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$z!BgGa0EC490861M}Q;15#R`L z1ULd50geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$z!BgGa0EC490861 zM}Q;15#R`L1ULd50geDifFr;W;0SO8I0762jsQo1Bft^h2yg^A0vrL307rl$z!BgG Oa0EC49D)DQ2>fqAz~m+X literal 0 HcmV?d00001 From 7325dafe6d21bebbd3e760eaacc4ad1a28685e4a Mon Sep 17 00:00:00 2001 From: mas1850 Date: Mon, 6 May 2024 23:23:49 -0400 Subject: [PATCH 4/4] Further improved readme changelog --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b6ab14..230b94d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,26 @@ Joy-Con Toolkit is a downloadable program that allows users to modify the digita Additional features include: IR camera captures, NFC reading, saving custom colors, backing up SPI flash, calibrating analog sticks, and more -v5.2.0 Abbreviated Change Log: New IR camera settings, accelerometer and gyroscope calibration, new command line options, and bugfixes/optimizations +## v5.2.0 Changelog + +Near Infrared Camera: +* Add live configuration when streaming +* Add many new IR settings (de-noise, led intensity, strobe lights, etc) +* Change custom IR sensor registers +* Auto exposure mode (This is done manually, so it's experimental. Expect bugs). + +User Calibration Editing: +* Add Accelerometer/Gyroscope user calibration editing +* Add Stick device factory parameters editing. Helps when you have drifting issues, that can't be fixed by calibrating the stick. Just raise the deadzone value. + +Debugging / Troubleshooting: +* Add 2 command line options: +* -d: Dumps the communication packets into a log text file +* -f: Forces the app to not check for connection again. Helps in some cases that the app reports that the controller was disconnected. + +Others: +* Organize the IR/Playground/Calibration panels a little better +* Many bugfixes and optimizationsbugfixes/optimizations ## Prerequisites: