a885a2b | Jorrit Wronski | 13 December 2022, 13:12:01 UTC | One more typo | 13 December 2022, 13:12:01 UTC |
d0e2778 | Jorrit Wronski | 13 December 2022, 13:10:36 UTC | Update the version extraction to handle builds without revision | 13 December 2022, 13:10:36 UTC |
9faf4ae | Jorrit Wronski | 13 December 2022, 13:03:39 UTC | Prepare for v6.4.2 | 13 December 2022, 13:03:39 UTC |
7fa16a1 | Jorrit Wronski | 13 December 2022, 10:28:54 UTC | Updated the docs based on #2067 | 13 December 2022, 10:28:54 UTC |
62f9022 | Jorrit Wronski | 07 December 2022, 23:28:51 UTC | one more typo in the job file | 07 December 2022, 23:28:51 UTC |
4fc34ff | Jorrit Wronski | 07 December 2022, 23:20:23 UTC | typo in the job file | 07 December 2022, 23:20:23 UTC |
2b770f9 | Jorrit Wronski | 07 December 2022, 23:16:57 UTC | Fixed the CI workflows and included more python wheels, closes #2119, #2087, #2081, #1867, #2003, #2095 | 07 December 2022, 23:16:57 UTC |
ce63a3c | Jorrit Wronski | 07 December 2022, 23:11:53 UTC | Finished labelling all the closed issues and PRs | 07 December 2022, 23:11:53 UTC |
271a69d | Jorrit Wronski | 07 December 2022, 23:08:55 UTC | Finished labelling all the closed issues and PRs | 07 December 2022, 23:08:55 UTC |
d9d87a9 | Jorrit Wronski | 07 December 2022, 22:55:35 UTC | Simplify the build selector for Python | 07 December 2022, 22:55:35 UTC |
8b82f0b | Jorrit Wronski | 07 December 2022, 21:55:16 UTC | Debugged the changelog script | 07 December 2022, 21:55:16 UTC |
b7a6f22 | Jorrit Wronski | 07 December 2022, 21:23:14 UTC | Change the order of the mixture coefficients, closes #2149 and renders #2150 obsolete. | 07 December 2022, 21:24:13 UTC |
a144125 | Jorrit Wronski | 07 December 2022, 18:58:12 UTC | Automatically convert ARM64 to arm64 | 07 December 2022, 18:58:12 UTC |
899fc62 | Jorrit Wronski | 07 December 2022, 14:57:11 UTC | exclude the undefined architectures | 07 December 2022, 14:57:11 UTC |
8375065 | Jorrit Wronski | 07 December 2022, 14:49:13 UTC | back to the old definition | 07 December 2022, 14:49:13 UTC |
6bd16ec | Jorrit Wronski | 07 December 2022, 14:46:10 UTC | More architecture debugging | 07 December 2022, 14:46:10 UTC |
4902147 | Jorrit Wronski | 07 December 2022, 14:39:24 UTC | Handle missing arch identifier | 07 December 2022, 14:39:24 UTC |
8d18be5 | Jorrit Wronski | 07 December 2022, 14:36:49 UTC | Fix the architecture selection | 07 December 2022, 14:36:49 UTC |
ae9da6f | Jorrit Wronski | 07 December 2022, 14:13:32 UTC | include arm64 for apple silicon | 07 December 2022, 14:13:32 UTC |
ab5fbf9 | Jorrit Wronski | 07 December 2022, 14:05:03 UTC | Update the actions to avoid Node.js 12 warnings | 07 December 2022, 14:05:03 UTC |
ea39c01 | Jorrit Wronski | 07 December 2022, 13:34:59 UTC | Removed multiple builds for X86_64 | 07 December 2022, 13:34:59 UTC |
4cf9312 | Jorrit Wronski | 07 December 2022, 13:32:34 UTC | Use exclude patterns instead | 07 December 2022, 13:32:34 UTC |
fc59025 | Jorrit Wronski | 07 December 2022, 13:04:28 UTC | use the tagged action | 07 December 2022, 13:04:28 UTC |
676d3a5 | Jorrit Wronski | 07 December 2022, 13:03:19 UTC | Include the full matrix | 07 December 2022, 13:03:19 UTC |
42989cb | Jorrit Wronski | 07 December 2022, 12:58:47 UTC | Pass the OS as part of the call | 07 December 2022, 12:58:47 UTC |
15630f6 | Jorrit Wronski | 07 December 2022, 12:54:22 UTC | Debugging the matrix configuration | 07 December 2022, 12:54:22 UTC |
c9c7018 | Jorrit Wronski | 07 December 2022, 12:47:26 UTC | Build the wheels with a reusable workflow | 07 December 2022, 12:47:26 UTC |
2ba2f12 | Jorrit Wronski | 07 December 2022, 11:01:45 UTC | Skip one more cross-compilation architecture | 07 December 2022, 11:01:45 UTC |
3282b8a | Jorrit Wronski | 06 December 2022, 20:54:58 UTC | Cleaned up the CI configuration and remove CircleCI and TravisCI | 07 December 2022, 10:55:27 UTC |
2841dfe | Jorrit Wronski | 06 December 2022, 20:49:08 UTC | Build the docs for v6.4.2 (#2191) - Streamlined the build of the HTML documentation based on a private docker image. - Invoke doxygen and Sphinx to create the final HTML pages. - Employ a cache for the GitHub actions to store the output of the expensive tasks. - Restructured the GitHub actions builders and introduced a naming scheme. - Fixed a few typos in the docs. - Automatically publish the documentation to GitHub pages. | 07 December 2022, 10:55:16 UTC |
910a056 | Jorrit Wronski | 07 December 2022, 10:54:56 UTC | Trying to recreate the old file structure for the download server | 07 December 2022, 10:54:56 UTC |
f8db5bb | Jorrit Wronski | 07 December 2022, 10:51:47 UTC | Use CoolProp's secant solver for humid air calculations. should solve #2190 | 07 December 2022, 10:51:47 UTC |
f2af940 | Jorrit Wronski | 30 November 2022, 08:30:25 UTC | Updated the path to Catch2 | 07 December 2022, 10:50:25 UTC |
626f8d4 | Jorrit Wronski | 07 December 2022, 10:38:39 UTC | Remove the Windows ARM64 builds for now, more debugging is needed | 07 December 2022, 10:38:39 UTC |
136644d | Jorrit Wronski | 07 December 2022, 08:20:55 UTC | Assume that Linux on PowerPC behaves like any other Linux | 07 December 2022, 08:21:26 UTC |
6b111a3 | Jorrit Wronski | 07 December 2022, 08:18:08 UTC | Handle the msgpack endianness | 07 December 2022, 08:18:08 UTC |
b20e71b | Jorrit Wronski | 06 December 2022, 23:08:13 UTC | Modifying some PPC code to make ppc64le work | 06 December 2022, 23:08:13 UTC |
7203552 | Jorrit Wronski | 06 December 2022, 23:05:30 UTC | Checking for ARM64 on Windows | 06 December 2022, 23:05:41 UTC |
76daa5a | Jorrit Wronski | 06 December 2022, 22:16:03 UTC | Force a native build on Linux instead of 64bit | 06 December 2022, 22:16:03 UTC |
61e6ed4 | Jorrit Wronski | 06 December 2022, 21:51:03 UTC | skip universal2 on macOS | 06 December 2022, 21:51:03 UTC |
daa265b | Jorrit Wronski | 06 December 2022, 21:47:50 UTC | Do not compile i686 on Linux | 06 December 2022, 21:47:50 UTC |
17ee4d2 | Jorrit Wronski | 06 December 2022, 21:40:40 UTC | Renamed the Python build jobs | 06 December 2022, 21:40:40 UTC |
1838143 | Jorrit Wronski | 06 December 2022, 21:38:06 UTC | Use the default action to build wheels | 06 December 2022, 21:38:18 UTC |
b36940e | Jorrit Wronski | 06 December 2022, 20:54:58 UTC | Cleaned up the CI configuration and remove CircleCI and TravisCI | 06 December 2022, 20:54:58 UTC |
522e810 | Jorrit Wronski | 06 December 2022, 20:49:08 UTC | Build the docs for v6.4.2 (#2191) - Streamlined the build of the HTML documentation based on a private docker image. - Invoke doxygen and Sphinx to create the final HTML pages. - Employ a cache for the GitHub actions to store the output of the expensive tasks. - Restructured the GitHub actions builders and introduced a naming scheme. - Fixed a few typos in the docs. - Automatically publish the documentation to GitHub pages. | 06 December 2022, 20:49:08 UTC |
3d423d8 | Jorrit Wronski | 01 December 2022, 12:06:52 UTC | Use the Python directory | 01 December 2022, 12:06:52 UTC |
b4705c1 | Jorrit Wronski | 30 November 2022, 10:40:52 UTC | Added a T residual for future use | 30 November 2022, 10:40:52 UTC |
0cc8582 | Jorrit Wronski | 30 November 2022, 09:38:42 UTC | Use CoolProp's secant solver for humid air calculations. should solve #2190 | 30 November 2022, 09:38:42 UTC |
f8e5bbc | Jorrit Wronski | 30 November 2022, 08:30:25 UTC | Updated the path to Catch2 | 30 November 2022, 08:30:25 UTC |
d390c29 | Jorrit Wronski | 29 November 2022, 23:14:17 UTC | Include folder names | 29 November 2022, 23:14:17 UTC |
49c858f | Jorrit Wronski | 29 November 2022, 22:48:05 UTC | Trying to recreate the old file structure for the download server | 29 November 2022, 22:48:05 UTC |
3dc9419 | Jorrit Wronski | 29 November 2022, 22:38:54 UTC | Upload the Windows installer | 29 November 2022, 22:38:54 UTC |
c5bb7c3 | Jorrit Wronski | 29 November 2022, 22:24:43 UTC | Checking the Python wheel configurations | 29 November 2022, 22:24:51 UTC |
494bc02 | Jorrit Wronski | 29 November 2022, 21:53:45 UTC | working on the next release | 29 November 2022, 21:53:45 UTC |
9192492 | Jorrit Wronski | 29 November 2022, 21:47:34 UTC | Added a test for #2190 | 29 November 2022, 21:47:34 UTC |
cb437eb | Jorrit Wronski | 29 November 2022, 21:09:32 UTC | Do not use bash on Windows | 29 November 2022, 21:09:32 UTC |
6d0bb61 | Jorrit Wronski | 29 November 2022, 20:19:09 UTC | Release zip files on Windows instead of tar.gz | 29 November 2022, 20:19:09 UTC |
bb95bde | Jorrit Wronski | 29 November 2022, 20:10:21 UTC | Added a test file for #1611 and #1678 | 29 November 2022, 20:10:21 UTC |
2698729 | Ian Bell | 21 November 2022, 22:25:55 UTC | Turn on wheels for python 3.11 | 21 November 2022, 22:25:55 UTC |
15720ab | msaitta-mpr | 28 October 2022, 22:08:13 UTC | Prevent crashes near critical density due to saturation calc (#2173) * Add extrapolating secant solver Sometimes, the backwards ancillary solver fails near the critical point. This can happen if the ancillary function at its limit (i.e., critical temperature) does not reach the desired seek value (e.g., density). Because we are only usually using these to get a guess value, we can extrapolate them without issue to avoid a crash near the critical point. This helps to resolve #2154. * Stabilize saturation curve solution Solving for the saturation curve near the critical point can be unstable. This commit fixes that in a few ways. 1) Prevent the solver from overshooting and prevent a negative temperature or density. 2) If it does fail, try again with a smaller omega value. If the solver fails after all of this, we will still throw to allow something downstream to handle it. This helps to address issue #2154. * Move saturation_D_pure max iterations to options | 28 October 2022, 22:08:13 UTC |
96cf4a7 | Zach Baird | 21 October 2022, 00:00:22 UTC | add PCSAFT page in docs (#2176) | 21 October 2022, 00:00:22 UTC |
38a6ea6 | Friederike Boehm | 08 September 2022, 00:36:59 UTC | Add fluid_param_string and get_JSONstring to cubic (#2134) Implementation comparable to HelmholtzEOSMixturebackend See PR #1371 (4014f85c4c769ce02d98722169c15a361dd83a08) Minor changes to CubicBackend.cpp If phase is imposed, it is returned instead of always returning gas phase for mixtures TODO is not properly fixed though | 08 September 2022, 00:36:59 UTC |
bddc7b8 | Vladimir Portyanikhin | 06 September 2022, 23:19:01 UTC | Updated info about SharpProp (3-party wrapper) (#2164) | 06 September 2022, 23:19:01 UTC |
100cfd0 | Vladimir Portyanikhin | 06 September 2022, 23:18:27 UTC | Added info about PyFluids (3-party wrapper) (#2165) | 06 September 2022, 23:18:27 UTC |
e52c26c | Zach Baird | 27 August 2022, 22:59:31 UTC | improve PC-SAFT flash (#2161) * improve PC-SAFT flash * fix error in PC-SAFT JSON file * change C type to string | 27 August 2022, 22:59:31 UTC |
0ce42fc | Jimmy C | 27 July 2022, 00:39:36 UTC | Bump FindMathematica (#2146) | 27 July 2022, 00:39:36 UTC |
dc66800 | Yaykhel | 13 July 2022, 14:06:32 UTC | Corrected rho_ice route by replacing g_ice with dg_dp_Ice in Ice.cpp (#2143) | 13 July 2022, 14:06:32 UTC |
a2a4040 | Ian Bell | 29 June 2022, 13:13:49 UTC | Round kb and N_AV for PCSAFT to exact CODATA values | 29 June 2022, 13:13:49 UTC |
66d43a9 | Ian Bell | 28 June 2022, 22:50:01 UTC | More PC-SAFT unrounding | 28 June 2022, 22:50:01 UTC |
a1f4d88 | Ian Bell | 28 June 2022, 21:25:46 UTC | Unround the PC-SAFT coefficients for ai and bi | 28 June 2022, 21:25:46 UTC |
c4cf52b | Friederike Boehm | 07 June 2022, 12:26:10 UTC | AbstractState functions for CoolPropLib (#2135) * Add AbstractState functions to CoolPropLib AbstractState_get_mole_fractions_satState AbstractState_keyed_output_satState AbstractState_backend_name add_fluids_as_JSON * Overloaded AbstractState_get_phase_envelope_data and appended checkedMemory to function name | 07 June 2022, 12:26:10 UTC |
44325d9 | Friederike Boehm | 18 May 2022, 00:13:57 UTC | Add Props1SImulti and PropsSImulti to CoolPropLib (#2133) Props1SImulti new function in CoolProp | 18 May 2022, 00:13:57 UTC |
4a5fcaa | Jeff Henning | 09 May 2022, 21:57:53 UTC | Bump IF97 to included reverse T(P,H) patch [skip ci] (#2132) | 09 May 2022, 21:57:53 UTC |
6f4dfa8 | Ian Bell | 21 April 2022, 02:22:51 UTC | Turn musl builds back on | 21 April 2022, 02:22:51 UTC |
c66399d | Julien Marrec | 12 April 2022, 23:04:04 UTC | Simplify CoolProp python bindings cibuildwheel (#2122) * Try to simplify cibuildwheel setup * Split up the builds by python version it takes WAY too long otherwise About 1h15 on mac, 45 min on windows, and Linux didn't finish (but that's becasue of aarch64 I think) * Remove linux aarch64: docker is hanging because it doesn't pass the --platform tag correctly ``` Status: Downloaded newer image for quay.io/pypa/manylinux2014_aarch64:2022-03-31-361e6b6 WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested eab86187799169ab1ff12c486be2dbfa69f7a676b9a00c20e297c2207b9c293e + /bin/true standard_init_linux.go:228: exec user process caused: exec format error ``` * Try to use Cmake for Linux, see if it fixes the whl size (which bloated from 6MB to 42 MB) | 12 April 2022, 23:04:04 UTC |
a5f9344 | Julien Marrec | 12 April 2022, 18:13:10 UTC | Missing a py37 build for Windows x64 + fix py38 win32 and py39 win32 (#2120) * Missing a py37 build for Windows x64 | 12 April 2022, 18:13:10 UTC |
0600082 | Julien Marrec | 12 April 2022, 00:04:25 UTC | I moved the TWINE stuff in the wrong step (#2118) | 12 April 2022, 00:04:25 UTC |
8aa50fc | Julien Marrec | 11 April 2022, 16:35:06 UTC | Fix mac sed (#2116) * Minimum fix for sed: mac has a weird sed version... * Make repalcement from python to avoid dealing with weird sed version on mac * Try to get the size of the wheels (/!\ 100MB max per upload) * move setting env vars up a block | 11 April 2022, 16:35:06 UTC |
9c2f19d | Ian Bell | 07 April 2022, 17:27:11 UTC | Add two book locations | 07 April 2022, 17:27:11 UTC |
256b810 | Ian Bell | 06 April 2022, 14:54:40 UTC | Fix constant generation after the clang-format | 06 April 2022, 14:54:40 UTC |
4ef119f | Friederike Boehm | 01 April 2022, 11:40:14 UTC | Add bound-check to setter and getter functions (#2107) | 01 April 2022, 11:40:14 UTC |
6913fc4 | Julien Marrec | 31 March 2022, 16:04:57 UTC | Format macros, they keep getting picked incrementally by clang format + Strip trailing whitespaces ``` find . -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx|py)$' | xargs -I@ sed -i 's/[ \t]*$//' "@" ``` | 01 April 2022, 11:39:35 UTC |
a7a3c84 | Julien Marrec | 01 April 2022, 11:38:29 UTC | I think I know why mac is failing, it's because of the newline char (#2110) | 01 April 2022, 11:38:29 UTC |
9a0acba | Ian Bell | 31 March 2022, 23:31:09 UTC | Add dependencies for getting version in CI | 31 March 2022, 23:31:09 UTC |
5174017 | Ian Bell | 31 March 2022, 23:07:16 UTC | Fix sed for versioning of wheels | 31 March 2022, 23:07:16 UTC |
f6fbdb2 | Ian Bell | 31 March 2022, 23:01:57 UTC | packaging is also needed | 31 March 2022, 23:01:57 UTC |
9b03196 | Ian Bell | 31 March 2022, 23:00:17 UTC | requests is needed to extract the version | 31 March 2022, 23:00:17 UTC |
76b48b3 | Julien Marrec | 31 March 2022, 22:53:39 UTC | Configure upload to pypi/testpypi (#2109) * Enable upload to testpypi * Figure out the next available version to avoid override (especially for testpypi, shouldn't happen for pypi as we should bump in CMakeLists) | 31 March 2022, 22:53:39 UTC |
c1ed086 | Julien Marrec | 31 March 2022, 22:47:00 UTC | Bump Catch 1 to Catch v3.0.0-preview4 (#2105) * Bump Catch2 to latest v3.0.0-preview4 Bump Catch2 to latest 2.x: 2.13.8 Rename submodule Catch to Catch2 Add catch2 to ctest Fix missing ";" in catch tests Use ctest for catch2: run once with little output, then 2nd time with verbose output for failed tests Run through CatchTestRunner: TEMP: PICK A STYLE Update Catch to v3.0.0-preview4 Try to migrate to catch2 v3 Ok it builds and runs, but I'm missing tests Get all files that have inline tests, now I get same behavior as with catch1 Put back app sources * Remove the link to coolprop lib since I am now using APP_SOURCES instead of just the specific files with tests | 31 March 2022, 22:47:00 UTC |
05c8cf5 | Julien Marrec | 31 March 2022, 14:51:48 UTC | Lint: use automated tooling to reformat C++ and CMakeLists files (#2103) * Add initial clang tidy / clang format config files * Clang format the entire codebase ``` find ./src -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./include -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./Web -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./dev -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./wrappers -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none ``` * Add a .cmake-format file and reformat CmakeLists.txt with it https://github.com/cheshirekow/cmake_format * Add a clang-format workflow only runs on PRs, only on touched files | 31 March 2022, 14:51:48 UTC |
3b8ed97 | Julien Marrec | 31 March 2022, 14:16:34 UTC | Github Actions: add shared library and doxygen workflows. (#2098) * First try at building shared library * Rename artifact for clarity instead of putting them all in the same * Add a doxygen worklow * Extract version from CMakeLists to name the artifacts * move the extract version bit to a script in dev/ so I can reuse for documentation too * Disable fail-fast, and don't use fstrings in extract_version.py (mac has a too old python by default, and I don't want to call setuppython actions) * Mac still picks up a too old python, whatever: just setup any 3.x (it's cached, so quick) * First try for a Windows Installer package * forgot to create the build dir * forgot build type * Try to re-enable catch2 tests * adjust * Leave the coolprop catch2 tests in a separate workflow, since many are currently failing | 31 March 2022, 14:16:34 UTC |
1ae9285 | Julien Marrec | 31 March 2022, 14:12:02 UTC | Add a cppcheck workflow (#2106) | 31 March 2022, 14:12:02 UTC |
149a40d | Julien Marrec | 31 March 2022, 13:26:31 UTC | Add github action to build python wheels (including python 3.9 and 3.10) (#2097) * Fix build error: `src/Backends/IF97/IF97Backend.h:54:34: error: call of overloaded ‘abs(double)’ is ambiguous` Found with the manylinux_2_24_x86_64 gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 * Register MSVC 2019 and 2022 in setup.py * setup.py: when calling cmake, build in parallel * Enable using Env variables instead of passing them as args to setup.py * Github actions for linux: try 1 * use actions/checkout@v3 for submodules * mod setup.py:; typo * Random shot for cibuildwheel for all platforms * I thought package_dir was a flag, but it's positional * typo in cmake_compiler * add cython to setup_requires * try a pryproject.toml to install cython * try more requirements? * pywin32 only found on win32 I guess * Try with CIBW_BEFORE_BUILD instead * try to enable msvc via vcvarsall on windows, and pass MACOSX_DEPLOYMENT_TARGET * more tweaks for windoze * disable tests for now (fails on windows) * tweak mac again: it seems mac doesn't understand a C++ lambda, so like it's using pre C++11 * tweak * try 10.15 for mac... * try to force C++11 since mac picks up the path where lambdas are used... * Move back down to 10.9 now that C++11 is enabled and it works on mac, it should be enough * Try to debug win32 * Enable part of the upload step (minus the upload) to list the wheels * try to allow win32 to fail for now (instead of plain disabling) * Disable the python_linux.yml workflow, so cibuildwheels works fine. * Adjust the upload step to point to the right folder * make LGTM python happy | 31 March 2022, 13:26:31 UTC |
072f828 | friederikeboehm | 24 March 2022, 21:58:35 UTC | Fix Rcomponent in calc_alpha0_deriv_nocache (#2101) | 24 March 2022, 21:58:35 UTC |
381c853 | Ian Bell | 08 February 2022, 06:20:44 UTC | Update the Javascript tooling | 08 February 2022, 06:21:03 UTC |
5b8496f | friederikeboehm | 03 February 2022, 00:04:51 UTC | Add functions to CoolPropLib (#2084) Add functions to CoolPropLib: AbstractState_get_mole_fractions and AbstractState_fluid_names | 03 February 2022, 00:04:51 UTC |
339a7ac | David Contreras | 13 January 2022, 04:08:54 UTC | Included CoolPropJavascriptDemo (#2076) Included an example that manages units and other mathematical functions with mathjs | 13 January 2022, 04:08:54 UTC |
77f3bde | Ian Bell | 08 January 2022, 23:28:50 UTC | Fix PHI0 delta derivatives for REFPROP backend. Closes #2073 | 08 January 2022, 23:29:20 UTC |
71a8227 | Vladimir Portyanikhin | 07 November 2021, 16:58:57 UTC | Updated info for the C# Wrapper (#2062) Updated info about 3-party wrapper (SharpProp) | 07 November 2021, 16:58:57 UTC |
9500f4d | Jeff Henning | 03 November 2021, 18:34:45 UTC | Merge pull request #2058 from henningjp/IF97-QPatch IF97 Backend Q and Phase Patch | 03 November 2021, 18:34:45 UTC |