diff --git a/π–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ /π–£ βšͺα”“α”•βšͺβ“„βšͺα΄₯βšͺα—±α—΄βšͺᑐᑕβšͺβ“„βšͺИNβšͺκ–΄βšͺ옷βšͺα΄₯βšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺα΄₯βšͺ옷βšͺκ–΄βšͺИNβšͺβ“„βšͺᑐᑕβšͺα—±α—΄βšͺα΄₯βšͺβ“„βšͺα”“α”•βšͺπ–£ /π–£ βšͺα΄₯βšͺα—±α—΄βšͺί¦βšͺβ“„βšͺ옷βšͺα”“α”•βšͺα—©βšͺα΄₯βšͺᕀᕦβšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺᕀᕦβšͺα΄₯βšͺα—©βšͺα”“α”•βšͺ옷βšͺβ“„βšͺί¦βšͺα—±α—΄βšͺα΄₯βšͺπ–£ /XHꓨ..βšͺα—©βšͺᑐᑕβšͺκ–΄βšͺ✀βšͺα—©βšͺᙏβšͺα—±α—΄βšͺ옷βšͺ✀βšͺα—©βšͺᙏβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺᙏβšͺα—©βšͺ✀βšͺ옷βšͺα—±α—΄βšͺᙏβšͺα—©βšͺ✀βšͺκ–΄βšͺᑐᑕβšͺα—©βšͺ..GHX b/π–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ /π–£ βšͺα”“α”•βšͺβ“„βšͺα΄₯βšͺα—±α—΄βšͺᑐᑕβšͺβ“„βšͺИNβšͺκ–΄βšͺ옷βšͺα΄₯βšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺα΄₯βšͺ옷βšͺκ–΄βšͺИNβšͺβ“„βšͺᑐᑕβšͺα—±α—΄βšͺα΄₯βšͺβ“„βšͺα”“α”•βšͺπ–£ /π–£ βšͺα΄₯βšͺα—±α—΄βšͺί¦βšͺβ“„βšͺ옷βšͺα”“α”•βšͺα—©βšͺα΄₯βšͺᕀᕦβšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺᕀᕦβšͺα΄₯βšͺα—©βšͺα”“α”•βšͺ옷βšͺβ“„βšͺί¦βšͺα—±α—΄βšͺα΄₯βšͺπ–£ /XHꓨ..βšͺα—©βšͺᑐᑕβšͺκ–΄βšͺ✀βšͺα—©βšͺᙏβšͺα—±α—΄βšͺ옷βšͺ✀βšͺα—©βšͺᙏβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺᙏβšͺα—©βšͺ✀βšͺ옷βšͺα—±α—΄βšͺᙏβšͺα—©βšͺ✀βšͺκ–΄βšͺᑐᑕβšͺα—©βšͺ..GHX new file mode 100644 index 00000000..480ab5f8 --- /dev/null +++ b/π–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺẎβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᗝβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ∣βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα”“α”•βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺκ—³βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—―βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα΄₯βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ /π–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺπ–‘Όβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ𖣓βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺ✀βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺβ“„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺᙏβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—±α—΄βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺί¦βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺНβšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺα—©βšͺπ”—’βšͺπ–£ βšͺπ”—’βšͺΠ­Π„βšͺπ”—’βšͺπ–£ /π–£ βšͺα”“α”•βšͺβ“„βšͺα΄₯βšͺα—±α—΄βšͺᑐᑕβšͺβ“„βšͺИNβšͺκ–΄βšͺ옷βšͺα΄₯βšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺα΄₯βšͺ옷βšͺκ–΄βšͺИNβšͺβ“„βšͺᑐᑕβšͺα—±α—΄βšͺα΄₯βšͺβ“„βšͺα”“α”•βšͺπ–£ /π–£ βšͺα΄₯βšͺα—±α—΄βšͺί¦βšͺβ“„βšͺ옷βšͺα”“α”•βšͺα—©βšͺα΄₯βšͺᕀᕦβšͺ𖣓βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺπ–‘Όβšͺ𖣓βšͺᕀᕦβšͺα΄₯βšͺα—©βšͺα”“α”•βšͺ옷βšͺβ“„βšͺί¦βšͺα—±α—΄βšͺα΄₯βšͺπ–£ /XHꓨ..βšͺα—©βšͺᑐᑕβšͺκ–΄βšͺ✀βšͺα—©βšͺᙏβšͺα—±α—΄βšͺ옷βšͺ✀βšͺα—©βšͺᙏβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺᙏβšͺα—©βšͺ✀βšͺ옷βšͺα—±α—΄βšͺᙏβšͺα—©βšͺ✀βšͺκ–΄βšͺᑐᑕβšͺα—©βšͺ..GHX @@ -0,0 +1,2446 @@ +ο»Ώ + + + + + + + 0 + 2 + 2 + + + + + + + 1 + 0 + 7 + + + + + + 1befb76b-3ae0-4c41-a49a-08ff8ab671b0 + Shaded + 0 + + 255;201;201;201 + + + 255;168;168;168 + + + + + + 638344539743439943 + + XHꓨ..βšͺα—©βšͺᑐᑕβšͺκ–΄βšͺ✀βšͺα—©βšͺᙏβšͺα—±α—΄βšͺ옷βšͺ✀βšͺα—©βšͺᙏβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺβ—Œβšͺᙏβšͺα—©βšͺ✀βšͺ옷βšͺα—±α—΄βšͺᙏβšͺα—©βšͺ✀βšͺκ–΄βšͺᑐᑕβšͺα—©βšͺ..GHX + + + + + 0 + + + + + + 844 + -413 + + 1.25 + + + + + 0 + + + + + + + 0 + + + + + 1 + + + + + WolframGrasshopperComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 1.0.0.0 + Wolfram Research, Inc. + 01232c5d-6656-4c8d-ace0-6625841871e0 + WolframComponents + + + + + + + + 21 + + + + + aa15eaab-5801-421a-a937-bfdfa4768b64 + 01232c5d-6656-4c8d-ace0-6625841871e0 + WL Code + + + + + Evaluate Wolfram Language code + 7376205f-408c-43ec-a91d-cc50ad48b361 + WL Code + WL Code + + + + + + -267 + 330 + 83 + 64 + + + -229 + 362 + + + + + + The Wolfram Language expression to execute + 084c5d1d-b4a8-4379-ac93-5900276a3c5d + Expr + Expr + false + 32ca42c3-b85d-40fc-b02f-a79187312f7b + 1 + + + + + + -265 + 332 + 24 + 30 + + + -253 + 347 + + + + + + 1 + + + + + 1 + {0} + + + + + false + Table[{Cos[t],Sin[t],Tan[t]},{t,0,Pi,.2}] + + + + + + + + + + + The link to the Wolfram Engine + 122dceed-0424-491c-96af-59c8e39cc075 + Link + Link + true + 0 + + + + + + -265 + 362 + 24 + 30 + + + -253 + 377 + + + + + + + + The result + 564c34fd-6d62-4359-be14-18020db7f40b + Result + Result + false + 0 + + + + + + -217 + 332 + 31 + 20 + + + -201.5 + 342 + + + + + + + + The entire result, as an Expr, for debugging + e32058e3-2ff1-49bd-bd34-258d98bb5703 + Expr + Expr + false + 0 + + + + + + -217 + 352 + 31 + 20 + + + -201.5 + 362 + + + + + + + + The link to the Wolfram Engine + 94fc5cbb-90c6-4c16-a72d-17b2c7e6f041 + Link + Link + false + 0 + + + + + + -217 + 372 + 31 + 20 + + + -201.5 + 382 + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 9e1d72fa-136a-4282-8a84-bfc294d0a01f + Panel + + false + 0 + 564c34fd-6d62-4359-be14-18020db7f40b + 1 + Double click to edit panel content… + + + + + + 529 + 78 + 50 + 20 + + 0 + 0 + 0 + + + + + 2 + + 255;255;255;255 + + false + false + true + false + false + true + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + b731122a-226d-4448-829a-f10aac320680 + Point + Point + false + e094bed0-8589-4d81-a21d-3fcd6ab63d47 + 1 + + + + + + 772 + 158 + 50 + 24 + + + 797.1018 + 170.6394 + + + + + + + + + + 04887d01-504c-480e-b2a2-01ea19cc5922 + Text Split + + + + + Split some text into fragments using separators + 5e7da803-d989-48de-af58-0a1e9820d92a + Text Split + Text Split + + + + + + 407 + 167 + 112 + 44 + + + 474 + 189 + + + + + + Text to split. + b48de432-69c3-4bc5-8fc0-15c334385841 + Text + Text + false + 61005a47-bf72-44ac-b2ee-58fe4593ead5 + 1 + + + + + + 409 + 169 + 53 + 20 + + + 435.5 + 179 + + + + + + + + Separator characters. + 6c32c007-df1e-4ed7-afb7-ffe5d448d832 + Separators + Separators + false + 0 + + + + + + 409 + 189 + 53 + 20 + + + 435.5 + 199 + + + + + + 1 + + + + + 1 + {0} + + + + + false + ; + + + + + + + + + + + 1 + Resulting text fragments + 69ce8129-1f45-4bb3-8de3-581ce4a1a633 + Result + Result + false + 0 + + + + + + 486 + 169 + 31 + 40 + + + 501.5 + 189 + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + aa52b699-115e-4a9f-bcec-58c4a13989a3 + Panel + + false + 1 + 69ce8129-1f45-4bb3-8de3-581ce4a1a633 + 1 + Double click to edit panel content… + + + + + + 605 + -134 + 256 + 230 + + 0 + 0 + 0 + + 605.2226 + -133.9167 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 071c3940-a12d-4b77-bb23-42b5d3314a0d + Clean Tree + + + + + Removed all null and invalid items from a data tree. + 255e4acb-1cdd-4e5d-a970-84f368af7d20 + Clean Tree + Clean Tree + + + + + + 260 + 423 + 125 + 84 + + + 347 + 465 + + + + + + 4 + cb95db89-6165-43b6-9c41-5702bc5bf137 + cb95db89-6165-43b6-9c41-5702bc5bf137 + cb95db89-6165-43b6-9c41-5702bc5bf137 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + Remove null items from the tree. + 8fb7905e-d3bd-4955-9520-1b9d7ebab227 + Remove Nulls + Remove Nulls + false + 0 + + + + + + 262 + 425 + 73 + 20 + + + 298.5 + 435 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Remove invalid items from the tree. + b9960170-299c-4d90-8d7a-7979567b97cf + Remove Invalid + Remove Invalid + false + 0 + + + + + + 262 + 445 + 73 + 20 + + + 298.5 + 455 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Remove empty branches from the tree. + e120710b-8029-4c46-b4cf-ceacd1683bd2 + Remove Empty + Remove Empty + false + 0 + + + + + + 262 + 465 + 73 + 20 + + + 298.5 + 475 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + 2 + Data tree to clean + bf49d7a8-fcc9-46d1-9fa1-b2ca0b9fe7ee + Tree + Tree + false + b731122a-226d-4448-829a-f10aac320680 + 1 + + + + + + 262 + 485 + 73 + 20 + + + 298.5 + 495 + + + + + + + + 2 + Spotless data tree + 0dac9609-7399-4524-aabd-14171872cdea + Tree + Tree + false + 0 + + + + + + 359 + 425 + 24 + 80 + + + 371 + 465 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 235f03bb-9a28-43ec-b77b-f9610e3ada3c + Panel + + false + 1 + 0 + ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[Cos[t]],256]],ToString[DecimalForm[N[Sin[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[2*Pi],N[Pi/4]}]],256]] + + + + + + -509 + -31 + 349 + 230 + + 0 + 0 + 0 + + -508.2093 + -30.54315 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 03f2dfc4-89ae-4b63-a758-9925c47e365f + Panel + + false + 1 + 564c34fd-6d62-4359-be14-18020db7f40b + 1 + Double click to edit panel content… + + + + + + -113 + -120 + 360 + 230 + + 0 + 0 + 0 + + -112.4783 + -119.1838 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 4df8df00-3635-45bd-95e6-f9206296c110 + Replace Text + + + + + Replace all occurences of a specific text fragment with another + ed87df4b-cfeb-4517-8b5d-d3493335220f + Replace Text + Replace Text + false + + + + + + 290 + -6 + 98 + 64 + + + 343 + 26 + + + + + + Text to operate on. + 4396a2de-d23b-4aaf-965d-521cdac47c9d + Text + Text + false + 564c34fd-6d62-4359-be14-18020db7f40b + 1 + + + + + + 292 + -4 + 39 + 20 + + + 311.5 + 6 + + + + + + + + Fragment to replace. + 8d00effe-4756-4f0b-ba17-cd71e180ef58 + Find + Find + true + 0 + + + + + + 292 + 16 + 39 + 20 + + + 311.5 + 26 + + + + + + 1 + + + + + 1 + {0} + + + + + false + },{ + + + + + + + + + + + Optional fragment to replace with. If blank, all occurences of F will be removed. + c701e2a9-2d56-4d69-87b3-c3ec53229cae + Replace + Replace + true + 0 + + + + + + 292 + 36 + 39 + 20 + + + 311.5 + 46 + + + + + + 1 + + + + + 1 + {0} + + + + + false + ; + + + + + + + + + + + Result of text replacement + 3f3d8116-c897-4cc1-8f26-d9cfbf2afd3a + Result + Result + false + 0 + + + + + + 355 + -4 + 31 + 60 + + + 370.5 + 26 + + + + + + + + + + + + 4df8df00-3635-45bd-95e6-f9206296c110 + Replace Text + + + + + Replace all occurences of a specific text fragment with another + b3b64136-04eb-4608-a772-d663b6ef34ab + Replace Text + Replace Text + false + + + + + + 579 + 165 + 98 + 64 + + + 632 + 197 + + + + + + Text to operate on. + e211b2fd-8539-475d-80d7-54d6943f9553 + Text + Text + false + 69ce8129-1f45-4bb3-8de3-581ce4a1a633 + 1 + + + + + + 581 + 167 + 39 + 20 + + + 600.5 + 177 + + + + + + + + Fragment to replace. + ab024e3d-28c3-438a-948a-20a00790f073 + Find + Find + true + 0 + + + + + + 581 + 187 + 39 + 20 + + + 600.5 + 197 + + + + + + 1 + + + + + 1 + {0} + + + + + false + { + + + + + + + + + + + Optional fragment to replace with. If blank, all occurences of F will be removed. + 349e9e37-ee89-48a7-a1c9-c15a69b10bcc + Replace + Replace + true + 0 + + + + + + 581 + 207 + 39 + 20 + + + 600.5 + 217 + + + + + + + + Result of text replacement + 52ccc5eb-b4bf-4e53-9146-4f6c3cfd6f40 + Result + Result + false + 0 + + + + + + 644 + 167 + 31 + 60 + + + 659.5 + 197 + + + + + + + + + + + + 4df8df00-3635-45bd-95e6-f9206296c110 + Replace Text + + + + + Replace all occurences of a specific text fragment with another + bad5cca5-493e-4704-8ec0-77e7bfb7945f + Replace Text + Replace Text + false + + + + + + 640 + 287 + 98 + 64 + + + 693 + 319 + + + + + + Text to operate on. + 092653d6-6f1c-4744-af5f-48ded73369a5 + Text + Text + false + 52ccc5eb-b4bf-4e53-9146-4f6c3cfd6f40 + 1 + + + + + + 642 + 289 + 39 + 20 + + + 661.5 + 299 + + + + + + + + Fragment to replace. + 7278a7fa-acec-410f-9837-f6a5ef234013 + Find + Find + true + 0 + + + + + + 642 + 309 + 39 + 20 + + + 661.5 + 319 + + + + + + 1 + + + + + 1 + {0} + + + + + false + } + + + + + + + + + + + Optional fragment to replace with. If blank, all occurences of F will be removed. + 0b09f73d-3b76-4872-b23e-af65f6ccf7e0 + Replace + Replace + true + 0 + + + + + + 642 + 329 + 39 + 20 + + + 661.5 + 339 + + + + + + + + Result of text replacement + b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c + Result + Result + false + 0 + + + + + + 705 + 289 + 31 + 60 + + + 720.5 + 319 + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 56223043-f43a-42ef-985f-d78d63756e0d + Panel + + false + 1 + b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c + 1 + Double click to edit panel content… + + + + + + 893 + 227 + 422 + 230 + + 0 + 0 + 0 + + 893.2493 + 227.1955 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 757d8d62-c94b-4f14-9c46-fabb75b95b88 + Panel + + false + 1 + 0 + ClearAll[iCurvaturePlotHelper, CurvaturePlot] +iCurvaturePlotHelper[ + f_?(Head[#] =!= List &), {t_, tmin_, + tmax_}, {{x0_, y0_}, \[Theta]0_}, opts : OptionsPattern[]] := + Module[{sol, \[Theta], x, y, if}, + sol = NDSolve[{ + \[Theta]'[t] == f, + x'[t] == Cos[\[Theta][t]], + y'[t] == Sin[\[Theta][t]], + \[Theta][tmin] == \[Theta]0, + x[tmin] == x0, + y[tmin] == y0 + }, {x, y}, {t, tmin, tmax}, opts]; + if = {x[#], y[#]} & /. First[sol]; + if + ] +CurvaturePlot[f_, {t_, tmin_, tmax_}, opts : OptionsPattern[]] := + CurvaturePlot[f, {t, tmin, tmax}, {{0, 0}, 0}, opts] +CurvaturePlot[f_, {t_, tmin_, tmax_}, p : {{x0_, y0_}, \[Theta]0_}, + opts : OptionsPattern[]] := + Module[{\[Theta], x, y, sol, rlsplot, rlsndsolve, if, ifs}, + rlsplot = FilterRules[{opts}, Options[ParametricPlot]]; + rlsndsolve = FilterRules[{opts}, Options[NDSolve]]; + If[Head[f] === List, + ifs = + iCurvaturePlotHelper[#, {t, tmin, tmax}, p, + Evaluate@(Sequence @@ rlsndsolve)] & /@ f; + ParametricPlot[ + Evaluate[#[tplot] & /@ ifs], {tplot, tmin, tmax}, + Evaluate@(Sequence @@ rlsplot)] + , + if = + iCurvaturePlotHelper[f, {t, tmin, tmax}, p, + Evaluate@(Sequence @@ rlsndsolve)]; + ParametricPlot[Evaluate[if[tplot]], {tplot, tmin, tmax}, + Evaluate@(Sequence @@ rlsplot)] + ] + ]; + +ariasD[0] = 1; +ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1); +iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec); +z=SetPrecision[x,Infinity];s=1;y=0; +z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2]; +If[ThueMorse[q]==1,s=-1]; +1-Abs[1-z+2 q]]; +While[z>0,n=-Floor[RealExponent[z,2]];p=2^n; +z-=1/p;w=1; +Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}]; +y=w-y; +If[Abs[w]<Abs[y] tol,Break[]]]; +SetPrecision[s Abs[y],prec]]; +FabiusF[Infinity] = Interval[{-1, 1}]; +FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x]; +Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &; +SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming; + +ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[X],256]],ToString[DecimalForm[N[FabiusF[X]],256]],ToString[DecimalForm[N[0],256]]},{X,0,N[1],N[1/16]}]],256]] + + + + + + -520 + -605 + 349 + 294 + + 0 + 0 + 0 + + -519.5425 + -604.2982 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 657af43c-250e-4e51-93c6-6810eb267706 + Panel + + false + 0 + 74992216-b019-4116-a9c3-4c5aad3fb726 + 1 + ariasD[0] = 1; +ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1); +iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec); +z=SetPrecision[x,Infinity];s=1;y=0; +z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2]; +If[ThueMorse[q]==1,s=-1]; +1-Abs[1-z+2 q]]; +While[z>0,n=-Floor[RealExponent[z,2]];p=2^n; +z-=1/p;w=1; +Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}]; +y=w-y; +If[Abs[w]<Abs[y] tol,Break[]]]; +SetPrecision[s Abs[y],prec]]; +FabiusF[Infinity] = Interval[{-1, 1}]; +FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x]; +Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &; +SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming; + +ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[t],256]],ToString[DecimalForm[N[FabiusF[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[1],N[1/32]}]],256]] + + + + + + 176 + 651 + 161 + 294 + + 0 + 0 + 0 + + 176.1313 + 651.6918 + + + + + + + 255;255;255;255 + + true + false + true + false + false + true + + + + + + + + + 758d91a0-4aec-47f8-9671-16739a8a2c5d + Format + + + + + Format some data using placeholders and formatting tags + 14fc0b38-e972-49af-92fe-f7f422d34799 + Format + Format + + + + + + 370 + 630 + 88 + 64 + + + 420 + 662 + + + + + + 3 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 7fa15783-70da-485c-98c0-a099e6988c3e + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + Text format + 2f5b811b-689d-4e1b-9ea3-ffc7fcfe7ef9 + Format + Format + false + 0 + + + + + + 372 + 632 + 36 + 20 + + + 390 + 642 + + + + + + 1 + + + + + 1 + {0} + + + + + false + {0:R} + + + + + + + + + + + Formatting culture + 4139ec23-7b86-4007-be98-c402dcf7c7ed + Culture + Culture + false + 0 + + + + + + 372 + 652 + 36 + 20 + + + 390 + 662 + + + + + + 1 + + + + + 1 + {0} + + + + + 127 + + + + + + + + + + + Data to insert at {0} placeholders + 658b2a94-b7ee-4060-9e04-c159b4e92d44 + false + Data 0 + 0 + true + b731122a-226d-4448-829a-f10aac320680 + 1 + + + + + + 372 + 672 + 36 + 20 + + + 390 + 682 + + + + + + + + Formatted text + 74992216-b019-4116-a9c3-4c5aad3fb726 + Text + Text + false + 0 + + + + + + 432 + 632 + 24 + 60 + + + 444 + 662 + + + + + + + + + + + + + + 3e8ca6be-fda8-4aaf-b5c0-3c54c8bb7312 + Number + + + + + Contains a collection of floating point numbers + e919fa31-d79e-4f67-9aed-e70feda8de8e + Number + Number + false + 74992216-b019-4116-a9c3-4c5aad3fb726 + 1 + + + + + + 586 + 691 + 50 + 24 + + + 611 + 703 + + + + + + + + + + 3ede854e-c753-40eb-84cb-b48008f14fd4 + Text + + + + + Contains a collection of text fragments + c12585f7-fe64-4c0f-869d-d10df254cf72 + Text + Text + false + b731122a-226d-4448-829a-f10aac320680 + 1 + + + + + + 631 + 524 + 50 + 24 + + + 656 + 536 + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 32ca42c3-b85d-40fc-b02f-a79187312f7b + Panel + + false + 1 + 0 + ClearAll[iCurvaturePlotHelper, CurvaturePlot] +iCurvaturePlotHelper[ + f_?(Head[#] =!= List &), {t_, tmin_, + tmax_}, {{x0_, y0_}, \[Theta]0_}, opts : OptionsPattern[]] := + Module[{sol, \[Theta], x, y, if}, + sol = NDSolve[{ + \[Theta]'[t] == f, + x'[t] == Cos[\[Theta][t]], + y'[t] == Sin[\[Theta][t]], + \[Theta][tmin] == \[Theta]0, + x[tmin] == x0, + y[tmin] == y0 + }, {x, y}, {t, tmin, tmax}, opts]; + if = {x[#], y[#]} & /. First[sol]; + if + ] +CurvaturePlot[f_, {t_, tmin_, tmax_}, opts : OptionsPattern[]] := + CurvaturePlot[f, {t, tmin, tmax}, {{0, 0}, 0}, opts] +CurvaturePlot[f_, {t_, tmin_, tmax_}, p : {{x0_, y0_}, \[Theta]0_}, + opts : OptionsPattern[]] := + Module[{\[Theta], x, y, sol, rlsplot, rlsndsolve, if, ifs}, + rlsplot = FilterRules[{opts}, Options[ParametricPlot]]; + rlsndsolve = FilterRules[{opts}, Options[NDSolve]]; + If[Head[f] === List, + ifs = + iCurvaturePlotHelper[#, {t, tmin, tmax}, p, + Evaluate@(Sequence @@ rlsndsolve)] & /@ f; + ParametricPlot[ + Evaluate[#[tplot] & /@ ifs], {tplot, tmin, tmax}, + Evaluate@(Sequence @@ rlsplot)] + , + if = + iCurvaturePlotHelper[f, {t, tmin, tmax}, p, + Evaluate@(Sequence @@ rlsndsolve)]; + ParametricPlot[Evaluate[if[tplot]], {tplot, tmin, tmax}, + Evaluate@(Sequence @@ rlsplot)] + ] + ]; + +ariasD[0] = 1; +ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1); +iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec); +z=SetPrecision[x,Infinity];s=1;y=0; +z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2]; +If[ThueMorse[q]==1,s=-1]; +1-Abs[1-z+2 q]]; +While[z>0,n=-Floor[RealExponent[z,2]];p=2^n; +z-=1/p;w=1; +Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}]; +y=w-y; +If[Abs[w]<Abs[y] tol,Break[]]]; +SetPrecision[s Abs[y],prec]]; +FabiusF[Infinity] = Interval[{-1, 1}]; +FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x]; +Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &; +SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming; + +ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[X],256]],ToString[DecimalForm[N[FabiusF[X]],256]],ToString[DecimalForm[N[0],256]]},{X,0,N[1],N[1/256]}]],256]]; + +П = CurvaturePlot[ + Evaluate[ + SetPrecision[SetAccuracy[Abs[FabiusF[X/Pi*((((4))))/2]], Infinity], + Infinity], {X, 0, 4 \[Pi]}, WorkingPrecision -> ((((10)))), + Accuracy -> Infinity, MaxRecursion -> 0, PlotPoints -> 1 + 2^((((8))))], + Axes -> {True, True}]; +Show[П, Frame -> True, FrameTicks -> {{-1, 0, 1}, {-1, 0, 1}}, + PlotRange -> Full, AspectRatio -> 1]; +β†€ΠŸβ†€ = Flatten[Cases[П, Line[X__] -> X, Infinity], 1]; +Export["β†€ΠŸβ†€", β†€ΠŸβ†€, "CSV"]; +β†€ΠŸβ†€ + + + + + + -629 + 330 + 349 + 671 + + 0 + 0 + 0 + + -628.7882 + 330.9467 + + + + + + + 255;255;255;255 + + true + true + true + false + false + true + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + d540c611-1af7-4e7e-9179-d4927d03008d + Panel + + false + 0.50049507617950439 + b731122a-226d-4448-829a-f10aac320680 + 1 + ariasD[0] = 1; +ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1); +iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec); +z=SetPrecision[x,Infinity];s=1;y=0; +z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2]; +If[ThueMorse[q]==1,s=-1]; +1-Abs[1-z+2 q]]; +While[z>0,n=-Floor[RealExponent[z,2]];p=2^n; +z-=1/p;w=1; +Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}]; +y=w-y; +If[Abs[w]<Abs[y] tol,Break[]]]; +SetPrecision[s Abs[y],prec]]; +FabiusF[Infinity] = Interval[{-1, 1}]; +FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x]; +Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &; +SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming; + +ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[t],256]],ToString[DecimalForm[N[FabiusF[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[1],N[1/32]}]],256]] + + + + + + -260 + 521 + 200 + 289 + + 0 + 0 + 0 + + -259.466 + 521.5567 + + + + + + + 255;255;255;255 + + true + false + true + false + false + true + + + + + + + + + 4df8df00-3635-45bd-95e6-f9206296c110 + Replace Text + + + + + Replace all occurences of a specific text fragment with another + cc216dbe-7368-4ad0-b361-9576424dcc24 + Replace Text + Replace Text + false + + + + + + 288 + -92 + 98 + 64 + + + 341 + -60 + + + + + + Text to operate on. + 5cd71bb6-669e-4d72-a523-2cdb216701d2 + Text + Text + false + 3f3d8116-c897-4cc1-8f26-d9cfbf2afd3a + 1 + + + + + + 290 + -90 + 39 + 20 + + + 309.5 + -80 + + + + + + + + Fragment to replace. + e1c09eab-68b7-48e7-957e-87030b47bda3 + Find + Find + true + 0 + + + + + + 290 + -70 + 39 + 20 + + + 309.5 + -60 + + + + + + 1 + + + + + 1 + {0} + + + + + false + }, { + + + + + + + + + + + Optional fragment to replace with. If blank, all occurences of F will be removed. + 2e47c43c-8894-49f7-a14f-1b3fea26d3e0 + Replace + Replace + true + 0 + + + + + + 290 + -50 + 39 + 20 + + + 309.5 + -40 + + + + + + 1 + + + + + 1 + {0} + + + + + false + ; + + + + + + + + + + + Result of text replacement + 61005a47-bf72-44ac-b2ee-58fe4593ead5 + Result + Result + false + 0 + + + + + + 353 + -90 + 31 + 60 + + + 368.5 + -60 + + + + + + + + + + + + 4df8df00-3635-45bd-95e6-f9206296c110 + Replace Text + + + + + Replace all occurences of a specific text fragment with another + 1f0052c3-423a-4465-8ef2-f805a6329226 + Replace Text + Replace Text + false + + + + + + 665 + 405 + 98 + 64 + + + 718 + 437 + + + + + + Text to operate on. + 7325d639-6c5c-4e2f-919c-39e02e0214cd + Text + Text + false + b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c + 1 + + + + + + 667 + 407 + 39 + 20 + + + 686.5 + 417 + + + + + + + + Fragment to replace. + ec476a49-2011-45a1-8aca-3b453af8972b + Find + Find + true + 0 + + + + + + 667 + 427 + 39 + 20 + + + 686.5 + 437 + + + + + + 1 + + + + + 1 + {0} + + + + + false + *^ + + + + + + + + + + + Optional fragment to replace with. If blank, all occurences of F will be removed. + 3253bef1-f9af-4db5-a1e7-8c1d46347bf7 + Replace + Replace + true + 0 + + + + + + 667 + 447 + 39 + 20 + + + 686.5 + 457 + + + + + + 1 + + + + + 1 + {0} + + + + + false + *10^ + + + + + + + + + + + Result of text replacement + e094bed0-8589-4d81-a21d-3fcd6ab63d47 + Result + Result + false + 0 + + + + + + 730 + 407 + 31 + 60 + + + 745.5 + 437 + + + + + + + + + + + + + + + + + iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAIAAADrOV6nAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACNlSURBVHhe7d3pd1VFswZw/2z95Fr+B7qWshaoBEJIIGEICgoiIAFRRhlEVPQ6XOd5xvHeX/bTbnf2OSec5EyBUB/26l1d3V3dTz1VvU/wfR96IPeD/N8DuWflPwj/t4d8/PHHf/zxR6zHJn/99dfFixc9y/u45Pfff7ff995776OPPir739jC5w0K4T///PPtt9+WlzHKAwiHKe+//35pjVE2NYR37tx59913f/jhh2+++ea777775JNPvvrqq++///6zzz579dVX33nnnc8///yNN97wZExJNFg6rC+++OLLL7/EPBorfvrpp8bS//3332bLk80HH3xgFXLr1i3zeKX8+uuvGcu6b731lkUt5JX+fyphzCAz9yObGsIff/zROZ49e/bkyZNLS0t79+49cuTImTNnDh48+PLLL1+6dOm5556jzLFeuXIFnBpejx8/bsi5c+egSPPaa6+99NJL+/fvZy8g3nzzTRjQLC4u7tmzB/C//PILG6PMfOLECfFx+PDh559/3hILCwu7d+828Pz585SnT5+G/c2bN/uvqXa6eSEkf1ZSXqorSdgGGHRU227fvo09YAMM2KRKbUdsfpQClVdAotGvv/76008/6Xr77be9cuPnn39mcPXqVU+zCRfsZE+sJYAouWr+AOa1Znb/stkh7BSp1aHj4oULF5ASM1555ZUXXngBgZAGh+bn548ePYorhw4dkv3w5tixY/TyoUN88cUXGe/bt4+NXsTFTqDqMoN8e/36dV2ysVHmN4n5QVuWX7tsagidYwgn++EQrvz222/aH374IfxQCj/UMMWGsWkzCgwEXaCIwYYbiHCZxKu2p8nxDK6cwd10GYKCpsVvryguLDyNNYkh7Om9Zq1+ZFNDiHCgwhs8QIiZmRkE0lCcsApLaFQsuIITh7AKZmjHhqRiWUsbWbHTbE4fJGaWeBmrf3qVOpB7ff311xVXaN24cQOcqik5derU7Oysqomvelleu3YN/MXLu8mmhhAAGEOUHzilmBmIB3o9nSNmULqPaDh0T3WOXi8uulLiE2ghl1uleumS6UAZmxmW0IIZUeqYZVqWyG02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 + + + + + \ No newline at end of file