Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
1276a39
fix(future): stream must call asynchronous
timsar2 Jun 3, 2024
aa1fb81
fix(permissions): add some permissions
timsar2 Jun 4, 2024
d30bbe3
fix(dependency): carp_background_location is depend on background_loc…
timsar2 Jun 4, 2024
41e629f
fix(nullSafety): can not compare null with zero
timsar2 Jun 4, 2024
b9dc823
fix(permissions): ask user for Activity Recognition permission
timsar2 Jun 4, 2024
8747075
Fix behavior when calling unimplemented method channel API on iOS (#998)
bps-takumaodaki Jul 24, 2024
15cc5a3
feat: add exception when reading from HC (#981)
thegamenicorus Jul 25, 2024
8079eaf
feat: manual entry filter for getTotalStepsInInterval (#980)
thegamenicorus Jul 25, 2024
0bc7bfb
[Android] Health Connect: Add revokeAllPermissions() (#962)
chuanpham Jul 25, 2024
dc2eed8
Add insulinDelivery support for iOS (#675)
biklas7 Jul 26, 2024
a10f559
Merge pull request #971 from timsar2/master
bardram Jul 29, 2024
8f744bd
[Health] Expand Micro Nutrient Support (#983)
davidpryor Jul 30, 2024
a77408b
Build Gradle: Add namespace (#1002)
mikeb2k Jul 30, 2024
815fc6f
[screen_state] iOS support and renewal of the native example apps (#901)
luansilva-tokenlab Jul 30, 2024
7060055
[screen_state] Update changelog and README for release
SlimShadyIAm Jul 31, 2024
0a0622e
merge of PR #971 + fix of a lot of linter + docs issues
bardram Jul 31, 2024
745356b
Merge pull request #1007 from cph-cachet/bardram/mobility-pedometer-pr
bardram Jul 31, 2024
e6b493e
pedometer 4.0.2 published
bardram Jul 31, 2024
09d1802
[Health] Add menstruation flow data from Health Connect and HealthKit…
SlimShadyIAm Aug 6, 2024
4433981
[Health] Add heart rate variability support for Health Connect (#1009)
SlimShadyIAm Aug 6, 2024
e3a4530
Remove duplicate lines in README
SlimShadyIAm Aug 6, 2024
310d13d
[HEALTH]: Add default activity type when there is no match (#1016)
PawelBijok Aug 9, 2024
e076c8e
[Health]: Remove Google Fit support (#1014)
SlimShadyIAm Aug 22, 2024
d1a8912
[Health] Combine certain workout types for consistency across iOS and…
SlimShadyIAm Aug 22, 2024
b70d1d7
Update README.md
Panosfunk Aug 27, 2024
4b19432
[Health] Add UUID field to `HealthDataPoint` (#1019)
SlimShadyIAm Aug 29, 2024
c41ea48
[Health] Remove references to deprecated v1 Android embeddings (#1021)
SlimShadyIAm Aug 30, 2024
ce4d444
[Health]: Improve support for `RecordingMethod` on Health Connect and…
SlimShadyIAm Aug 30, 2024
2fb639d
[Health] improve support for sleep stages (#1026)
SlimShadyIAm Aug 30, 2024
5eb2708
Add support for atrial fibrillation on iOS (#1031)
SlimShadyIAm Aug 30, 2024
a57e5dd
[Health] Update changelog and bump version for relase
SlimShadyIAm Aug 30, 2024
783bfba
Add checks for Health Connect availability on Android when configurin…
SlimShadyIAm Sep 19, 2024
09d3cdf
Make naming more clear
SlimShadyIAm Sep 19, 2024
ee231bd
More gracefull error handling (less trowing) and update to demo app a…
bardram Sep 20, 2024
f0e8bf9
Type-safe JSON deserialization using carp_serializable v. 2.0
bardram Sep 23, 2024
27ac35d
Update pubspec.yaml
bardram Sep 23, 2024
d586552
Merge pull request #1048 from cph-cachet/fix/check-hc-availability
bardram Sep 23, 2024
0b89660
Register WorkoutHealthValue
avargas-btf Sep 25, 2024
e51bcab
mobility_features 6.0.0
bardram Sep 26, 2024
e01f132
Merge pull request #1053 from cph-cachet/bardram/mobility-features-up…
bardram Sep 26, 2024
75d0b03
Remove automatically added workout permissions
ciriousjoker Oct 5, 2024
22f3587
Add check flag for permission to prevent multiple requests
iarata Oct 30, 2024
09a55e4
Bump version to 11.1.1 and update CHANGELOG for issue #1059 fix
iarata Oct 30, 2024
bf42980
Replace issue template with issue forms (#1070)
iarata Nov 6, 2024
d85f7d0
Delete .github/ISSUE_TEMPLATE/bugfix.md
iarata Nov 6, 2024
1f58000
Update bugfix.yml
iarata Nov 6, 2024
0ea4e7b
Update bugfix.yml
iarata Nov 6, 2024
2009d03
Fix `HealthDataType was not aligned correctly` when adding SLEEP_LIGH…
sla-000 Nov 23, 2024
0c6aadf
ignore sdkman env
iarata Nov 25, 2024
603c0f9
Merge pull request #1 from iarata/health-12/example-update
iarata Nov 25, 2024
0284846
Update AppDelegate.swift to use @main instead of @UIApplicationMain
iarata Nov 26, 2024
bc9f07c
Comment out ECG-related HealthDataTypes in util.dart since iOS will t…
iarata Nov 27, 2024
19aa01d
Refactor HealthApp widget and improve debug output formatting
iarata Nov 27, 2024
51bd9a6
Merge pull request #2 from iarata/health-12/example-update
iarata Nov 27, 2024
5e39721
Health data query to use HKStatisticsCollectionQuery instead of HKSta…
iarata Nov 28, 2024
8aa68c4
Merge pull request #3 from iarata/health-12/1072-HKStats
iarata Nov 28, 2024
3784963
Merge pull request #1069 from iarata/health-crash-fix
iarata Nov 28, 2024
c542556
fixed hasPermissions call. If types have permissions result should be…
ifuterman Dec 4, 2024
cb26018
Updated device_info_plus version dependency
Dec 11, 2024
c52e21b
Merge branch 'cph-cachet:master' into master
arodriguez1996 Dec 12, 2024
079de1b
[Health] Add lean mass data type
cachapa Nov 12, 2024
8950271
Add missing conversion from LeanMassRecord
cachapa Nov 14, 2024
aebf515
Fix wrong field name in Android
cachapa Nov 15, 2024
26c15b6
Fix wrong type name in iOS
cachapa Nov 15, 2024
a0de7bd
Fix weight type
cachapa Nov 16, 2024
d198e10
Merge pull request #1100 from iarata/health-12
iarata Dec 18, 2024
2578bc2
remove non-null check for name
andnlv Dec 25, 2024
988cce8
Deleting entries only selects own entries
bernd70 Dec 28, 2024
c1ddc2c
Undid whitespace changes
bernd70 Dec 28, 2024
5a605c5
Merge pull request #1104 from bernd70/master
iarata Jan 3, 2025
d107e95
Merge pull request #1105 from cph-cachet/health-12/1104-ios-deletes
iarata Jan 4, 2025
289646b
Update CHANGELOG for version 12.0.0
iarata Jan 4, 2025
dcdba9e
Update dependencies: intl to ^0.20.1, device_info_plus to ^11.2.0, an…
iarata Jan 4, 2025
22102f4
Merge pull request #1106 from cph-cachet/health-12/1092-update-intl
iarata Jan 4, 2025
97ad00d
Merge pull request #1103 from andnlv/master
iarata Jan 4, 2025
dd5d5f9
Fix null handling for record name in HealthPlugin
iarata Jan 5, 2025
1feba56
Merge pull request #1107 from cph-cachet/health-12/950-nullpoint
iarata Jan 5, 2025
7a98254
Update CHANGELOG.md to include fixes for issues #950 and #1104
iarata Jan 5, 2025
45edda0
Merge branch 'iarata/health-12' into add_lean_mass
iarata Jan 5, 2025
d138c26
Merge pull request #1097 from cachapa/add_lean_mass
iarata Jan 5, 2025
f9e86e8
Add lean body mass data type and permissions; update example app
iarata Jan 5, 2025
b6a9a4f
Update CHANGELOG.md with AndroidManifest permissions for LEAN_BODY_MASS
iarata Jan 5, 2025
54b8fbf
Add support for WaterTemperature and UnderwaterDepth data types and U…
iarata Jan 6, 2025
4017e03
Merge pull request #1109 from cph-cachet/health-12/1096-underwater-di…
iarata Jan 6, 2025
7a4d121
Merge branch 'iarata/health-12' into health-12/1097-lean-mass
iarata Jan 6, 2025
ecd36d4
Update build for LEAN_BODY_MASS data type
iarata Jan 6, 2025
36ccf84
Merge pull request #1108 from cph-cachet/health-12/1097-lean-mass Clo…
iarata Jan 6, 2025
b6f53e1
Merge branch 'health-12/1095-update-device-info' into master
iarata Jan 7, 2025
10df626
Merge pull request #1095 from PeteRyo0517/master
iarata Jan 7, 2025
574f2de
Merge pull request #1110 from cph-cachet/health-12/1095-update-device…
iarata Jan 7, 2025
478a312
Merge pull request #1091 from ifuterman/master
iarata Jan 7, 2025
a1ee70e
Update CHANGELOG.md to include fixes for issues #1047 and #939
iarata Jan 7, 2025
a364d98
Merge pull request #1111 from cph-cachet/health-12/1091-hasPermission
iarata Jan 7, 2025
d659be9
Merge pull request #1055 from dieringe/dieringe_health_11.1.0
iarata Jan 7, 2025
80af770
chore: update CHANGELOG.md for breaking change in permission requests…
iarata Jan 7, 2025
c9a634e
Merge pull request #1112 from cph-cachet/health-12/1055-remove-auto-w…
iarata Jan 7, 2025
7a8d800
Merge pull request #1086 from sla-000/patch-1
iarata Jan 7, 2025
86a8fac
chore: update CHANGELOG.md to include fix for SLEEP_LIGHT type alignm…
iarata Jan 7, 2025
35cd46c
feat: refactor Health class to remove singleton pattern and enable de…
iarata Jan 9, 2025
8b34d36
test: clean up health_test.dart
iarata Jan 9, 2025
65c43fc
Merge pull request #1052 from arodriguez1996/master
iarata Jan 9, 2025
87745f3
chore: update CHANGELOG.md to include fix for issue #1051
iarata Jan 9, 2025
44aae2c
Merge pull request #1115 from cph-cachet/health-12/1052-workouthealth
iarata Jan 9, 2025
f3fa6f0
Merge branch 'iarata/health-12' into health-12/test
iarata Jan 9, 2025
8f78845
chore: update CHANGELOG.md
iarata Jan 9, 2025
90d9502
chore: update CHANGELOG.md
iarata Jan 9, 2025
028b74b
chore: update CHANGELOG.md
iarata Jan 9, 2025
594322e
Merge pull request #1114 from cph-cachet/health-12/test
bardram Jan 15, 2025
ff95530
Update LICENSE
bardram Jan 15, 2025
7c33275
Small updates to documentation and improving on pub.dev scores
bardram Jan 15, 2025
fcac28a
Merge pull request #1117 from cph-cachet/iarata/health-12
bardram Jan 15, 2025
5d8b1b3
pubspect to 12.0.0
bardram Jan 15, 2025
65f9368
fix of #1118 and update to README doc
bardram Jan 16, 2025
f1f4ee0
Merge pull request #1119 from cph-cachet/bardram/helth-docs
bardram Jan 16, 2025
c82d1d5
Merge branch 'master' into getHealth12.0.1
dmarttila Jan 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions .github/ISSUE_TEMPLATE/bugfix.md

This file was deleted.

145 changes: 145 additions & 0 deletions .github/ISSUE_TEMPLATE/bugfix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: 🐞 Bug fix
description: Create a report to help us improve any bug you may experience.
title: "[<plugin> <version>] a brief, descriptive title for the bug"
labels: ["bugfix"]
assignees: []
body:
- type: markdown
attributes:
value: |
## Bug Report Details
Please fill in the information below to help us understand and fix the bug.

- type: dropdown
id: plugin
attributes:
label: Plugin Name
description: Select the plugin that has the bug
options:
- screen_state
- light
- pedometer
- noise_meter
- app_usage
- weather
- air_quality
- notifications
- movisens_flutter
- esense_flutter
- health
- activity_recognition
- audio_streamer
- mobility_features
- carp_background_location
- flutter_foreground_service
validations:
required: true

- type: input
id: version
attributes:
label: Plugin Version
description: What version of the plugin are you using?
placeholder: "e.g. 2.4.1"
validations:
required: true

- type: markdown
attributes:
value: |
### Device / Emulator and OS Information
Please provide information for each device/emulator where you experience this bug.

**Note:**
- For iOS, only the latest OS is supported
- For Android, see [the OS versions for which Google support security fixes](https://en.wikipedia.org/wiki/Android_version_history)
- Bugs pertaining to old devices/OS versions will likely not be fixed.

- type: input
id: device
attributes:
label: Device
description: What device are you using?
placeholder: "e.g. iPhone 6s"
validations:
required: true

- type: input
id: os
attributes:
label: Operating System
description: What OS version is installed?
placeholder: "e.g. iOS 13.1"
validations:
required: true

- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: reproduction-steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this issue?
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: What did you expect to happen?
validations:
required: true

- type: textarea
id: actual-behavior
attributes:
label: Actual Behavior
description: What actually happened? Include stack traces and exception print-outs.
validations:
required: true

- type: textarea
id: flutter-logs
attributes:
label: Flutter Logs
description: Add flutter logs in here.
render: shell
validations:
required: false

- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
validations:
required: false

- type: textarea
id: flutter-doctor
attributes:
label: Flutter Doctor Output
description: Please run `flutter doctor` and paste the output here.
render: shell
validations:
required: true

- type: textarea
id: additional-info
attributes:
label: Additional Information
description: Add any other relevant information about the problem here.
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,5 @@ app.*.symbols
!/dev/ci/**/Gemfile.lock
packages/app_usage/example/.flutter-plugins-dependencies
packages/app_usage/example/.flutter-plugins-dependencies

.sdkmanrc
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ These are the available plugins in this repository.

| Plugin | Description | Android | iOS | http://pub.dev/ |
|--------|-------------|:-------:|:---:|:---------:|
| [screen_state](./packages/screen_state) | Track screen state changes | ✔️ | | [![pub package](https://img.shields.io/pub/v/screen_state.svg)](https://pub.dartlang.org/packages/screen_state) |
| [screen_state](./packages/screen_state) | Track screen state changes | ✔️ | ✔️ | [![pub package](https://img.shields.io/pub/v/screen_state.svg)](https://pub.dartlang.org/packages/screen_state) |
| [light](./packages/light) | Track light sensor readings | ✔️ | ❌ | [![pub package](https://img.shields.io/pub/v/light.svg)](https://pub.dartlang.org/packages/light) |
| [pedometer](./packages/pedometer) | Track step count | ✔️ | ✔️ | [![pub package](https://img.shields.io/pub/v/pedometer.svg)](https://pub.dartlang.org/packages/pedometer) |
| [noise_meter](./packages/noise_meter) | Read noise level in Decibel | ✔️ | ✔️ | [![pub package](https://img.shields.io/pub/v/noise_meter.svg)](https://pub.dartlang.org/packages/noise_meter) |
Expand Down
2 changes: 1 addition & 1 deletion packages/app_usage/example/.flutter-plugins-dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[],"android":[{"name":"app_usage","path":"/Users/hoffmatteo/Desktop/CACHET/flutter-plugins/packages/app_usage/","native_build":true,"dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"app_usage","dependencies":[]}],"date_created":"2023-07-20 21:35:52.362642","version":"3.10.5"}
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[],"android":[{"name":"app_usage","path":"/Users/arata/Developer/carp/flutter-plugins/packages/app_usage/","native_build":true,"dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"app_usage","dependencies":[]}],"date_created":"2024-10-30 13:38:21.146381","version":"3.24.3","swift_package_manager_enabled":false}
73 changes: 73 additions & 0 deletions packages/health/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,76 @@
## 12.0.1

* Update of API and README doc
* Fix [#1118](https://github.com/cph-cachet/flutter-plugins/issues/1118)

## 12.0.0

* **BREAKING** This release introduces a significant architectural change to the `health` plugin by removing the `singleton` pattern.
* **Dependency Injection for `DeviceInfoPlugin`**:
* The `Health` class is no longer a singleton.
* The `Health()` factory constructor is removed.
* The `Health` class now accepts an (optional) `DeviceInfoPlugin` dependency through its constructor, this change was introduced to provide easy mocking of the `DeviceInfo` class during unit tests.
* This architectural change means that, for the application to work correctly, the `Health` class *MUST* be initialized correctly as a global instance.
* **Impact**:
* For most users, **no immediate code changes are required** but it is paramount to initialize the `Health` class as a global instance (i.e. do not call `Health()` every time but rather define an instance `final health = Health();`).
* **BREAKING** (Android) Remove automatic permission request of `DISTANCE_DELTA` and `TOTAL_CALORIES_BURNED` data types when requesting permission for `WORKOUT` health data type.
* For `WORKOUT`s that require above permissions, now those need to be requested manually.
* Fix [#984](https://github.com/cph-cachet/flutter-plugins/issues/984) - PR [#1055](https://github.com/cph-cachet/flutter-plugins/pull/1055)
* Add `LEAN_BODY_MASS` data type [#1078](https://github.com/cph-cachet/flutter-plugins/issues/1078) - PR [#1097](https://github.com/cph-cachet/flutter-plugins/pull/1097)
* The following AndroidManifest values are required to READ/WRITE `LEAN_BODY_MASS`:

```XML
<uses-permission android:name="android.permission.health.READ_LEAN_BODY_MASS"/>
<uses-permission android:name="android.permission.health.WRITE_LEAN_BODY_MASS"/>
```

* iOS: Add `WATER_TEMPERATURE` and `UNDERWATER_DEPTH` health values [#1096](https://github.com/cph-cachet/flutter-plugins/issues/1096)
* iOS: Add support for `Underwater Diving` workout [#1096](https://github.com/cph-cachet/flutter-plugins/issues/1096)
* Fix [#1072](https://github.com/cph-cachet/flutter-plugins/issues/1072) and [#1074](https://github.com/cph-cachet/flutter-plugins/issues/1074)
* Fix issue where iOS delete not deleting own records - PR [#1104](https://github.com/cph-cachet/flutter-plugins/pull/1104)
* Fix [#950](https://github.com/cph-cachet/flutter-plugins/issues/950) - PR [#1103](https://github.com/cph-cachet/flutter-plugins/pull/1103)
* Fix [#1047](https://github.com/cph-cachet/flutter-plugins/issues/1047) and [#939](https://github.com/cph-cachet/flutter-plugins/issues/939) - PR [#1091](https://github.com/cph-cachet/flutter-plugins/pull/1091)
* Fix issue where `SLEEP_LIGHT` type was not aligned correctly - PR [#1086](https://github.com/cph-cachet/flutter-plugins/pull/1086)
* Fix [#1051](https://github.com/cph-cachet/flutter-plugins/issues/1051) - PR [#1052](https://github.com/cph-cachet/flutter-plugins/pull/1052)
* Updated `intl` to ^0.20.1 [#1092](https://github.com/cph-cachet/flutter-plugins/issues/1092)
* Updated `device_info_plus` to ^11.2.0
* Example app: Updated `permission_handler` to ^11.3.1

## 11.1.1

* Fix of [#1059](https://github.com/cph-cachet/flutter-plugins/issues/1059)

## 11.1.0

* Fix of [#1043](https://github.com/cph-cachet/flutter-plugins/issues/1043)
* Type-safe JSON deserialization using carp_serializable v. 2.0

## 11.0.0

* **BREAKING** Remove Google Fit support in the Android code, as well as Google FIt related dependencies and references throughout the documentation
* Remove `useHealthConnectIfAvailable` from the parameters of `Health().configure()`
* Remove the `disconnect` method which was previously used to disconnect from Google Fit.
* Remove the `flowRate` value from `writeBloodOxygen` as this is not supported by Health Connect.
* Remove support for various `HealthWorkoutActivityType`s which were supported by Google Fit. Some of these do not have suitable alternatives in Google Health Connect (and are not supported on iOS). The list of removed types can be found in PR [#1014](https://github.com/cph-cachet/flutter-plugins/pull/1014)
* **BREAKING** introduce a new `RecordingMethod` enum
* This can be used to filter records by automatic or manual entries when fetching data
* You can also specify the recording method to write in the metadata
* Remove `isManualEntry` from `HealthDataPoint` in favor of `recordingMethod`, of which the value is an enum `RecordingMethod`
* Remove `includeManualEntry` (previously a boolean) from some of the querying methods in favor of `recordingMethodsToFilter`.
* For complete details on relevant changes, see the description of PR [#1023](https://github.com/cph-cachet/flutter-plugins/pull/1023)
* Add support for all sleep stages across iOS and Android
* Clean up relevant documentation
* Remove undocumented sleep stages
* **BREAKING** certain sleep stages were removed/combined into other related stages see PR [#1026](https://github.com/cph-cachet/flutter-plugins/pull/1026) for the complete list of changes and a discussion of the motivation in issue [#985](https://github.com/cph-cachet/flutter-plugins/issues/985)
* Android: Add support for `OTHER` workout type
* Cleaned up workout activity types for consistency across iOS and Android, see PR [#1020](https://github.com/cph-cachet/flutter-plugins/pull/1020) for a complete list of changes
* iOS: add support for menstruation flow, PR [#1008](https://github.com/cph-cachet/flutter-plugins/pull/1008)
* Android: Add support for heart rate variability, PR [#1009](https://github.com/cph-cachet/flutter-plugins/pull/1009)
* iOS: add support for atrial fibrillation burden, PR [#1031](https://github.com/cph-cachet/flutter-plugins/pull/1031)
* Add support for UUIDs in health records for both HealthKit and Health Connect, PR [#1019](https://github.com/cph-cachet/flutter-plugins/pull/1019)
* Fix an issue when querying workouts, the native code could respond with an activity that is not supported in the Health package, causing an error - this will fallback to `HealthWorkoutActivityType.other` - PR [#1016](https://github.com/cph-cachet/flutter-plugins/pull/1016)
* Remove deprecated Android v1 embeddings, PR [#1021](https://github.com/cph-cachet/flutter-plugins/pull/1021)

## 10.2.0

* Using named parameters in most methods for consistency.
Expand Down
16 changes: 4 additions & 12 deletions packages/health/LICENSE
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
MIT License.

Copyright 2019 Copenhagen Center for Health Technology (CACHET) at the Technical University of Denmark (DTU).
Copyright 2020 the Technical University of Denmark (DTU).

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:
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 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.
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.
Loading
Loading