[TIP]: # ( Provide a general summary of your changes in the title above ^^ ) ## Type of change [NOTE]: # ( Please remove all lines which don't apply. ) - ✅ Bug fix (non-breaking change which fixes an issue) - ✅ Refactor (significant modification to existing code) - ✅ New feature (non-breaking change which adds functionality) - ✅ Breaking change (fix or feature that would cause existing functionality to change) - ✅ Documentation (non-code change) ## Description and Context [NOTE]: # ( Describe your changes in detail, why is this change required? ) [NOTE]: # ( Describe the context of your change. Explain large code modifications. ) [NOTE]: # ( If it fixes an open issue, please add "Fixes #XXX" as necessary ) ## Screenshots [TIP]: # ( Do not include screenshots of your actual repository! ) ## Testing strategy [NOTE]: # ( Please describe in detail how you tested your changes. ) [TIP]: # ( We expect all new code to be covered by unit tests! ) ## Checklist: [NOTE]: # ( Please go over all the following points. ) [NOTE]: # ( Again, remove any lines which don't apply. ) [NOTE]: # ( Pull Requests that don't fulfill all [REQUIRED] requisites are likely ) [NOTE]: # ( to be sent back to you for correction or will be rejected. ) - ✅ I have read the **CONTRIBUTING** document. **[REQUIRED]** - ✅ My code follows the code style of this project. **[REQUIRED]** - ✅ All new and existing tests passed. **[REQUIRED]** - ✅ I have compiled and verified my code with `-DWITH_ASAN=ON`. **[REQUIRED]** - ✅ My change requires a change to the documentation, and I have updated it accordingly. - ✅ I have added tests to cover my changes.